Saltar al contenido

Referencia de Conductor

Verbos de CLI, métodos JSON-RPC, campos, eventos, claves de configuración y códigos de salida del plano de control Paneflow Conductor.

Esta página es la referencia compacta de Conductor. Nombra la superficie pública y los campos en los que puede confiar un script o LLM.

Verbos de CLI

VerboMétodo principalUso
ps [--json]fleet.listLista agentes detectados en workspaces
status <target> [--json]surface.statusLee el estado de agente de un panel
watch [--surface <sel>] [--type <event>]events.subscribeTransmite eventos de ciclo de vida y cambios de superficie
read <target>surface.readLee el scrollback de un panel
send <target> <text>surface.send_textPrepara o envía texto a un panel
wait --match <sel>surface.read, stream de eventos en modo idleBloquea hasta estado idle, una regex o ambos
up <file>orquestación de workspaceCrea un workspace declarativo de agentes
flow run <file>orquestación de flowEjecuta un pipeline multi-agente
ls, search, focus, keymétodos de scriptingAutomatización de paneles de menor nivel

Las lecturas están permitidas por defecto. Escrituras como send --submit, key y pasos de flow que envían texto requieren el scripting gate o AI free access.

Selectores

SelectorEjemploNotas
Id numéricopaneflow status 42Id exacto de panel
Nombrepaneflow status backendMejor selector para workflows conductor
cmdline:<substr>paneflow read cmdline:claudeÚtil pero menos portable que un nombre de panel
cwd:<path>paneflow read cwd:/home/me/appBueno para scripts de repo

Un selector que no encuentra nada o encuentra varios paneles sale con código 3, salvo comandos que aceptan varias coincidencias explícitamente, como envíos broadcast o wait --any y wait --all.

fleet.list

paneflow ps --json devuelve un array agents.

CampoSignificado
pidId de proceso del agente, o null para detección scan-only
toolFamilia de agente como claude, codex, opencode o gemini
statethinking, waiting_for_input, finished, errored, stalled, idle o unknown_running
hookedtrue cuando Paneflow recibe eventos de hooks de ciclo de vida
reasonRazón de detección, incluido no_hook para procesos sin hooks
surface_idId de panel cuando se resuelve
surface_nameNombre de panel cuando existe
workspaceÍndice de workspace
active_tool_nameHerramienta actualmente ejecutada dentro del agente, si se informa
messagePregunta o permiso en espera, si se informa
last_resultResumen del último turno, si el hook lo proporciona
waiting_msMilisegundos esperando entrada
idle_msMilisegundos desde la última actividad observada

Una flota vacía es {"agents":[]} con código de salida 0.

surface.status

paneflow status <target> --json devuelve el estado de un panel.

CampoSignificado
surface_idId de panel
stateMismo vocabulario de estado que fleet.list
hookedSi el seguimiento de ciclo de vida está activo
toolFamilia de agente, cuando se detecta
active_tool_nameHerramienta actualmente en ejecución, si se informa
messagePregunta o permiso en espera, si se informa
last_resultResumen del último turno, cuando está disponible
waiting_msMilisegundos esperando entrada
idle_msMilisegundos desde la última actividad observada
output_generationContador monótono que avanza cuando cambia la salida del panel

Un panel sin agente activo devuelve estado idle en vez de error.

surface.read

paneflow read <target> devuelve texto de terminal. Por defecto, la salida se envuelve en <untrusted_terminal_output> para que un LLM pueda inspeccionarla sin tratarla como instrucciones. Usa --raw solo para scripts humanos de confianza.

Campos útiles en modo JSON incluyen text, lines, total_lines, eof y output_generation.

events.subscribe y watch

paneflow watch es JSON delimitado por líneas. Puede emitir:

Tipo de eventoSignificado
ai.session_startComienza una sesión de agente
ai.prompt_submitSe envía un prompt
ai.tool_useEl agente invoca una herramienta
ai.notificationEl agente hace una pregunta o solicita permiso
ai.stopTermina un turno
ai.exitSale el proceso del agente
ai.session_endSe cierra la sesión
surface_changedAvanzó el output_generation del panel

Los frames de control también son válidos:

FrameSignificado
subscribedSuscripción aceptada
heartbeatFrame keepalive
droppedEl subscriber quedó atrasado y se descartaron eventos

Cuando un cliente recibe dropped, debe resincronizarse con paneflow ps --json o paneflow status <target> --json.

wait

wait --idle usa el stream de eventos cuando está disponible y cae de forma segura cuando hace falta. wait --pattern sondea el scrollback reciente cada 500 ms y escanea las últimas 500 líneas.

ModoEjemploUso
Idlepaneflow wait --match reviewer --idle --timeout 600Continuar después de que el agente deje de trabajar
Patternpaneflow wait --match backend --pattern '^DONE:' --timeout 300Continuar después de una línea centinela
Idle plus patternpaneflow wait --match reviewer --idle --pattern '^REPORT_DONE' --timeout 600Exigir panel estable y marcador
Any o allpaneflow wait --match 'cmdline:claude' --pattern 'tests passed' --allCoordinar varios paneles en modo pattern

Los timeouts salen con código 4.

Claves de configuración

ClaveValor por defectoSignificado
ai_unrestrictedfalsePermite a la automatización IA de confianza enviar cuando está activo
ai_injection_fencetrueEnvuelve salida de terminal de pares como texto no confiable
agent_stall_threshold_secsdefecto de appMarca como stalled los turnos silenciosos en curso

Códigos de salida

CódigoSignificado
0Éxito
1Fallo de runtime
2Error de uso de CLI
3Objetivo no encontrado o ambiguo
4Timeout de wait

Páginas relacionadas