Saltar al contenido
ColliePWA

04/Documentation

Terminales

Cómo apuntar Collie a Herdr, tmux, zellij, tuios o Tern, qué puede responder cada uno y las señales de agentes. Experimental para tmux, zellij, tuios y Tern; se solicitan reportes de errores

Estos son los terminales de los que Collie lee sesiones: Herdr, tmux, zellij, tuios y Tern. Collie controla un terminal por instalación, y Herdr es el predeterminado. Esta página explica cómo apuntar Collie a cualquiera de ellos, qué puede responder cada uno y las balizas que Collie utiliza para detectar un agente en un panel. Un agente duradero sin pantalla no es un terminal, y Durable agents trata sobre ello.

tmux y zellij llaman sesión a su propio grupo de nivel superior. Collie lo muestra como un espacio.

Configurar Collie para un multiplexor

Indique el backend en COLLIE_MUX, apúntelo a un endpoint, reinicie e instale los hooks de beacon.

Experimental. tmux y zellij (desde 1.0) se probaron en tmux 3.6b y zellij 0.44.2, en un único host. tuios (desde 1.15.0) se probó en tuios 0.8.4. Tern fue probado por su colaborador en tern 0.4.5, una beta cerrada que los mantenedores no pueden ejecutar. Herdr es el backend predeterminado y el principal admitido. Se buscan evaluadores: abra una incidencia en AltanS/collie titulada tmux: …, zellij: …, tuios: … o tern: …, indicando multiplexor, versión, sistema operativo y lo que observó.

Indique el multiplexor en la línea de comandos:

COLLIE_MUX=herdr collie start
COLLIE_MUX=tmux collie start
COLLIE_MUX=zellij collie start
COLLIE_MUX=tuios collie start
COLLIE_MUX=tern collie start

Defina el endpoint cuando el destino predeterminado no sea el deseado:

# in your .env: ~/.config/collie/.env, or Herdr's plugin config dir on a Herdr
# install. See Configure for the full precedence.
COLLIE_MUX=tmux
COLLIE_MUX_ENDPOINT_TMUX=/run/user/1000/collie-tmux.sock
COLLIE_MUX_ENDPOINT_ZELLIJ=collie-zellij

# only if the binary sits somewhere unusual
# COLLIE_TMUX_BIN=/usr/bin/tmux
# COLLIE_ZELLIJ_BIN=/home/you/.local/bin/zellij
variablevalorsignificado
COLLIE_MUXherdr, tern, tmux, zellij o tuiosqué terminal controla esta instalación
COLLIE_MUX_ENDPOINT_TMUX/run/user/1000/collie-tmux.sockuna RUTA de socket (tmux -S), ya que contiene /
COLLIE_MUX_ENDPOINT_TMUXworkun NOMBRE de socket (tmux -L work), sin /
COLLIE_MUX_ENDPOINT_TMUXvacíoel servidor por defecto propio de tmux
COLLIE_MUX_ENDPOINT_ZELLIJcollie-zellijun NOMBRE de sesión, no una ruta
COLLIE_MUX_ENDPOINT_ZELLIJvacíola única sesión en ejecución
COLLIE_MUX_ENDPOINT_TUIOS/run/user/1000/tuios/tuios.sockla ruta PATH del socket del demonio tuios
COLLIE_MUX_ENDPOINT_TUIOSvacío$XDG_RUNTIME_DIR/tuios/tuios.sock, de lo contrario /tmp/tuios-<uid>/tuios.sock
COLLIE_MUX_ENDPOINT_TERN/run/user/1000/tern/daemon.sockla ruta PATH del socket del demonio de Tern
COLLIE_MUX_ENDPOINT_TERNvacío$XDG_RUNTIME_DIR/tern/daemon.sock, de lo contrario /tmp/tern-<uid>/daemon.sock
COLLIE_TERN_BIN/home/you/.local/opt/tern/ternsolo si tern se encuentra en una ubicación inusual
COLLIE_TMUX_BIN/usr/bin/tmuxsolo si tmux se encuentra en una ubicación no estándar
COLLIE_ZELLIJ_BIN/home/you/.local/bin/zellijsolo si zellij se encuentra en una ubicación no estándar

Herdr no tiene una variable de endpoint aquí: su socket es HERDR_SOCKET_PATH, no un nombre COLLIE_MUX_ENDPOINT_.

Ese socket es el local y ningún otro. Una máquina guardada en Herdr no es un miembro de la tripulación, y solo una tripulación de Collie lleva los paneles de otra máquina al teléfono. La descripción de cada lista, y por qué una no es la otra, se encuentra en Máquinas de Herdr y el crew.

Luego reinicie, instale los hooks de baliza e inicie un agente donde el teléfono pueda detectarlo:

collie restart                 # after every .env edit
collie hooks install claude    # once per host; tmux, zellij and tern need it, Herdr gets hook edges

# open a window or a tab for the agent
tmux -S /run/user/1000/collie-tmux.sock new-window -n claude
zellij --session collie-zellij action new-tab --name claude

claude                         # in that window or tab

Qué hicieron esos comandos

COLLIE_MUX en la línea de comandos define la opción para esa ejecución y para todas las posteriores. start escribe el nombre en .env, por lo que ejecutar collie start más tarde controlará el mismo multiplexor.

Con COLLIE_MUX sin definir, start busca Herdr, tmux y zellij, solicita seleccionar un backend y escribe la respuesta en .env. Para consultar la referencia de configuración completa, véase MUX_CONTRACT.md → Apuntar Collie a un multiplexor.

collie hooks install claude instala los hooks beacon de Collie, requeridos por tmux, zellij y tern. Estos exponen los paneles como shells genéricos, por lo que sin hooks cada panel aparece como bash.

El comando actualiza ~/.claude/settings.json y no modifica las configuraciones del proyecto (detalles a continuación). Claude Code 2.1.301 recarga sus hooks mientras se ejecuta. Reinicie una versión anterior de Claude.

Nota. Herdr no es necesario en este modo. Con COLLIE_MUX=tmux o COLLIE_MUX=zellij, el puente carga solo el adaptador seleccionado e ignora el socket de Herdr. El descubrimiento de varias sesiones de Herdr a través de las raíces de configuración de Herdr está desactivado (bridge/index.ts). No se necesita tener Herdr instalado o en ejecución, y .env se encuentra en ~/.config/collie/ en lugar del directorio de configuración de plugins.

Notas sobre tmux

COLLIE_TMUX_BIN suele dejarse sin definir. Collie comprueba una lista de rutas estándar y no lee PATH, variable que los servicios en segundo plano y las acciones de Herdr no comparten con las shells de inicio de sesión.

