Zum Inhalt springen

Conductor-Referenz

CLI-Verben, JSON-RPC-Methoden, Felder, Events, Konfigurationsschlüssel und Exit-Codes der Paneflow Conductor Steuerungsebene.

Diese Seite ist die kompakte Referenz für Conductor. Sie benennt die öffentliche Oberfläche und die Felder, auf die sich ein Skript oder LLM verlassen kann.

CLI-Verben

VerbPrimäre MethodeNutzung
ps [--json]fleet.listErkannte Agents über Workspaces listen
status <target> [--json]surface.statusAgent-Status einer Pane lesen
watch [--surface <sel>] [--type <event>]events.subscribeLifecycle-Events und Surface-Änderungen streamen
read <target>surface.readPane-Scrollback lesen
send <target> <text>surface.send_textText in einer Pane vorbereiten oder absenden
wait --match <sel>surface.read, Eventstream im Idle-ModusBis Idle-State, Regex oder beidem blockieren
up <file>Workspace-OrchestrierungDeklarativen Agent-Workspace erstellen
flow run <file>Flow-OrchestrierungMulti-Agent-Pipeline starten
ls, search, focus, keyScripting-MethodenNiedrigere Pane-Automation nutzen

Leseoperationen sind standardmäßig erlaubt. Schreiboperationen wie send --submit, key und Flow-Schritte, die Text absenden, brauchen den Scripting-Gate oder AI free access.

Selektoren

SelektorBeispielHinweise
Numerische idpaneflow status 42Exakte Pane-Id
Namepaneflow status backendBester Selektor für Conductor-Workflows
cmdline:<substr>paneflow read cmdline:claudeNützlich, aber weniger portabel als ein Pane-Name
cwd:<path>paneflow read cwd:/home/me/appGut für repo-bezogene Skripte

Ein Selektor, der nichts oder mehrere Panes trifft, beendet mit Code 3, außer Befehle erlauben mehrere Treffer ausdrücklich, etwa Broadcast-Sends oder wait --any und wait --all.

fleet.list

paneflow ps --json gibt ein agents Array zurück.

FeldBedeutung
pidAgent-Prozess-ID, oder null für scan-only Erkennung
toolAgent-Familie wie claude, codex, opencode oder gemini
statethinking, waiting_for_input, finished, errored, stalled, idle oder unknown_running
hookedtrue, wenn Paneflow Lifecycle-Hook-Events empfängt
reasonErkennungsgrund, inklusive no_hook für nicht gehookte Prozesse
surface_idPane-Id, wenn aufgelöst
surface_namePane-Name, wenn vorhanden
workspaceWorkspace-Index
active_tool_nameAktuell laufendes Tool im Agent, wenn gemeldet
messageWartende Frage oder Permission-Text, wenn gemeldet
last_resultZusammenfassung des letzten Turns, wenn der Hook sie liefert
waiting_msMillisekunden in Wartezustand
idle_msMillisekunden seit der letzten beobachteten Aktivität

Eine leere Flotte ist {"agents":[]} mit Exit-Code 0.

surface.status

paneflow status <target> --json gibt einen Pane-Status zurück.

FeldBedeutung
surface_idPane-Id
stateDieselbe State-Vokabel wie fleet.list
hookedOb Lifecycle-Tracking aktiv ist
toolAgent-Familie, wenn erkannt
active_tool_nameAktuell laufendes Tool, wenn gemeldet
messageWartende Frage oder Permission-Text, wenn gemeldet
last_resultZusammenfassung des letzten Turns, wenn verfügbar
waiting_msMillisekunden in Wartezustand
idle_msMillisekunden seit der letzten beobachteten Aktivität
output_generationMonotoner Zähler, der bei Pane-Ausgabe fortschreitet

Eine Pane ohne aktiven Agent gibt einen Idle-State statt eines Fehlers zurück.

surface.read

paneflow read <target> gibt Terminaltext zurück. Standardmäßig wird Ausgabe in <untrusted_terminal_output> verpackt, damit ein LLM sie lesen kann, ohne sie als Anweisung zu behandeln. Nutzen Sie --raw nur für vertrauenswürdige Mensch-Skripte.

Nützliche Felder im JSON-Modus sind text, lines, total_lines, eof und output_generation.

events.subscribe und watch

paneflow watch ist newline-delimited JSON. Es kann ausgeben:

Event-TypBedeutung
ai.session_startEine Agent-Session beginnt
ai.prompt_submitEin Prompt wird gesendet
ai.tool_useDer Agent ruft ein Tool auf
ai.notificationDer Agent stellt eine Frage oder fordert Permission an
ai.stopEin Turn endet
ai.exitDer Agent-Prozess beendet sich
ai.session_endDie Session schließt
surface_changedoutput_generation der Pane ist fortgeschritten

Kontrollframes sind ebenfalls gültig:

FrameBedeutung
subscribedSubscription bestätigt
heartbeatKeepalive-Frame
droppedDer Subscriber lag zurück und Events wurden verworfen

Wenn ein Client dropped erhält, sollte er mit paneflow ps --json oder paneflow status <target> --json resynchronisieren.

wait

wait --idle nutzt den Eventstream, wenn er verfügbar ist, und fällt bei Bedarf sicher zurück. wait --pattern pollt aktuellen Scrollback alle 500 ms und scannt die letzten 500 Zeilen.

ModusBeispielNutzung
Idlepaneflow wait --match reviewer --idle --timeout 600Nach Ende der Agent-Arbeit fortfahren
Patternpaneflow wait --match backend --pattern '^DONE:' --timeout 300Nach einer Sentinel-Zeile fortfahren
Idle plus patternpaneflow wait --match reviewer --idle --pattern '^REPORT_DONE' --timeout 600Stabile Pane und Marker verlangen
Any oder allpaneflow wait --match 'cmdline:claude' --pattern 'tests passed' --allMehrere Panes im Pattern-Modus koordinieren

Timeouts enden mit Code 4.

Konfigurationsschlüssel

SchlüsselStandardBedeutung
ai_unrestrictedfalseErlaubt vertrauenswürdiger KI-Automation das Absenden, wenn aktiv
ai_injection_fencetrueVerpackt Peer-Terminalausgabe als nicht vertrauenswürdigen Text
agent_stall_threshold_secsApp-DefaultMarkiert stille laufende Turns als stalled

Exit-Codes

CodeBedeutung
0Erfolg
1Runtime-Fehler
2CLI-Nutzungsfehler
3Ziel nicht gefunden oder mehrdeutig
4wait Timeout

Verwandte Seiten