Herramientas de usuario

Herramientas del sitio


cursos:sdd:03-herdr

¡Esta es una revisión vieja del documento!


herdr

herdr es un multiplexor de terminal pensado para agentes: como tmux, pero sabe qué agente corre en cada panel y en qué estado está. No sustituye a OpenCode ni a Claude Code: los ejecuta dentro de sus paneles y te avisa de cuál te necesita. Es de código abierto, un único binario y funciona en la terminal que ya uses.

Sirve para lo que pasa en cuanto trabajas con más de un agente a la vez: uno implementando, otro revisando la spec y un tercero pasando los tests, cada uno en su panel, y tú sin tener que ir mirándolos uno a uno. Por eso es importante que herdr enseña en la barra lateral la lista de agentes, para saber cuál requiere nuestra atención.


1. Puesta en marcha

Instalar

  • Linux y macOS

curl -fsSL https://herdr.dev/install.sh | sh

  • Windows

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

Arrancar

Desde la carpeta del proyecto:

cd mi-proyecto
herdr

La primera vez pregunta si quieres instalar las integraciones de los agentes que encuentra en el PATH. Di que sí: sirven para que herdr sepa en qué estado está cada agente. Si no las instalaste o instalas un agente después, están en los ajustes (Ctrl+b s) → integrations; tras instalarla, sal del agente y vuelve a lanzarlo para que la cargue.

Se abre la interfaz: a la izquierda la barra lateral con los espacios de trabajo y los agentes, y a la derecha el panel con una shell. En esa shell se arranca el agente como siempre:

opencode

herdr lo detecta solo, sin configurar nada. Vale igual con claude, codex, cursor-agent o copilot.

Actualizar

herdr update

Los agentes que estén trabajando no se paran al actualizar: el servidor viejo sigue vivo hasta que lo reinicias. Al terminar, herdr update dice qué servidor sigue en la versión anterior y la orden para reiniciarlo.

Si lo instalaste con brew o mise, se actualiza con ellos, no con herdr update.

Configuración inicial

La lista de agentes de la barra lateral enseña, de serie, el espacio de trabajo y el tipo de agente. Con dos agentes en el mismo espacio, las dos filas salen iguales (daw-proyecto / claude) y no sabes cuál es cuál.

Se arregla poniendo nombre a cada panel y haciendo que la lista lo muestre. En ~/.config/herdr/config.toml:

[ui.sidebar.agents]
rows = [
  ["state_icon", "machine", "pane", "tab"],
  ["workspace", "agent"],
]

Se recarga sin parar a los agentes con menu → reload config en la barra lateral. Desde la terminal, herdr server reload-config solo recarga el servidor, y esta parte la dibuja la ventana.

El nombre se le pone al panel con el botón derecho → Rename pane (en la sección 2 está con capturas).

El nombre sale en el borde del panel y en la primera línea de la lista; debajo, el espacio y el agente:

○ daw-proyecto
  daw-proyecto · claude
○ sdd
  daw-proyecto · claude


2. Espacios de trabajo, pestañas y paneles

herdr organiza los terminales en tres niveles:

Nivel Qué es Para qué se usa
Espacio de trabajo El contenedor de un proyecto Uno por repositorio o por tarea
Pestaña Una distribución de paneles dentro del espacio Separar vistas: agentes, tests, servidor
Panel Un terminal de verdad. Los paneles de una pestaña se ven a la vez, uno junto a otro Un agente, una shell, los tests en marcha

Es decir: el espacio de trabajo es el proyecto, la pestaña es una pantalla de ese proyecto y los paneles son los trozos en los que partes esa pantalla.

Todo se hace con el ratón: clic para cambiar de panel o de espacio, arrastrar el borde para redimensionar, botón derecho para dividir o crear pestañas, y seleccionar texto ya lo copia, sin Ctrl+C.

Con el ratón

Los ejemplos son dos proyectos: reservas-api (una API REST) y tienda-web (su web). En cada pareja de capturas, la primera marca con un círculo rojo dónde se pincha y la segunda enseña cómo queda.