Nota. Mantenga cortas las rutas de sockets. Los sockets de dominio Unix con más de unos 100 caracteres fallan al conectar y tmux devuelve error connecting to … (File name too long). Utilice /run/user/<uid>/ o /tmp en lugar de una ruta de directorios profunda.

En versiones de tmux anteriores a 3.7 con window-size establecido en manual, crear una ventana bloquea el servidor. Collie bloquea la creación de ventanas en este estado e indica ejecutar tmux set -g window-size latest; Requisitos enumera las versiones probadas.

Con automatic-rename activado, tmux renombra una ventana con el nombre del programa que se esté ejecutando en ella; Collie muestra en su lugar la última carpeta del panel activo de esa ventana, ya que una pantalla llena de pestañas llamadas bash no aporta información. Una ventana nombrada manualmente conserva dicho nombre.

Notas sobre zellij

Si su distribución carece de paquetes de zellij, descargue un binario desde versiones de GitHub de zellij y colóquelo en su PATH.

Si se deja el endpoint vacío, se toma por defecto la única sesión en ejecución. Si existen cero o varias sesiones, Collie se detiene con un error en lugar de seleccionar una. Si una sesión nombrada finaliza, Collie la reporta por su nombre en vez de cambiar a una activa.

Zellij requiere XDG_RUNTIME_DIR para localizar sesiones. Si Collie reporta todas las sesiones como finalizadas, verifique que el servicio de systemd incluya esta variable de entorno (contrato).

Las sesiones de zellij persisten independientemente de su terminal inicial. Cree una sesión con zellij -s collie-zellij y desacople mediante Ctrl o d. En hosts sin pantalla, zellij attach --create-background collie-zellij inicia una sesión desacoplada directamente (verificado en zellij 0.44.2).

Nota. Collie gestiona las sesiones activas, pero no las crea ni las reinicia.

Zellij 0.44 y versiones posteriores informan de la carpeta de cada panel, por lo que los paneles de zellij obtienen el botón Files y muestran su rama. Un zellij más antiguo no informa de ninguna carpeta y sus paneles carecen de ambos.

notas sobre tern

Apuntar Collie a Tern:

COLLIE_MUX=tern collie start
collie hooks install claude   # beacon hooks for agent detection

Collie interpreta las sesiones de Tern como espacios, las pestañas como pestañas y los bloques como paneles. El endpoint es el socket del demonio de Tern, cuyo valor predeterminado es $XDG_RUNTIME_DIR/tern/daemon.sock (o /tmp/tern-<uid>/daemon.sock). Dentro de un panel de Tern, $TERN_PANE identifica el bloque y $TERN_PANE_SOCKET apunta al socket del demonio.

Tern notifica eventos del ciclo de vida mediante tern events, lo que permite notificaciones inmediatas de cambios de topología.

"Mostrar en terminal" mueve su ventana de Tern a la sesión y pestaña de Tern del panel y enfoca su bloque. Una pestaña o una sesión de Tern que Collie crea se abre en segundo plano y no mueve su ventana.

Collie no detecta Tern automáticamente, al igual que no detecta tuios: indíquelo con COLLIE_MUX=tern. Se rechaza el texto escrito que supere los 128 KiB, ya que viaja como un único argumento de línea de comandos.

notas sobre durable

Un agente duradero que se vincula no es un terminal y no tiene pantalla. Durable agents cubre cómo vincular uno con collie durable attach, la forma anterior que controla un agente duradero en solitario con COLLIE_MUX=durable, las dos formas de llegar a un agente duradero, lo que puede hacer en el teléfono y qué comprobar cuando aparece como no disponible.

notas sobre tuios

tuios informa sobre los agentes por sí mismo, por lo que no necesita ganchos de baliza:

COLLIE_MUX=tuios collie start
tuios integration install claude-code   # once, so tuios hears the agent's hooks

Collie lee el agente, su estado y su conversación desde el demonio de tuios. Un panel que espera respuesta se muestra como bloqueado, y el historial de un panel se abre cuando el agente informó sobre su conversación. Un agente para el que Collie no dispone de arnés se muestra como un shell.

Collie muestra cada sesión de tuios como un espacio, cada espacio de trabajo como una pestaña y cada ventana como un panel. Un espacio de trabajo se muestra como una pestaña mientras contenga un panel. Los paneles que se ejecutan en otra máquina no se muestran. Dirija una instancia de Collie en esa máquina a su propio tuios.

El extremo es el socket del demonio. Déjelo vacío para utilizar el socket que usa el propio tuios. Collie lee XDG_RUNTIME_DIR para encontrarlo, por lo que debe asegurarse de que el servicio tenga esa variable. Dentro de un panel de tuios, echo $TUIOS_SOCKET imprime la ruta.

Collie necesita tuios 0.8.3 o posterior: el demonio debe anunciar el evento workspace-renamed, algo que 0.8.2 no hace. Con un demonio anterior, Collie muestra el puente como desconectado y el registro indica qué se debe actualizar.

Algunas cosas funcionan de forma diferente en tuios:

  • Una nueva pestaña se abre en el espacio de trabajo vacío más bajo. Una sesión de tuios tiene nueve espacios de trabajo por defecto, por lo que Collie rechaza una décima pestaña.
  • Mostrar en terminal mueve cada terminal que muestra la sesión de tuios del panel, incluida una pestaña de tuios-web. tuios no puede mover un terminal a otra sesión de tuios. Si ningún terminal muestra la sesión de tuios del panel, Collie lo rechaza e indica la sesión de tuios que muestra el terminal.
  • El selector Nuevo worktree en la página New permanece desactivado e indica que necesita Herdr.

¿Funcionó?

collie doctor   # the `mux` check names the multiplexer, its endpoint,
                # and whether it answered (durable: the six `durable-*` checks)

# `[bridge] mux: tmux · socket /run/user/1000/collie-tmux.sock`, printed at
# startup; a multiplexer it cannot reach is one warning line more
collie logs

# the herd, as the phone is given it; reads need the pairing token
curl -s -H "Authorization: Bearer $COLLIE_TOKEN" http://127.0.0.1:8787/api/snapshot | head -c 400

Cada lectura requiere el token de un dispositivo emparejado, por lo que esta llamada curl envía uno. Sin él, el puente responde 403 device not paired. Para obtener un token para un script, consulte Actualización a 1.18.0. collie doctor no necesita token en el host. COLLIE_DEVICE_HEADER sigue restringiendo únicamente las escrituras y la vista Files (Emparejar un dispositivo).

