Panel en la terminal¶
curupira tui (o curu tui) abre un panel interactivo y ejecuta en segundo plano el mismo
ciclo continuo de despacho que curupira run --watch.
Diseño¶
curupira tui se abre con el logo de Curupira centrado en la pantalla mientras arranca el
despacho en segundo plano. Después de alrededor de un
segundo da paso al panel; pulsa cualquier tecla o haz clic para saltarlo.
El panel tiene dos columnas:
- Barra lateral. Alrededor de una quinta parte del ancho. El logo de Curupira y la versión, el botón
[ Home ]y los repositorios registrados. Debajo del nombre de cada repositorio están las sesiones de ese repositorio. Un punto naranja junto al nombre indica que un agente está actuando ahí; un repositorio sin sesión aparece atenuado. Cada sesión muestra su nombre y su agente. - Área de trabajo. Un encabezado, el historial de la conversación y la entrada
curupira >fija al pie. En Home, el encabezado muestraDEFAULT AGENT - (<directorio actual>). Con una sesión abierta, muestraATTACHED: <sesión> - <agente>.
El diseño se adapta al tamaño de la terminal. Por debajo de 48 × 12 el panel pide agrandar la terminal.
Sesiones¶
Cada tarea que inicia el despacho en segundo plano abre una sesión bajo su repositorio
([repositories.<alias>]) en la barra lateral. Los repositorios siguen listados cuando no
tienen sesión, para que la barra muestre dónde está actuando un agente. La sesión toma
el nombre que el agente de código le da a su sesión: OpenCode genera un título unos segundos
después de que la sesión empieza, y el panel lee ese título con opencode session list. Hasta
entonces, y para agentes que no exponen títulos de sesión, lleva el nombre de su issue o pull
request (#223 bump paths-filter) o de su automatización, que también sigue en los detalles de
la sesión. El punto junto al repositorio es naranja mientras uno de sus agentes se ejecuta, y
no aparece en los demás casos. El punto junto a la sesión muestra el estado de esa sesión:
naranja mientras el agente se ejecuta, verde cuando terminó, rojo cuando
falló. N running junto al título REPOSITORIES cuenta las que están en ejecución, cuando la
barra es lo bastante ancha para mostrar la cuenta.
Abre una sesión para seguir a su agente en vivo: la automatización y el enlace, el prompt que recibió, los mensajes y las llamadas a herramientas del agente a medida que los informa y cómo terminó, con el propio mensaje de error del agente cuando falla. Las sesiones duran mientras el panel está abierto.
Un mensaje que escribes en una sesión se agrega a su historial y se marca como no enviado: el panel todavía no puede pasar mensajes a un agente en ejecución.
Teclado¶
| Tecla | Barra lateral con foco | Entrada con foco |
|---|---|---|
| Tab | Enfoca la entrada | Enfoca la barra lateral |
| Up / Down | Selecciona una sesión | Desplaza el historial |
| Enter | Abre la sesión seleccionada | Envía el mensaje |
h |
Vuelve a Home | Se escribe en la entrada |
q |
Sale | Se escribe en la entrada |
| Page Up / Page Down | Desplaza el historial | Desplaza el historial |
| Left / Right, Home / End, Backspace, Del | — | Edita el mensaje |
| Esc, Ctrl+C | Sale | Sale |
| Ctrl+L | Redibuja la pantalla | Redibuja la pantalla |
La entrada tiene el foco cuando se abre el panel. Volver a Home conserva todas las sesiones y sus historiales.
Ratón¶
- Haz clic en
[ Home ]para volver a Home. - Haz clic en una sesión (en cualquiera de sus dos líneas) para abrirla. El nombre del repositorio no es un botón.
- Haz clic en la entrada para enfocarla y colocar el cursor.
- Desplázate sobre la barra lateral para mover la lista de repositorios, o sobre el historial para leer mensajes anteriores. Al volver al final, se siguen de nuevo los mensajes nuevos.
Los clics en otros lugares no hacen nada.
Despacho en segundo plano¶
Mientras el panel está abierto, Curupira consulta cada automatización y ejecuta las tareas
exactamente como run --watch:
- Las tareas iniciadas, terminadas (
done) y fallidas aparecen por título en el historial de Home. El estado en la esquina inferior derecha muestradispatch idle, cuántas tareas se están ejecutando odispatch failed. - El panel toma
~/.curupira/dispatch.lock, así que no puede ejecutarse junto a otrorunotui. - Salir deja de admitir trabajo. Si todavía hay tareas en ejecución, Curupira indica cuántas y las espera; pulsa Ctrl+C para detenerlas.
- Un Ctrl+C enviado como señal (por ejemplo,
kill -INT) sale con el código130. Salir conq, Esc o la tecla Ctrl+C sale con el código0, o con el error del despacho si alguna tarea falló. - En Linux y macOS, todo lo que se escribe en stderr mientras el panel está abierto (logs,
mensajes de extensiones y de agentes) va a
~/.curupira/logs/tui.log, para que no se dibuje encima de la pantalla.
Todo lo que dice Ejecutar Curupira sobre consultas, concurrencia y
códigos de salida también se aplica a tui.
Sin terminal¶
Cuando stdin o stdout no es una terminal (por ejemplo, bajo un gestor de servicios o con la
salida redirigida), tui se ejecuta en modo de estado. Imprime
TUI: no terminal attached; running dispatch in status mode (Ctrl+C to stop) en stderr y luego
se comporta exactamente como run --watch, imprimiendo líneas ok y fail.
Logo¶
El logo es pixel art dibujado con caracteres de medio bloque (▀, ▄) en color de 24 bits: la
llama junto a una marca Curupira ligera. La pantalla de inicio lo muestra centrado en su
tamaño natural. La barra lateral lo muestra cuando es lo bastante ancha, y la llama con el
nombre como texto en caso contrario. El panel no usa emojis. Las terminales sin color de 24 bits
muestran colores aproximados.
La tabla [assistant]¶
[assistant] define el agente predeterminado que se muestra en Home. Curupira la lee y la
valida:
[assistant]
agent = "claude" # un nombre de proveedor integrado, verificado por `curupira validate`
model = "sonnet" # opcional
Un agent desconocido es un error de configuración. Consulta
Configuración para la referencia de campos.