Espacio de trabajo nuevo

Se pulsa new, abajo en la lista de spaces.

El espacio nuevo se abre en la misma carpeta y toma el nombre de la carpeta en la que esté su shell: al hacer cd ../tienda-web, pasa a llamarse tienda-web.

Pestaña nueva

Se pulsa el + que hay a la derecha de las pestañas.

Pide el nombre antes de crearla. Aquí, tests.

Renombrar una pestaña

Botón derecho sobre la pestaña → Rename.

Se escribe el nombre y save. La pestaña 1 pasa a llamarse agentes.

Panel a la derecha

Botón derecho dentro del panel → Split right.

El panel se parte en dos, uno al lado del otro.

Renombrar un panel

Botón derecho dentro del panel → Rename pane.

El nombre sale en el borde de arriba del panel. Aquí, implementa y revisa.

Panel abajo

Botón derecho dentro del panel → Split down.

El panel se parte en dos, uno encima del otro. Aquí, unitarios arriba y logs abajo.

El menú del panel cambia según el caso: si el panel ya tiene nombre añade Clear pane name, y si hay otro panel al lado, Swap with focused pane. Las opciones son las mismas, pero no siempre están en la misma posición: léelas antes de pinchar.

Crear un espacio de trabajo

Al arrancar, herdr abre un espacio de trabajo en la carpeta desde la que lo lanzas. Para trabajar en otro proyecto a la vez, se crea otro espacio:

  • Crear un espacio de trabajo: clic en new, al pie de la lista de espacios de la barra lateral.
  • Cambiarle el nombre: botón derecho sobre el espacio, Rename.
  • Cerrarlo, con todas sus pestañas y paneles: botón derecho, Close.
El espacio nuevo se abre en la carpeta del panel en el que estás, no en la del otro proyecto. Si lo creas con new, haz cd en su panel al proyecto que toca. O mejor, créalo desde cualquier panel con la orden, que le da la carpeta y el nombre de una vez:
herdr workspace create --cwd ~/proyectos/tienda --label tienda

3. Worktrees de Git

Si uno de nuestros workspaces es un worktree de Git , simplemente es como un nuevo workspace en Herdr. Podemos hacer que todos los worktree de git aparezcan agrupados si abrimos el worktree con el menú de Open worktree… del workspace de Herdr.

Para ello pulsamos con el botón derecho sobre el espacio del proyecto → Open worktree…, y se elige el worktree de la lista. La opción solo sale si la carpeta del espacio es un repositorio Git.

Cada worktree es un espacio de trabajo completo, con sus pestañas y paneles, que en la lista de espacios cuelga del proyecto. Aquí, login y pagos de reservas-api:

Cerrar el espacio del proyecto cierra todo el grupo, pero no borra ni las carpetas ni las ramas.

4. El skill de herdr: que el agente maneje herdr

Lo siguiente que podemos hacer es que desde claude code o opencode podamos decirle que queremos hacer cosas en herdr. Lo único que hay que hacer es añadir a nuestro claude code o opencode el skill para manejar herdr.

npx skills add herdrdev/herdr --skill herdr -g

A partir de ahí, desde OpenCode o claude code dentro de herdr se le puede pedir que abra paneles, lance órdenes en ellos, lea su salida y espere a que terminen. Por ejemplo:

  • Lanzar los tests en otro panel sin quitarte el foco:

en herdr, abre un panel abajo, lanza npm test y avísame cuando acabe

  • Leer la salida de otro panel y actuar sobre ella:

lee en herdr la salida del panel de los tests y arregla lo que falle

  • Arrancar otro agente que revise el trabajo:

en herdr, abre un panel a la derecha con otro opencode que revise specs/login/design.md contra requirements.md, espera a que termine y resúmeme lo que encuentre

Todo lo que hace queda en sus paneles, a la vista, y puedes intervenir en cualquier momento.