Revise la interfaz móvil: el panel debe mostrar su ventanas de tmux o pestañas de zellij, y el panel de Claude debe identificarse como un agente en lugar de bash. Si los paneles aún se muestran como shells estándar, verifique la instalación del hook de beacon a continuación.

Collie escribe hooks en la propia configuración de Claude

$ collie hooks install claude
$ collie hooks status
would install: /home/you/collie/bin/collie beacon emit  (this checkout)
/home/you/.claude/settings.json: installed (v1)

Dado que tmux, zellij y tern exponen los paneles como shells genéricos, los agentes deben anunciarse a sí mismos. Esto requiere instalar los hooks de beacon de Collie en la configuración de Claude Code. En Herdr, los mismos hooks solo proporcionan extremos de hook.

La salida hace referencia a la ruta bin/collie de este repositorio. Las instalaciones por paquete utilizan la ruta del binario instalado (~/.local/bin/collie o ~/.local/share/collie/current/bin/collie) en lugar de directorios con versiones, lo que garantiza que los enlaces sigan siendo válidos tras las actualizaciones.

Detalles de comportamiento para cambios de configuración de Claude:

  • Modifica el global ~/.claude/settings.json y cualquier CLAUDE_CONFIG_DIR activo. Los archivos .claude/settings.json a nivel de proyecto no se modifican.
  • Inyecta hooks de cinco etiquetados como # collie-beacon v1 con tiempos de espera de 10 segundos. Se conservan los hooks existentes. hooks uninstall claude elimina únicamente las entradas de Collie.
  • No modifica su statusLine a menos que se solicite. Sin un flag, la instalación no modifica statusLine. Aún obtiene el punto de contexto junto al modelo sobre el cinturón: los hooks leen la transcripción de la sesión, y el tamaño de la ventana desde el inicio de la sesión.
  • Las ventanas de 5 horas y 7 días se muestran por sí solas. No necesitan ningún hook ni statusLine. Mientras un panel de Claude está abierto, el bridge lee su inicio de sesión de Claude en esta máquina (~/.claude/.credentials.json, o $CLAUDE_CONFIG_DIR/.credentials.json; el Keychain en un Mac sin archivo) y consulta api.anthropic.com/api/oauth/usage, la misma llamada que realiza /usage de Claude Code. Consulta cuando el panel aparece, tras finalizar un turno (a lo sumo una vez por minuto) y cada cinco minutos. No almacena nada del inicio de sesión, nunca lo refresca y no lo envía a ninguna otra parte. Omite un archivo de inicio de sesión que otros puedan leer (cualquier permiso más permisivo que 0600) y un inicio de sesión que haya caducado, y Claude Code refresca ese en su siguiente llamada. Una sesión con API-key, Bedrock o Vertex no tiene ventanas para mostrar. Los paneles de Codex obtienen las suyas de la misma forma, con el mismo intervalo, a partir de sus propios archivos de sesión sin lectura de inicio de sesión. OpenCode Go y Grok están desactivados hasta que se indiquen, con COLLIE_ACCOUNT_WINDOWS=all o una lista (consulte Ventanas de uso). COLLIE_ACCOUNT_WINDOWS=0 (o [bridge] account_windows = false) desactiva todo, y collie doctor indica cuál en su fila account-windows.
  • Envolver su statusLine es la segunda alternativa. Con collie hooks install claude --statusline, Collie también envuelve su propio statusLine, y las ventanas provienen de lo que Claude Code le entrega. Utilícelo si prefiere eso a la lectura de inicio de sesión, con COLLIE_ACCOUNT_WINDOWS=0. Su comando pasa a ser collie beacon statusline …, y su script continúa ejecutándose e imprimiendo como antes. Collie nunca agrega un statusLine, y hooks uninstall claude restaura su comando con exactitud. Una instalación sin el flag mantiene un wrap existente y lo apunta al binario actual. Para quitar un wrap que ya no desee, ejecute collie hooks uninstall claude y luego collie hooks install claude sin --statusline. No disponible en Windows.
  • Para modificar un statusLine envuelto, desenvuélvalo primero. Ejecute collie hooks uninstall claude, edite statusLine.command, luego ejecute collie hooks install claude --statusline nuevamente. El comando envuelto hace referencia al binario de collie por su ruta, por lo que si ese binario cambia de ubicación, statusLine no imprime nada hasta que se ejecute la instalación de nuevo. collie update recuerda cuándo un statusLine envuelto apunta a un binario más antiguo. Para probar el wrapper manualmente, ejecútelo fuera del multiplexor (env -u HERDR_PANE_ID -u TMUX_PANE -u ZELLIJ_PANE_ID …), o escribirá una lectura en cada bridge en ejecución.
  • Claude Code recarga sus hooks mientras se ejecuta. Esto aplica a 2.1.301. Reinicie una versión anterior de Claude si no llegan extremos de hook.
  • Solo Linux. La comprobación de actividad del agente depende de /proc. Otros sistemas operativos no emiten beacons.
  • Los beacons son específicos de cada multiplexor. Registran identificadores de panel y de sesión para el backend activo. Cambiar COLLIE_MUX invalida los beacons existentes. Los beacons antiguos permanecen en el disco hasta que se eliminan, visibles en el recuento de beacons de collie doctor.
  • Si se utiliza COLLIE_STATE_DIR, expórtelo en el entorno de shell del agente. collie beacon emit lee esta variable directamente; de lo contrario, los beacons se escriben en el directorio de estado predeterminado donde el bridge no los encontrará.

collie doctor incluye una comprobación de diagnóstico de beacon-hooks-claude que señala hooks faltantes o rutas rotas a repositorios movidos. Para obtener detalles sobre el tiempo de ejecución, consulte Beacons de agentes.

Qué cambia en comparación con Herdr

La siguiente tabla resume las diferencias principales. Consulte MUX_CONTRACT.md para ver la especificación exacta.

Herdrtmuxzellij
un espacio esun espacio de trabajouna sesiónla sesión, exactamente una, para que el teléfono descarte la barra de espacio
un pestaña esuna pestañauna ventanauna pestaña
un panel esun panelun panelun panel de terminal
quién determina que un panel contiene un agenteel propio Herdrun beacon, o nadaun beacon, o nada
con qué rapidez se detecta un cambio no anunciadoenviado mediante pushenviado mediante pushcontabilizado según una programación, límite máximo de 12 s
"Mostrar en terminal"sísíno, zellij acepta la solicitud y no mueve nada
abrir / renombrar / cerrar una pestañasísí (se rechaza la apertura en el caso de fallo de tmux anterior)sí
abrir un espaciosísíno, una sesión creada por este sería invisible para él
historial del paneldel propio registro de panel de Herdrde la clave de sesión del beaconde la clave de sesión del beacon

