chat start
chat start öffnet eine neue Konversation und führt sie als interaktive Schleife: Du tippst eine Frage, Apparat streamt die Antwort Wort für Wort, anschließend kommt der nächste Prompt. Eine leere Eingabe (nur Enter) schließt die Konversation.
Wofür ist das?
- Eine Recherche-Sitzung beginnen. Du willst dich mit einer offenen Frage durch den Vault tasten und Folgefragen stellen, ohne dass du jeden Turn separat abschickst.
- Einen neuen Dialog ausprobieren.
chat continuebraucht eine bestehende Konversation;chat startist der Einstieg. - Den Dialog kuratieren wollen. Wenn die letzte Antwort fachlich gut wurde, liefert
chat synthesizesie als eigenständige Notiz in den Vault zurück; den ganzen Dialog gibtchat exportalsconversation-Notiz aus.
Aufruf
apparat chat start apparat chat start --vault=demo apparat chat start -v
| Option | Bedeutung |
|---|---|
| `--vault=<name | path |
-v, --verbose |
Werkzeug-Returns als [tool: <name> → ok] anzeigen und nach jedem Turn einen [tokens: prompt=<n>, response=<m>]-Footer ausgeben. |
Braucht einen interaktiven Terminal — --no-interaction ist hier ohne Sinn. Für Skripte und Pipes ist chat ask das richtige Werkzeug.
Verlauf einer Sitzung
$ apparat chat start --vault=demo ┌ You ────────────────────────────────────────────── │ Welche Personen kennt der Vault? └───────────────────────────────────────────────────── Conversation: V1StGXAA [tool: list_entities_by_type] Im Vault sind aktuell zehn Personen erfasst, darunter [Maria Beispiel](./2024-02-14--maria-beispiel--V1StGXAA.md), [Anna Schmidt](./2024-03-02--anna-schmidt--Bx7tYu3v.md) … ┌ You ────────────────────────────────────────────── │ Was hat Maria mit WCAG zu tun? └───────────────────────────────────────────────────── [tool: read_entity] [tool: graph_path] Maria Beispiel ist über das Projekt … ┌ You ────────────────────────────────────────────── │ └───────────────────────────────────────────────────── ✅ Conversation closed.
Die NanoID der Konversation (V1StGXAA) erscheint einmalig nach dem ersten echten Turn — du kannst dir diese ID notieren und die Konversation später mit chat continue wieder aufmachen. Wenn du den ersten Prompt direkt mit Enter schließt, wird keine leere Konversations-Hülle angelegt.
Zitate werden im Stream live aufgelöst: nennt die Antwort eine Entität, erscheint im Terminal ein Markdown-Link der Form [Titel](./<dateiname>.md). Im Plain-Terminal ist das Literal-Text (genauso wie die **Fettung** aus Modellantworten); ein nachgeschalteter Markdown-Renderer (mdcat, bat -l md) oder der Chat der Web-Oberfläche macht daraus einen klickbaren Link auf die Datei. Dieselbe Form landet auch nach chat synthesize und chat export in der Vault-Notiz — was du hier siehst, ist byte-identisch zu dem, was später auf der Platte steht. Eine NanoID, die im Vault keiner Datei mehr entspricht, bleibt als roher [Titel](nano_id)-Link sichtbar, damit kaputte Verweise nicht verschwinden.
Was Apparat im Hintergrund tut
Beim ersten echten Turn baut Apparat einen System-Prompt zusammen, der dem Sprachmodell den Vault-Kontext gibt — Anzahl der Entitäten, häufigste Typen, dominante Sprache(n), die Verhaltensregeln und die Beschreibung der verfügbaren Werkzeuge. Dieser Snapshot wird eingefroren und ändert sich über die Lebensdauer der Konversation nicht. Auch das Modell, mit dem die Konversation startet, bleibt erhalten — wenn du APPARAT_LLM_MODEL zwischendrin umstellst, wirkt das erst in einer neuen Konversation.
Während der Antwortgenerierung darf das Modell auf eine kleine Werkzeugpalette zurückgreifen (siehe Übersicht) — Suche, Lesen einer Notiz, Beziehungen, Pfade, Lücken. Welches Werkzeug es einsetzt, entscheidet es selbst; alles, was es tut, ist nur lesend.
Direkt nach der ersten Antwort vergibt Apparat in einem zweiten, kurzen Sprachmodell-Pass automatisch einen Titel für die Konversation, der in chat list erscheint. Der Pass läuft synchron im Anschluss an den Stream und bleibt unsichtbar; schlägt er fehl, bleibt der Titel leer und chat retitle holt das Naming jederzeit nach.
Voraussetzungen
- Lokaler Sprachmodell-Dienst läuft und das konfigurierte Modell ist gepullt —
chat pingbestätigt beides. - Graph- und Vektor-Index sind aktuell —
graph rebuildundvector rebuild. Ohne sie sind die Werkzeuge ausgehungert.
chat start wird vom apparat-Wrapper transparent in den Container delegiert (Sprachmodell läuft dort).
Exit-Codes
| Code | Bedeutung |
|---|---|
| 0 | Du hast die Konversation mit einem leeren Prompt sauber geschlossen. |
| 1 | Vault-Auflösung fehlgeschlagen, das Kommando wurde ohne interaktiven Terminal aufgerufen, oder ein Turn ist im Streaming-Pfad fehlgeschlagen. |
Verwandt
chat continue— eine bestehende Konversation interaktiv fortsetzen.chat ask— Single-Shot-Variante für Skripte; gleiche Engine, kein Prompt-Loop.chat list— Konversationen des Vaults nach jüngster Aktivität sortieren.chat synthesize— eine Antwort als eigenständige Notiz in den Vault übernehmen.