3.3 KiB
3.3 KiB
Nexa Command System - #nexa:command
Nexa "hört" auf folgende Kommandos in Memos-Kommentaren oder als Memo-Inhalt mit Hashtag:
🔧 Konfigurations-Kommandos
#nexa:config
- Beschreibung: Triggert Autodiscovery aller Services (Nextcloud, Qdrant, etc.)
- Antwort: Postet Report mit gefundenen Konfigurationen
- Speichert: Settings in DynoDB / Qdrant Metadata (nicht in .env)
#nexa:config
Beispiel-Response:
✅ Autodiscovery abgeschlossen:
- Nextcloud Listen: Work (id=123), Personal (id=456), Shopping (id=789), Wishes (id=1011)
- Qdrant Collection: nexa_knowledge (1536 dims, Cosine)
- Nextcloud Mail: 3 Accounts erkannt (Office 365, Gmail, Privat)
#nexa:status
- Beschreibung: Zeigt den aktuellen System-Status
- Antwort: Uptime, verbundene Systeme, Memory-Stats
#nexa:status
#nexa:sync-obsidian
- Beschreibung: Triggert sofortige Synchronisierung mit Obsidian Vault
- Optional Parameter:
--vault=/path/to/vaultoder--forcefür Neuindexierung
#nexa:sync-obsidian --force
📊 Memory & RAG Kommandos
#nexa:ask [question]
- Beschreibung: Semantische Suche in Qdrant (RAG) basierend auf Obsidian + Memos
- Antwort: Top-3 Treffer mit Quellen
#nexa:ask Wie implementierten wir das JWT-Middleware-Pattern?
#nexa:learn [topic]
- Beschreibung: Explizit neue Information in Qdrant speichern (mit Tags)
- Optional:
--tag=architecture--source=obsidian/notes/arch.md
#nexa:learn Das Routing-Schema unterscheidet Work vs. Personal via SAIA-Kontext-Analyse --tag=architecture
🎯 Workflow-Kommandos
#nexa:route-test [text]
- Beschreibung: Testet die Klassifizierung (Work/Personal) ohne Task zu erstellen
#nexa:route-test Muss morgen die Präsentation für den Client fertigstellen
Response:
💬 Klassifizierung (Test-Mode):
- Kontext: WORK
- Vertrauen: 0.95
- Begründung: "Client-Präsentation → professioneller Kontext"
#nexa:email-digest
- Beschreibung: Triggert sofortige Email-Zusammenfassung (sonst tägl. 7 Uhr)
#nexa:email-digest
🔐 Admin-Kommandos
#nexa:reset-config
- Beschreibung: Löscht gespeicherte Konfiguration, triggert neuen Autodiscovery
- Warnung: Alle benutzerdefinierten Settings werden vergessen
#nexa:reset-config
#nexa:export-state
- Beschreibung: Exportiert aktuellen State als JSON (für Backups)
#nexa:export-state
📝 Implementierung in n8n
Ein Command Parser läuft immer mit:
- Memos Webhook empfängt alle Memos
- Regex Check: Sucht nach
#nexa:command - Router: Versendet an entsprechenden n8n-Workflow
- Antwort: Postet Reply als Kommentar/Edit
Command Parser Regex:
^#nexa:(\w+)(?:\s+([^\n]*?))?(?:$|\s*--)
Extrahiert: [command, parameters]
🎛️ Dynamische Konfigurationsspeicherung
Statt .env zu editieren:
-
First Run:
#nexa:configspeichert zu lokalen Metadata -
Speich-Ziel:
- Primary: Qdrant Metadata (als
_configNamespace) - Fallback:
nexa-core/config/runtime_config.json(gitignored) - Notfall: .env (nur initial)
- Primary: Qdrant Metadata (als
-
Reload-Logik: Bei jedem Workflow-Start werden Settings aus Qdrant geladen
Das macht Nexa vollständig selbstständig nach dem initialem Setup!