Sin balizas activas, tmux, zellij y tern presentan los paneles como shells básicos, y el historial del panel se marca como no disponible en lugar de devolver contenido vacío.

Dos diferencias en el teléfono

  • "sincronizado hace Ns": Este indicador aparece en la cabecera del panel para mostrar la antigüedad de los datos. Se muestra solo cuando el backend depende de un sondeo programado, como zellij (intervalo de sondeo de hasta 12 s). Herdr y tmux envían los cambios de estado de inmediato, por lo que se omite la etiqueta de actualización.
  • "Mostrar en terminal": Esta acción de panel enfoca el panel seleccionado en la terminal activa del host. Está desactivado en zellij porque el comando de enfoque de zellij acepta la instrucción sin cambiar el estado de la vista.
Nota. La interfaz móvil nunca cambia el foco del terminal del host de forma automática. Solo la acción explícita "Show in terminal" actualiza la pantalla. Navegar por el panel o abrir paneles no afecta al cursor activo del host (ADR 0031).

consejos de tmux: recuperar las ventanas tras un reinicio

claude --resume      # reconnects the conversation, not the window

Collie no almacena el estado del multiplexor. Reiniciar un servidor tmux destruye sus ventanas, dejando el panel vacío. Los plugins estándar de tmux restauran la distribución de ventanas y los directorios de trabajo: tpm para la gestión de plugins, tmux-resurrect para guardar árboles de sesiones y tmux-continuum para instantáneas automáticas.

Nota. Los procesos de agentes en ejecución no se conservan. Reinicie Claude Code manualmente tras la recuperación.

consejos de zellij: tras un reinicio no hay nada que restaurar

zellij -s collie-zellij                                  # start the session
zellij attach --create-background collie-zellij          # headless: start it detached
claude --resume                                           # reconnects the agent

Zellij no proporciona un equivalente a tmux-resurrect. Las sesiones persistidas tras desconectar la terminal se muestran como (EXITED - attach to resurrect), y conectarse a ellas vuelve a ejecutar los comandos de la sesión; por lo tanto, reiniciar implica iniciar la sesión desde cero con uno de los comandos anteriores y lanzar los agentes dentro, reconectando cada uno con claude --resume o claude --continue.

Nota. Debido a que conectarse genera efectos secundarios, Collie no se conecta a las sesiones ni las resucita. Las sesiones finalizadas aparecen como inaccesible, y la interfaz de usuario muestra un aviso de desconexión en lugar de una lista de sesiones vacía.

Beacons de agentes (opcional, Linux)

Un beacon es el mecanismo con el que un agente se identifica ante Collie en tmux, zellij y tern, donde de otro modo un panel aparecería como un shell genérico.

$ collie hooks install claude
$ collie hooks status
would install: /home/you/collie/bin/collie beacon emit  (this checkout)
/home/you/.claude/settings.json: installed (v1)

Un hook en la configuración de Claude Code ejecuta collie beacon emit, lo que escribe un archivo que contiene el nombre del harness, la sesión y el panel de destino. Herdr realiza este seguimiento de forma nativa. Los detalles de configuración se encuentran en Configurar Collie para un multiplexor; esta sección describe el mecanismo.

La ruta anterior hace referencia a bin/collie desde la copia local. Una instalación binaria apunta a ~/.local/bin/collie, o a ~/.local/share/collie/current/bin/collie cuando ese nombre no está enlazado, como se describió anteriormente. El comando status no realiza escrituras.

Ejecutar hooks uninstall claude elimina únicamente las entradas agregadas por Collie. Modifica la configuración de Claude de global, no los archivos a nivel de proyecto. Esto solo aplica a Linux: la comprobación de actividad inspecciona /proc, y Collie no escribe beacons en otros sistemas operativos.

Claude pasa a ser visible inmediatamente tras el inicio. Dado que el hook se activa en SessionStart, un panel abierto en espera de entrada se muestra como un agente inactivo en lugar de una shell.

La visibilidad finaliza cuando el proceso termina. Collie verifica el PID emisor en cada comprobación, por lo que una vez que el agente finaliza, el panel pasa a reportarse de inmediato como una shell estándar en lugar de permanecer en un estado desconocido.

Collie no elimina el archivo beacon para hacer esto: el archivo permanece en el disco, collie doctor lo reporta en beacons como expirado, y la siguiente invocación del hook lo sobrescribe.

Esto permite que el panel de control identifique los paneles por el nombre del agente en lugar de bash. Permite que "needs you" ordene los paneles según el estado de bloqueo y proporciona el estado necesario para las alertas. El historial del panel también depende del beacon para proporcionar la clave de sesión utilizada por el journal.

Extremos de hook

Los mismos hooks también escriben un extremo de hook para cada evento. Un extremo de hook es una nota breve sobre un panel. Ejemplos de esto son "se ingresó un prompt", "el turno se detuvo" y "un cuadro de diálogo de permisos está abierto". Collie utiliza extremos de hook en cada multiplexor, también en Herdr. Herdr nombra sus agentes por su cuenta. Por lo tanto, en Herdr los hooks solo escriben extremos de hook, y ninguna baliza.

Un flanco de hook nunca determina por sí solo que un panel está libre. Tras cada flanco, Collie vuelve a leer la pantalla unos 0.7 segundos después. Solo la pantalla puede confirmar que el cuadro de entrada está vacío y que no hay cuadros de diálogo abiertos. Un flanco puede indicar que se está ejecutando un turno o que hay un cuadro de diálogo abierto. En ese caso, Collie mantiene el panel como ocupado hasta que llega el flanco de cierre. Tres lecturas de pantalla libres en diez segundos también finalizan la retención. Un flanco de herramienta de un subagente no afecta al panel, por lo que nunca altera lo que Collie lee allí.

Un envío desde el teléfono puede mostrarse como Confirmado. Eso ocurre cuando un extremo de prompt contiene el mismo texto poco después del envío. La ventana de tiempo es de 30 segundos, o diez minutos para un envío en cola detrás de un turno. El extremo transporta un hash con sal del prompt, nunca el texto en sí.

