Ir al contenido
angel.library

Herdr: terminales persistentes para agentes de código

Herdr se presenta como «el runtime en el que viven tus agentes de código». Es un multiplexor de terminal pensado para flujos con agentes: un servidor en segundo plano mantiene los terminales vivos aunque cierres el cliente o se caiga la conexión SSH, y después vuelves a entrar a la misma distribución de paneles.

No envuelve ni sustituye a los agentes. Claude Code, Codex, Cursor, OpenCode, Grok y el resto se lanzan como procesos normales; Herdr es dueño de sus terminales, no del agente.

Conserva la idea de paneles y teclas con prefijo de tmux, pero añade una capa orientada a agentes:

CapacidadQué significa en la práctica
Desconectar sin detener trabajoLos terminales siguen en el servidor al cerrar el cliente o perder SSH
Restauración tras reinicioSi se reinicia el servidor o la máquina, recupera el layout guardado y puede reanudar sesiones de agentes compatibles
Varias máquinas, una ventanaMezcla trabajo local y máquinas SSH guardadas, con una lista de agentes combinada y reconexiones independientes
Estado por panelCada panel aparece como working, blocked o idle; cuando un agente se para y espera respuesta, Herdr lo señala
Nativo para agentesLos agentes usan la CLI y el socket para crear paneles, enviarse instrucciones y esperar a que otro esté realmente bloqueado
Teclado y ratónPrefijo al estilo tmux y clic, arrastrar y dividir; se elige en cada momento
PluginsExtienden paneles y flujos desde un marketplace

El servidor conserva terminales y layout, pero no resucita un proceso que ya terminó ni recupera archivos sin guardar: la persistencia del terminal no equivale a persistencia del programa.

Ventana de terminal
# macOS / Linux
curl -fsSL https://herdr.dev/install.sh | sh
# Homebrew
brew install herdr
# mise
mise use -g herdr

En Windows (PowerShell):

Ventana de terminal
powershell -ExecutionPolicy Bypass -c "irm https://herdr.dev/install.ps1 | iex"

Hay una guía específica para Windows con protección de endpoint y binarios sueltos en las releases de GitHub. Revisa el script antes de ejecutar un instalador con curl | sh.

Arráncalo en la carpeta donde vive el trabajo:

Ventana de terminal
herdr

Lanza tus agentes, divide paneles y vete. Ctrl+B seguido de Q desconecta el cliente; volver a ejecutar herdr reconecta. Consulta herdr --help: los atajos y subcomandos se amplían con frecuencia.

1. iniciar herdr en el repositorio;
2. crear un panel para el agente y otro para pruebas o logs;
3. lanzar el agente dentro de su panel;
4. desconectar (Ctrl+B Q) y volver a entrar con `herdr`;
5. mirar el estado del panel antes de enviar otra instrucción.

La skill para agentes y la documentación de automatización describen cómo un agente coordinador trata cada panel como una tarea:

  1. crea un panel en el directorio del repositorio;
  2. inicia el agente con los permisos mínimos necesarios;
  3. envía una instrucción acotada y espera a que el panel pase a idle o blocked;
  4. lee la salida y lanza las pruebas en otro panel;
  5. cierra el proceso cuando la tarea quede confirmada.

El patrón evita que varias tareas escriban en la misma terminal, pero no resuelve conflictos de Git, secretos ni permisos del sistema. Si dos agentes pueden tocar los mismos archivos, dale a cada uno su rama o worktree.

  • sesiones largas que deben sobrevivir a una caída de red o a un reinicio;
  • supervisar varios agentes desde un solo escritorio sin buscar cuál está atascado;
  • automatizaciones que crean paneles y esperan procesos;
  • trabajo remoto por SSH con una vista unificada.

Si solo necesitas una shell temporal, tmux o la terminal del editor tienen menos piezas. El valor de Herdr aparece cuando el estado de muchos procesos es parte del flujo.

  • Un agente con shell puede ejecutar cualquier comando que permita tu usuario.
  • La sesión remota depende de SSH, red y permisos del host.
  • Protege sockets y logs, sobre todo en máquinas compartidas: quien acceda al socket puede enviar comandos a los paneles.
  • La reanudación tras reinicio solo aplica a agentes compatibles; comprueba cuál es tu caso antes de confiar en ella.

Para scripts, usa la referencia de la CLI, no las etiquetas visuales de la interfaz.