#!/bin/bash # m5-pi-ruflo — Bridge entre Pi Agent e Ruflo # Permite ao Pi consultar/atualizar tasks, memory e vault # # Uso: # m5-pi-ruflo task list — listar tasks pendentes # m5-pi-ruflo task create "desc" — criar task # m5-pi-ruflo memory search "query" — buscar na memória # m5-pi-ruflo memory store KEY VAL — armazenar na memória # m5-pi-ruflo vault read FILE — ler arquivo do vault # m5-pi-ruflo vault update FILE — atualizar arquivo do vault (usa stdin) # m5-pi-ruflo vault list — listar docs do vault # m5-pi-ruflo sync — executar m5-vault-sync # m5-pi-ruflo status — status geral PROJECT="/root/ecommerce" VAULT="$PROJECT/vault/ecommerce-kb" case "$1" in task) case "$2" in list) cd "$PROJECT" && ruflo task list 2>/dev/null | grep -v "Loading\|ONNX\|embedder" ;; create) shift 2 cd "$PROJECT" && ruflo task create -t implementation -d "$*" -p normal 2>/dev/null | grep -v "Loading\|ONNX\|embedder" ;; *) echo "Uso: m5-pi-ruflo task {list|create \"desc\"}" ;; esac ;; memory) case "$2" in search) shift 2 cd "$PROJECT" && ruflo memory search "$*" 2>/dev/null | grep -v "Loading\|ONNX\|embedder" ;; store) KEY="$3" shift 3 cd "$PROJECT" && ruflo memory store -k "$KEY" --value "$*" 2>/dev/null | grep -v "Loading\|ONNX\|embedder" ;; list) cd "$PROJECT" && ruflo memory list 2>/dev/null | grep -v "Loading\|ONNX\|embedder" ;; *) echo "Uso: m5-pi-ruflo memory {search \"query\"|store KEY VAL|list}" ;; esac ;; vault) case "$2" in read) FILE="$3" if [ -f "$VAULT/$FILE" ]; then cat "$VAULT/$FILE" elif [ -f "$VAULT/$FILE.md" ]; then cat "$VAULT/$FILE.md" else echo "❌ Arquivo não encontrado: $FILE" echo "Disponíveis:" ls "$VAULT"/*.md 2>/dev/null | xargs -I{} basename {} fi ;; update) FILE="$3" if [ -z "$FILE" ]; then echo "Uso: m5-pi-ruflo vault update FILENAME (conteúdo via stdin)" exit 1 fi TARGET="$VAULT/$FILE" [ "${FILE%.md}" = "$FILE" ] && TARGET="$VAULT/$FILE.md" cat > "$TARGET" echo "✅ Atualizado: $TARGET" ;; list) echo "Documentos no vault ($VAULT):" ls "$VAULT"/*.md 2>/dev/null | xargs -I{} basename {} | sort ;; *) echo "Uso: m5-pi-ruflo vault {read FILE|update FILE|list}" ;; esac ;; sync) m5-vault-sync ;; status) echo "=== M5 Ruflo Status ===" echo "Project: $PROJECT" echo "Vault: $VAULT" cd "$PROJECT" && ruflo status 2>/dev/null | grep -v "Loading\|ONNX\|embedder" ;; *) echo "m5-pi-ruflo — Bridge Pi Agent ↔ Ruflo" echo "" echo "Comandos:" echo " task list|create — gerenciar tasks" echo " memory search|store|list — consultar/armazenar memória" echo " vault read|update|list — acessar vault Obsidian" echo " sync — sincronizar vault → ruflo" echo " status — status geral" ;; esac