Claude Code y Codex admiten un mensaje o un comando durante un turno. Collie lo escribe de inmediato y el harness lo ejecuta tras el turno. Un harness que no puede admitir un envío durante su turno recibe en su lugar un envío retenido. Lo mismo ocurre con un mensaje que encuentra el cuadro de entrada ocupado, por ejemplo bajo una ventana emergente, o en una pantalla que cambia entre dos lecturas de Collie, o con un carácter de sondeo que falló y que una pulsación de Backspace retiró de un cuadro que Collie volvió a leer limpio. Dicho mensaje se envía tras cinco sondeos libres a lo largo de diez segundos, o tras un turno detectado por Collie. Un comando en esa situación sigue rechazándose, al igual que un envío en una pantalla confirmada con Escribir aquí. Un envío en un panel sin perfil nunca se retiene. Collie conserva el texto y muestra una tarjeta flotante en la parte inferior de la vista de terminal: "En cola. Se enviará al finalizar el turno". En un agente cuya versión Collie no pudo leer, la tarjeta lo indica y remite a collie doctor: Collie solo escribe en un turno en curso en una versión reportada por el agente. La tarjeta muestra el texto y un botón Cancelar. Collie lo envía al terminar el turno, una vez que el panel se lee como libre en dos sondeos consecutivos, por orden de antigüedad. Cada envío retenido posterior espera al turno iniciado por el envío precedente. Si no se detecta ningún turno, se envía tras cinco sondeos libres a lo largo de diez segundos. Un comando retenido en pi, OMP o Codex envía Enter, y allí Enter guía el turno. Dicho comando espera hasta que el turno termine, al igual que cualquier comando retenido en un agente cuya versión Collie no pudo leer: dos sondeos libres con al menos dos segundos de diferencia, o cinco en diez segundos si Collie no detectó ningún turno. OMP ejecuta /goal de inmediato durante un turno, por lo que Collie envía /goal, /goal pause o /goal resume de forma directa con Enter. Nunca los retiene y no esperan tras otros envíos retenidos. Un mensaje posterior en ese panel espera detrás de los retenidos. Un texto retenido dura 30 minutos; un comando retenido, 10 minutos. Transcurrido ese tiempo, la fila indica que el mensaje no se envió y ofrece Reenviar. Un mensaje de walkie-talkie también se retiene sobre un borrador, nunca se escribe en él, y su retención dura 60 minutos (Walky talky). Los envíos manuales sobre un borrador se siguen rechazando, con Añadir y Reemplazar. Antes de rechazar, ampliar o vaciar un borrador, Collie escribe un carácter de sondeo y lo borra para verificar que el cuadro acepta teclas; si el cuadro en pantalla no acepta teclas, el envío se rechaza y no se borra nada. Enfoque ese panel en el escritorio o cambie su tamaño para que el agente redibuje su pantalla; luego envíe de nuevo. Algunos comandos nunca esperan y Collie los rechaza durante un turno. En Claude Code son /clear, /exit, /quit, /logout, /resume, /branch y cada línea !. En Codex son /quit, /exit, /new, /resume, /logout y cada línea !. En Hermes son /exit, /quit, /clear, /new, /resume y cada línea !. Un envío retenido sobrevive a un reinicio de Collie. Cancelar funciona hasta que el envío comienza a salir, y solo en los paneles de esta máquina. Con dos o más envíos retenidos, la tarjeta muestra un recuento y el primer texto, y Mostrar todo lista cada envío con su propio Cancelar. Collie conserva el texto retenido en disco sin cifrar, en un archivo legible solo por su usuario (modo 0600). Elimina el texto cuando el envío sale, y como máximo una hora después de finalizar la retención.

Collie asigna cada edge a un único panel. El edge indica el proceso del agente y su panel (HERDR_PANE_ID, TMUX_PANE o ZELLIJ_PANE_ID). Collie descarta un edge que no indique ningún panel, que indique dos paneles o cuyo proceso ya no exista. El registro del bridge muestra entonces una línea surface.edge.dropped. Muestra a lo sumo una línea por motivo y proceso cada minuto. Un edge con más de 30 segundos de antigüedad, o un archivo que no sea un edge, se contabiliza pero nunca se registra.

Qué bridges reciben los edges

Cada bridge que admite hook edges se registra en ~/.local/state/collie/hook-targets/ al arrancar. Con XDG_STATE_HOME definido, el directorio es $XDG_STATE_HOME/collie/hook-targets/. Un bridge elimina su archivo cuando se detiene de forma limpia. Si un bridge en ejecución pierde su archivo, lo vuelve a escribir en un plazo de dos segundos. El hook escribe cada edge en todos los bridges registrados cuyo proceso continúe en ejecución. Elimina el archivo de un bridge inexistente. Sin ningún bridge registrado, el hook escribe en el directorio de estado predeterminado. Un COLLIE_STATE_DIR en el propio entorno del agente también recibe siempre los edges.

Información del panel

La información del panel en el teléfono muestra si un panel envía hook edges:

  • Hooks: activos indica que el agente de ese panel envía hook edges.
  • Hooks: activos, retiene permisos indica que los hooks del agente también retienen permisos para el teléfono. Consulte Permisos retenidos para el teléfono.
  • Hooks: ninguno indica que Collie no tiene ningún hook edge de ese panel. Los hooks no están instalados o el agente no ha enviado ningún evento desde la instalación. Claude Code 2.1.301 detecta hooks nuevos mientras se ejecuta. Reinicie versiones más antiguas de Claude.

Un bridge mantiene los paneles activos a lo largo de su propio reinicio. La fila permanece en "activo" tras reiniciar el bridge.

Una instalación de una versión anterior de Collie no envía edges para los cuadros de diálogo de permisos. collie hooks status lo muestra como parcial. Ejecute collie hooks install claude de nuevo para actualizarlo en el lugar.

Permisos retenidos para el teléfono

$ collie hooks install claude --hold-permissions