El skill es para pedirle cosas a mano mientras trabajas. Instálalo solo con -g, en tu usuario y nunca en el proyecto, y que ningún skill ni comando del proyecto dependa de herdr: en CI no hay herdr y esa parte no se ejecutaría.

5. Usando herdr

Puedes cerrar herdr cuando quieras, aunque la terminal avise de que hay un proceso en ejecución: los agentes siguen trabajando y, al volver a ejecutar herdr, todo está como lo dejaste. Si reinicias el ordenador vuelven los espacios de trabajo, pestañas y paneles, pero los agentes solo recuperan su conversación si tienen la integración.

La lista de agentes: la verdadera ventaja de herdr

Abajo a la izquierda, bajo agents, herdr enseña todos los agentes que tienes en marcha, de todos los espacios de trabajo y pestañas, cada uno con un punto de color que dice en qué estado está:

Color Estado Qué significa Qué haces tú
● Rojo blocked Espera una respuesta: un permiso, una pregunta, una decisión Ir a contestarle
● Azul done Ha terminado y aún no lo has mirado Revisar el resultado
● Amarillo working Está trabajando Nada, déjalo
● Verde idle Ha terminado y ya lo has visto Darle la siguiente tarea

Haciendo clic en un agente de la lista vas directamente a su panel, esté en el espacio de trabajo y la pestaña que esté. Con el teclado, Ctrl+b g abre la misma lista; dentro de ella, b deja solo los bloqueados.

Esa es la verdadera ventaja de herdr frente a tmux: lanzas varios agentes, no tienes que ir mirándolos uno a uno y te basta un vistazo a la lista para saber cuál requiere tu atención. Cuando un punto se pone rojo o azul, clic y a atenderlo.

El estado también sube a la lista de espacios de trabajo: un agente blocked marca como bloqueados su pestaña y su espacio, así que ves qué proyecto te necesita aunque tengas muchos.

idle no quiere decir que haya hecho bien el trabajo, solo que ha vuelto al prompt. Y si el agente saca una pregunta con un aspecto que herdr no conoce, puede marcarlo como idle en vez de blocked. Antes de darle la siguiente tarea, mira qué ha dejado en pantalla.

6. Atajos de teclado

Ctrl+b pone herdr en modo prefijo: la siguiente tecla que pulses no va al panel, sino a herdr, que la toma como una orden. Se pulsa Ctrl+b, se suelta y se pulsa la tecla de la orden. Hecha la orden, se vuelve al panel.

Por ejemplo, c es «pestaña nueva»: pulsar Ctrl+b, soltar, y pulsar c.

General

Tecla Orden
? Ayuda con todos los atajos
s Ajustes
q Salir dejando todo en marcha
R Recargar config.toml
b Mostrar u ocultar la barra lateral
g muestra la lista de paneles para ir a uno de ellos

Espacios de trabajo

Tecla Orden
N Crear un espacio de trabajo
w Cambiar de espacio de trabajo
W Renombrar el espacio de trabajo
D Cerrar el espacio de trabajo

Pestañas

Tecla Orden
c Crear una pestaña
T Renombrar la pestaña
n Ir a la pestaña siguiente
p Ir a la pestaña anterior
1 … 9 Ir a la pestaña por su número
X Cerrar la pestaña

Paneles

Tecla Orden
v Dividir a la derecha
- Dividir abajo
h Ir al panel de la izquierda
j Ir al panel de abajo
k Ir al panel de arriba
l Ir al panel de la derecha
Tab Ir al panel siguiente
Shift+Tab Ir al panel anterior
H Intercambiar el panel con el de la izquierda
J Intercambiar el panel con el de abajo
K Intercambiar el panel con el de arriba
L Intercambiar el panel con el de la derecha
z Ampliar el panel o devolverlo a su tamaño
r Redimensionar el panel
P Renombrar el panel
[ Modo copia: moverse por la salida del panel y copiar
e Abrir la salida del panel en $EDITOR
x Cerrar el panel

7. Enlaces

cursos/sdd/03-herdr.1792361083.txt.gz · Última modificación: por claude