Ir al contenido

Conceptos

Herdr es un gestor de espacios de trabajo de terminal. Mantiene en marcha procesos de terminal reales y les añade estructura.

Un espacio de trabajo es el contenedor de nivel superior para un proyecto. Usa uno por repositorio, tarea o investigación.

Un espacio de trabajo tiene pestañas y paneles. Su estado en la barra lateral se agrega a partir de los agentes que contiene, así ves qué proyecto necesita atención.

Una pestaña es una disposición de paneles dentro de un espacio de trabajo. Usa pestañas para separar vistas como agents, logs, server o review.

Las pestañas se pueden manejar desde la CLI y desde la API de socket.

Un panel es una terminal de verdad. Herdr pinta la salida de la terminal, envía al proceso lo que tecleas y conserva el panel aunque el cliente se desconecte.

Los paneles se dividen a la derecha o hacia abajo. Se pueden renombrar a mano, leer desde la CLI, recibir entrada y cerrarse.

Herdr está pensado para el ratón. Puedes hacer clic en paneles, pestañas, espacios de trabajo y agentes. Puedes arrastrar los bordes de las divisiones, seleccionar texto y usar los menús contextuales. Todo lo que sigue se alcanza también con el ratón; los atajos de teclado son una capa opcional.

Si prefieres manejarlo solo con el teclado, o quieres que Herdr deje de capturar el ratón, desactiva la captura:

[ui]
mouse_capture = false

Un agente es un proceso que Herdr reconoce dentro de un panel. Herdr detecta los agentes a partir del proceso en primer plano, de los manifiestos de pantalla y de integraciones opcionales.

Los estados de un agente son:

Estado Significado
blocked El agente necesita entrada, una aprobación o una decisión.
working El agente está ejecutándose.
done El agente ha terminado y aún no lo has mirado.
idle El agente ha terminado o está esperando, y ya lo has visto.
unknown Herdr no puede clasificar el estado con seguridad.

Cada cliente lleva la cuenta de qué finalizaciones ha mostrado. Ver una finalización en un cliente no borra la marca Done de otro cliente. Los estados de la CLI y la API usan el registro del servidor, así que no tienen por qué coincidir con la marca de un cliente concreto; tanto idle como done significan «listo para recibir entrada».

Una sesión es un espacio de nombres persistente del servidor de Herdr. El comando herdr a secas se conecta a la sesión por defecto.

Las sesiones con nombre son espacios de ejecución separados:

Ventana de terminal
herdr session list
herdr session attach work
herdr session attach side-project

Usa primero los espacios de trabajo. Recurre a las sesiones con nombre cuando necesites paneles, sockets y estado persistente completamente separados.

Por defecto, Herdr funciona como un servidor en segundo plano más uno o varios clientes conectados.

El servidor es el dueño de los paneles y del estado de los procesos. El cliente es la interfaz de terminal conectada a ese servidor.

Con un solo cliente conectado, todas las pestañas siguen su tamaño, como siempre. Con varios clientes, cada uno puede ver su propio espacio de trabajo y su propia pestaña. Las pestañas que se están viendo siguen el tamaño de su cliente; cuando varios clientes ven la misma pestaña, el último que la enfoca, la selecciona o interactúa con ella controla el tamaño de sus paneles.

Desconecta el cliente con ctrl+b q. El servidor y los agentes siguen en marcha.

Si quieres terminar la sesión y parar sus paneles, para el servidor:

Ventana de terminal
herdr server stop

Herdr tiene modo terminal, modo prefijo y modo navegación.

En el modo terminal las teclas van al panel enfocado. En el modo prefijo, Herdr espera una acción después de la tecla de prefijo. El modo navegación es la superficie persistente para moverse entre espacios de trabajo.

Pulsa la tecla de prefijo, ctrl+b por defecto, y luego una tecla de acción como c para una pestaña nueva o w para navegar por los espacios de trabajo. Si la idea del prefijo te es nueva, mira Teclado.