Esto añade un hook adicional en PermissionRequest de Claude. Cuando Claude solicita un permiso, el hook retiene la solicitud y espera una pulsación. El teléfono muestra la solicitud en forma de tarjeta. Una pulsación en Sí o No se transmite a Claude a través del hook. Collie no envía ninguna pulsación de tecla al panel para ello. La instalación requiere Claude Code 2.0.45 o posterior, la primera versión con este hook. Rechaza versiones anteriores.

  • El hook localiza cada bridge en ejecución del mismo modo que los hook edges. Lee hook-targets/ y establece una retención con cada bridge activo. La primera respuesta prevalece. Los demás teléfonos muestran entonces "Otro Collie respondió".
  • El terminal sigue funcionando. Si se responde al diálogo en el terminal, la tarjeta del teléfono muestra "El terminal respondió primero". Collie descarta cualquier pulsación posterior.
  • Solo Yes y No pasan por el hook. Las opciones como "no volver a preguntar" permanecen como respuestas de pantalla. Collie rechaza esa pulsación en una tarjeta retenida.
  • Una solicitud retenida tiene un límite de tiempo de 290 segundos. Tras este periodo, el diálogo permanece en pantalla y se convierte en una tarjeta ordinaria con un identificador nuevo. Una pulsación antigua nunca se traduce en teclas.
  • Sin bridge no hay retención. Si no hay ningún bridge a la escucha, o ante cualquier error, el hook no genera salida. Claude muestra entonces su propio diálogo habitual. El hook nunca responde por su cuenta.
  • La tarjeta muestra la entrada mostrada. Es el comando, la ruta del archivo u otra entrada clave. Añade las opciones de Bash de riesgo y la totalidad del texto que una operación de escritura vuelca en un archivo. Collie descarta caracteres que oculten o alteren el texto. La entrada mostrada tiene un límite de 1000 caracteres, con el texto escrito incluido. Collie nunca retiene solicitudes más largas: la tarjeta no puede mostrarla entera, de modo que se responde desde el diálogo en pantalla. Si la entrada supera las líneas que muestra el cuadro, la tarjeta lo indica.
  • Una solicitud retenida solo posee el diálogo que muestra esa misma solicitud. El encabezado del diálogo debe nombrar la herramienta de la solicitud. Debe indicar "del agente..." exactamente cuando lo pida un subagente, y nombrar el mismo tipo de subagente. Cada línea de la entrada debe aparecer en el diálogo, en orden. Si dos solicitudes retenidas coinciden con un mismo diálogo, ninguna se apropia de él. Cualquier otro diálogo conserva su propia tarjeta en el teléfono. La solicitud espera entonces en su tarjeta de retención, y solo una pulsación desde dicha tarjeta la responde. La tarjeta no admite pulsaciones durante los primeros 400 ms tras mostrarse una nueva solicitud. Si se responde a ese otro diálogo con las teclas y Claude finaliza el hook a continuación, la tarjeta de retención indica que las teclas respondieron.
  • La solicitud de un subagente no muestra ningún diálogo mientras el hook la retiene. Esto aplica a Claude Code 2.1.301. La tarjeta de retención es entonces la única forma de verla, por lo que muestra la herramienta y la entrada mostrada.
  • Una solicitud en segundo plano espera hasta el límite de retención, incluso si no hay ningún teléfono observando. Luego Collie libera el hook, y Claude muestra el diálogo en la pantalla. Claude 2.1.301 no la deniega.
  • Las preguntas y los planes se mantienen como tarjetas de pantalla. AskUserQuestion y ExitPlanMode nunca se retienen.

El socket es <stateDir>/hold/sock. Su carpeta tiene modo 0700 y el socket tiene modo 0600, por lo que otro usuario no puede conectarse. Antes de conectarse, el hook comprueba que el socket, su carpeta y el directorio de estado pertenezcan al usuario. También comprueba que nadie más pueda escribir en las dos carpetas. El puente solo acepta solicitudes de un proceso que ubica en un panel. Descarta cualquier otra solicitud con una sola línea de surface.hold.dropped. El hook y la configuración no portan ningún token. Cada tarjeta porta un hash de la herramienta, la entrada mostrada y las etiquetas. Un toque con otro hash libera el hook sin respuesta.

La información del panel indica "holds permissions" cuando la configuración que lee Claude retiene el hook. Collie lee la configuración de usuario, los dos archivos de configuración de proyecto y la configuración administrada. disableAllHooks desactiva la retención, y también lo hace allowManagedHooksOnly en el archivo administrado.

Ejecute collie hooks install claude sin la bandera para retirar la retención de nuevo. collie doctor indica en cuántos archivos de configuración los hooks retienen permisos.

Nota. Las balizas y las aristas de hook no proporcionan ningún canal de control. Solo cambian lo que Collie muestra y cuándo lee un panel. No pueden enviar texto, inyectar pulsaciones de teclas, renombrar paneles, cerrar sesiones ni eludir controles de acceso. El modelo de amenazas y los campos omitidos están documentados en ADR 0024. La retención de permisos es el único canal de control. Un toque en el teléfono se convierte en la respuesta de Claude a un permiso. Cuatro elementos la protegen. El socket pertenece únicamente al usuario (modo 0600 en una carpeta 0700), y el hook comprueba esto antes de conectarse. El puente solo responde a un proceso que ubica en un panel. El toque debe portar el hash de la herramienta, la entrada mostrada y las etiquetas que mostró la tarjeta. La respuesta es siempre únicamente el toque de una persona: Collie nunca permite ni deniega por su cuenta.

Codex

Codex tiene un hook externo, su comando notify. Collie puede usarlo para una arista de hook cuando termina un turno de Codex:

$ collie hooks install codex
$ collie hooks status
/home/you/.codex/config.toml: installed

La instalación escribe una línea al principio de $CODEX_HOME/config.toml (~/.codex/config.toml cuando CODEX_HOME no está establecido). La línea va después de los comentarios al principio del archivo:

notify = ["/home/you/.local/bin/collie", "beacon", "emit", "codex"]

Codex ejecuta solo un comando notify. Si su configuración ya designa uno, Collie lo deja en su lugar y la instalación se detiene con un mensaje. Si Collie no puede leer el archivo como TOML, la instalación se detiene e indica la línea. Collie conserva una copia del archivo antes de su primera modificación. collie hooks uninstall codex restablece los bytes exactos anteriores a la instalación. Si la instalación creó el archivo, la desinstalación lo elimina. Es posible que un Codex ya abierto no vea la nueva línea hasta que se inicie de nuevo.

Codex envía un evento, agent-turn-complete, al final de cada turno. Collie lo escribe como una arista de parada, y la lectura de pantalla posterior decide si el panel está libre. Los límites:

  • Codex no envía ningún evento para un diálogo de aprobación o para una nueva solicitud. La pantalla muestra un diálogo por sí sola, y un envío desde el teléfono nunca se muestra como Confirmed en un panel de Codex.
  • Codex 0.163.0 ejecuta el comando notify desde un asistente en segundo plano (codex app-server). Collie encuentra la ventana de Codex en /proc con el mismo CODEX_HOME y la carpeta del evento. Esto es solo para Linux.
  • Dos ventanas de Codex en una carpeta sobre un CODEX_HOME no reciben arista. Collie no puede distinguirlas. Sus paneles aún se actualizan desde la pantalla, al igual que sin el hook.
  • Codex también ejecuta un turno corto oculto para nombrar una nueva tarea. Ese turno envía una arista de parada más, por lo que el panel recibe una lectura de pantalla más.

Collie presiona Tab para un mensaje de Codex. Durante un turno, Codex lo pone en cola. En Codex, Tab envía un mensaje en un cuadro inactivo y lo pone en cola durante un turno. Por tanto, Tab es correcto en ambos estados. Enter dirige un turno en ejecución, por lo que Collie nunca presiona Enter para un mensaje. Un texto que comienza con / o ! es un comando. Requiere Enter en un cuadro inactivo, porque Tab completaría un comando / allí. Durante un turno requiere Tab, y Codex lo pone en cola como un mensaje. Codex ejecuta un texto con ! como un comando de shell. El comprobante indica en cola solo cuando Codex muestra la fila en cola con el texto.

Collie responde a una aprobación de Codex con una sola tecla: el dígito de la opción, y, o Escape. Solo se recorre el diálogo de confianza de Codex 0.156. Allí Collie presiona las teclas de flecha, lee el puntero de vuelta y luego presiona Enter. Un diálogo de pregunta de Codex también requiere una sola tecla, el dígito de la opción. En Codex 0.163.0 el dígito responde de inmediato. En la última pregunta envía todas las respuestas.

Perfiles de harness

Collie comprueba el cuadro de entrada de un agente antes de enviar un mensaje desde el teléfono. Un archivo de perfil describe dicho cuadro para un agente. Especifica dónde empieza y termina el cuadro. Indica el aspecto de un borrador, qué tecla envía y qué texto dibuja el agente ante un pegado largo. Una shell básica y un agente sin perfil siguen admitiendo envíos. Collie no puede leer su cuadro de entrada, por lo que escribe el texto y pulsa Enter sin comprobación previa, línea por línea. Solo una solicitud de contraseña en las últimas filas detiene el proceso: Collie no escribe nada allí y el teléfono ofrece Escribir.

AgenteEnter durante un turnoTecla de envíoSondaComprobado contra
OpenCodePone en cola el mensajeEnterSí1.18.33
piDirige el turno; Alt+Enter pone en colaAlt+Enter, Ctrl+Q en WindowsTextos breves y envía durante un turno1.1.0
OMPDirige el turno; Ctrl+Q pone en colaCtrl+QSí18.4.10
GrokNo medidoEnterSí1.0.41
Antigravity (agy)No medidoEnterSíPantallas de 1.1.17
MuseNo medidoEnterSí1.4.7
Hermes (CLI clásico)Interrumpe el turno por defecto; /busy de Hermes puede hacer que se ponga en cola o guíe el turnoEnterSí0.22.2
Cursor CLI (cursor-agent)Pone en cola el mensajeEnterSí2026.10.16
Kiro (kiro-cli)Guía el turno; Collie retiene el envío hasta que finaliza el turnoEnterTextos cortos2.32.0

Un comando, como /model, siempre se envía con Enter. Un envío con sondeo escribe un carácter adicional primero. Collie comprueba que el carácter llegue al cuadro y luego lo elimina.

  • OpenCode dibuja su cuadro como una columna de ┃ filas, cerrada por una línea ╹▀▀▀. Collie localiza el cuadro mediante esas filas. Un mensaje enviado a un turno en ejecución espera en la transcripción con una insignia QUEUED. Un salto de línea se introduce como Ctrl+J. Collie rechaza un mensaje que sea más largo de lo que el cuadro puede mostrar, ya que no puede volver a leerlo.
  • pi dibuja su cuadro entre dos líneas divisorias sin marca de prompt. Collie lo localiza por el par de líneas divisorias y por la línea de estado que pi dibuja debajo. Un diálogo de pi se abre entre esas dos mismas líneas. Por tanto, Collie lee los atajos de teclado y la lista desde la línea superior hacia abajo. En pi, Enter dirige un turno en ejecución, pero Alt+Enter envía en un cuadro inactivo y pone en cola durante un turno. Por tanto, Collie envía con Alt+Enter, y con Ctrl+Q en Windows. pi muestra un mensaje en cola como una fila Follow-up: sobre el cuadro. Un cuadro con más de 30 filas no se interpreta como un cuadro. La pantalla se interpreta como desconocida y un envío requiere pulsar manualmente.
  • OMP permite elegir el estilo de borde de su cuadro, por lo que Collie reconoce cinco de ellos. Uno es el cuadro abierto con una fila de estado en la parte superior. Otros son un par de líneas, una línea sin línea inferior, un par con el centro vacío y un cuadro sin bordes. Collie omite la sugerencia que OMP dibuja en el extremo derecho de la fila de entrada. En OMP, Enter guía un turno en curso, pero Ctrl+Q envía en un cuadro inactivo y pone en cola durante un turno. Por lo tanto, Collie envía con Ctrl+Q. OMP lista un mensaje en cola en un bloque After yield sobre el cuadro. OMP puede mostrar una sugerencia atenuada tras el texto. Un envío que encuentra una sugerencia se detiene antes de la tecla de envío y deja el texto en el cuadro. En el cuadro abierto, OMP muestra como máximo 17 filas de un mensaje largo, las últimas. Collie comprueba esas filas contra el final de lo escrito y el comprobante lo indica. Reemplazar rechaza un borrador que llena esas 17 filas porque Collie no puede ver su inicio. No se borra nada.
  • Grok dibuja un cuadro redondeado con una fila de prompt ❯ y una fila de atajos de teclado debajo. Un borrador extenso muestra una barra de desplazamiento en el borde derecho del cuadro. Dicha pantalla se interpreta como ilegible, por lo que un envío requiere pulsar manualmente. Una lista de modelos se abre sobre el cuadro y cuenta como parte de él. El panel nunca se interpreta como libre mientras la lista permanezca visible.
  • Antigravity (agy) dibuja su cuadro como una línea divisoria, una fila > y una línea divisoria, con un pie de página ? for shortcuts. El turno muestra una fila con un indicador de progreso con ... sobre el cuadro y esc to cancel debajo. Herdr nombra a este agente agy o antigravity. Collie archiva ambos bajo agy.
  • Muse dibuja su cuadro como una línea divisoria que puede incluir una etiqueta, una fila ❯ y una línea divisoria. Un cuadro vacío muestra una sugerencia gris, y Collie interpreta esa sugerencia como ausencia de texto. Una paleta de comandos que se abre debajo del cuadro se muestra como el borrador actual. La lista de tareas en segundo plano debajo del cuadro se interpreta como desconocida, y un envío requiere pulsar manualmente. Un turno en ejecución muestra una fila con un temporizador y esc to interrupt.
  • Hermes (el CLI clásico; hermes --tui no se lee) dibuja su cuadro como una línea, una fila ❯ y una línea. Por debajo de 64 columnas no dibuja ninguna línea bajo el cuadro. Un perfil con nombre muestra su nombre antes de ❯. Un salto de línea se introduce como Alt+Enter: Ctrl+J envía el mensaje cuando display.cli_multiline_shortcuts está desactivado. El cuadro muestra como máximo ocho filas. Un mensaje más largo no se puede volver a leer, por lo que el envío se detiene antes de Enter. Enviar lo transmite, y el teléfono entonces no puede confirmar su entrega. Hermes puede mostrar el resto de un mensaje anterior en gris tras su texto. Ese envío también se detiene antes de Enter, y Enviar transmite solo lo que usted escribió. El selector de modelos y la paleta de comandos se abren sobre la transcripción, y el panel nunca se lee como libre debajo de uno de ellos.
  • Hermes durante un turno inicia su fila con ☤, y Collie detecta el turno a partir de esa marca. La acción de Enter depende de la configuración de Hermes, por lo que Collie nunca lo presiona durante un turno. Un envío durante un turno se retiene y se transmite al finalizar el turno. Si se inicia un turno mientras Collie escribe, el envío se detiene antes de Enter y el texto permanece en el cuadro.
  • Preguntas de Hermes: la respuesta escrita a una pregunta abre una fila ✎, y un envío desde el teléfono la responde. Un mensaje retenido nunca entra en esa fila. Espera a que la pregunta se cierre, y luego se envía como mensaje. Mientras un mensaje retenido espera, un nuevo envío se une a él; cancele el retenido para responder desde el teléfono.
  • CLI de Cursor (cursor-agent) dibuja su cuadro como una línea ▄, una fila → y una línea ▀. Un cuadro vacío muestra una sugerencia en gris, "Plan, search, build anything" o "Add a follow-up", y Collie interpreta esa sugerencia como ausencia de texto. ! convierte el cuadro en un prompt de shell con su propia sugerencia. Collie lee esa sugerencia como texto, por lo que un mensaje nunca ingresa en modo shell. Un turno en ejecución muestra una fila de indicador de progreso como Running sobre el cuadro y ctrl+c to stop al extremo derecho de la fila →. Collie descarta esa sugerencia. Enter durante un turno pone en cola el mensaje en un cuadro follow-ups encima del cuadro de entrada. El cuadro muestra como máximo seis filas y desplaza un borrador más largo. Collie no puede volver a leer un mensaje más alto, por lo que deja el texto escrito en el cuadro y no presiona Enter. Sus diálogos (una aprobación de comando, una pregunta, la solicitud de confianza de carpeta) reemplazan el cuadro, por lo que la pantalla se lee como ilegible. Los envíos de sondeo en vivo fueron exitosos el 2026.10.14 y el 2026.10.16.
  • Kiro dibuja su cuadro bajo una regla: una barra de estado, la carpeta, una fila en blanco y una fila de prompt de ›. Collie escribe solo cuando ese marco completo está en pantalla. Un salto de línea entra como Ctrl+J. Mientras se ejecuta un turno, la fila de prompt muestra Kiro is working. En Kiro, Enter redirige entonces el texto hacia ese turno. Collie no presiona Enter en un turno en ejecución. Ctrl+S alterna a Kiro entre redirigir y encolar, por lo que Collie no asigna ninguna tecla para encolar. Así, Collie retiene un envío mientras Kiro está ocupado y lo envía cuando el cuadro se muestra libre. Su perfil se verificó únicamente en Herdr, no en tmux ni en zellij.

Grok, Antigravity y Muse no están instalados en el host de compilación. Sus perfiles se basan en capturas de pantalla guardadas de cada agente. Ningún mensaje en vivo les ha llegado mediante un perfil, por lo que Collie sondea cada envío allí. Nadie midió qué hace Enter durante un turno en ellos. Por lo tanto, Collie rechaza un envío mientras la pantalla muestra el turno en ejecución y no escribe nada. Donde un entorno no dibuja ninguna señal de ejecución, Collie no puede determinarlo y el agente decide qué hace Enter. OpenCode y OMP superaron envíos en vivo en una versión superior a la verificada. Collie sondea cada envío en ellos hasta que un envío pase dentro del rango verificado. Hermes (la CLI clásica) superó envíos en vivo en la versión 0.22.2, dentro de su rango, solo en Herdr. La TUI Ink (hermes --tui, o una configuración que la inicie) aún no se lee; pulse Type here para enviar. El sondeo no se ha probado en cada diálogo de Hermes, por lo que Collie sondea cada envío allí también.

Una versión superior a la comprobada sigue funcionando, y el recibo indica provisional.

Redirigir o encolar

Mientras un agente trabaja, un envío desde el teléfono puede esperar al turno o entrar en él. Una pulsación simple en Send encola el texto para después del turno. Esto aplica en cada agente. Collie nunca redirige un turno por accidente.

Una redirección es una elección propia, hecha para un solo envío. Mantenga presionado el botón Send y pulse Redirigir. El agente lee la línea tras su llamada a herramienta actual, en el mismo turno. La fila se muestra solo mientras el agente trabaja y solo en un agente que tenga una tecla de redirección en su perfil, por ejemplo hoy pi, Codex y OMP. Una breve indicación bajo el cuadro señala que una pulsación encola y mantener presionado redirige. Codex lee un texto seguido inmediatamente de Enter como un pegado, por lo que Collie espera un segundo tras el texto antes de presionar la tecla de redirección.

El comprobante indica qué sucedió:

  • Redirigido. El agente incorporó la línea al turno en ejecución. Collie vio que el agente la dibujó.
  • Encolado en su lugar. El agente conservó la línea para después del turno, aunque se solicitó redirigir. No se pierde nada.
  • Escrito, no enviado. El texto está en el cuadro y la tecla de redirección no lo envió. Pulse Send o borre el cuadro.
  • No disponible en este panel. El agente no tiene tecla de redirección en su perfil, Collie no confía en su versión con un turno en ejecución o el texto es un comando. No se envió nada. Envíelo sin Steer.
  • Solo una persona en el teléfono puede redirigir. Se rechaza una redirección proveniente de cualquier otro origen.

Si el turno termina mientras Collie escribe, la línea se envía como un envío normal. Collie no retiene una redirección. Una redirección larga puede terminar sin una señal clara. El comprobante indica entonces que Collie no puede determinarlo y el texto no se vuelve a enviar.

El mensaje de un agente a otro agente (Walky talky) nunca redirige. Siempre espera al turno.

Editar esta página en GitHub

The rest of the documentation