herder: ¿Es este el multiplexor de agentes definitivo?

BBetter Stack
컴퓨터/소프트웨어AI/미래기술

Transcript

00:00:00Herder, un multiplexor de agentes que se ejecuta dentro de la terminal que ya usas, para que puedas ejecutar un montón de
00:00:05agentes de codificación lado a lado en diferentes paneles o pestañas y ver realmente cuál está trabajando, cuál
00:00:10está bloqueado o cuál ha terminado, completo con notificaciones del sistema en un solo binario de Rust, lo que
00:00:15significa que no hay Electron ni aplicaciones separadas. Incluso tiene una forma ingeniosa de funcionar sobre SSH, pero con una herramienta
00:00:20como cmux ganando popularidad, ¿por qué te molestarías en usar Herder? Suscríbete y averigüémoslo.
00:00:28Herder fue creado por un desarrollador llamado Ogle Can Celix, quien supongo que eliminó la “e” de la palabra
00:00:34Herder porque es fanático de principios de los años 2000. No lo sé, pero supongo que Herder es una herramienta que
00:00:39puedes usar para pastorear múltiples agentes, como un pastor de ovejas, lo cual es un problema para, bueno, digamos que la mayoría
00:00:45de los desarrolladores que usan IA para programar, porque es difícil llevar
00:00:49la cuenta de lo que está haciendo cada agente. Herder se inspira mucho en tmux, que es un multiplexor de terminal
00:00:54con pestañas, paneles divididos y sesiones persistentes incluso después de desconectarte, pero tmux fue
00:01:00construido hace décadas, mucho antes de que existieran los agentes de IA, así que si terminas ejecutando un agente dentro de uno de
00:01:06sus paneles, no tiene idea de que existe ni cuál es su estado. Es por eso que existen herramientas como Warp o cmux,
00:01:12que te sacan de tu propia terminal y te llevan a la suya, así que tienes que aprender el flujo de trabajo de otra persona,
00:01:18que es la razón por la que Ogle Can Celix creó Herder para hacer ambas cosas a la vez: la persistencia de tmux con la conciencia de los agentes
00:01:24integrada. Y debido a que Herder es solo un binario de Rust construido con Ratatui, todo consiste simplemente en
00:01:29renderizar texto en tu terminal, por lo que puede ejecutarse en cualquier lugar donde tu terminal pueda, incluso sobre SSH. También hay
00:01:35una API de socket, lo que significa que los agentes pueden controlar Herder ellos mismos, lo cual es realmente impresionante de ver.
00:01:40De hecho, hagamos una demostración rápida. Después de instalar Herder usando brew, curl o incluso un
00:01:46Nix flake (estoy tan contento de que hayan añadido esta opción), puedes simplemente ejecutar el comando herder, lo que te dará
00:01:50esta vista mostrando la terminal, algunos espacios de trabajo y algunos agentes. Ahora, he hecho un poco de zoom, así que hay
00:01:56algunas cosas que no podrás ver, como el alcance total de los comandos, pero haré lo
00:02:00mejor posible para mostrar Herder. Así que aquí puedes ver que no hay espacios de trabajo y, por defecto, el prefijo
00:02:05es Ctrl+b, que es similar a tmux, pero te mostraré cómo cambiar eso más adelante. Ahora, el prefijo ya
00:02:10ha sido activado, lo cual puedo ver por esta navegación aquí abajo, así que todo lo que tengo que hacer es presionar
00:02:14Shift+n para crear un nuevo espacio de trabajo. Por supuesto, puedes navegar completamente usando tu teclado,
00:02:19así que puedo presionar el prefijo y el signo de interrogación para ver todos los atajos de teclado, pero también puedes
00:02:23usar tu ratón. Puedo crear una nueva pestaña llamada “dos”, puedo hacer clic derecho para cerrar la pestaña, renombrar mi
00:02:28espacio de trabajo a “test”, crear un nuevo espacio de trabajo, acceder a esta configuración en el menú, etcétera. Incluso puedo
00:02:34crear divisiones horizontales y verticales, así como renombrar el panel específico y navegar entre
00:02:38paneles, todo usando el ratón. Pero el verdadero punto de venta de Herder es cómo interactúa con los agentes.
00:02:43Por el momento, esto está usando Bash, pero me gusta usar Fish, así que cambiaré ambas terminales
00:02:46y luego abriré Claude Code en la de arriba y Codex en la de abajo. Pero ya podemos ver que
00:02:51Herder ha detectado automáticamente a los agentes y les ha dado estados: Claude está bloqueado
00:02:55y Codex está inactivo. Vamos a dirigirlos a ambos dándoles acceso a estos directorios. Y, por supuesto, puedo
00:03:00darles a ambos prompts como “¿qué modelo estoy usando?” y podemos ver que Herder se actualiza inmediatamente para
00:03:05decirnos que Claude está trabajando, lo que también funciona con Codex CLI. Ahora, también he notado que estoy en el espacio de trabajo
00:03:09equivocado, así que borremos este y renombremos este como “test”. Pero con Herder, los agentes también pueden
00:03:15crear espacios de trabajo, pestañas y divisiones también. Veamos cómo funciona eso. Voy a salir de Herder
00:03:20presionando el prefijo y luego “q”, y luego puedes ver aquí todas las opciones que la CLI de Herder nos da.
00:03:24Así que lo que voy a hacer es volver a entrar en Herder, y este es un punto de venta: vuelve exactamente
00:03:29al mismo espacio de trabajo y a los mismos agentes que tenía abiertos, con las mismas sesiones. Pero voy a crear
00:03:34un nuevo espacio de trabajo, voy a ir a un directorio y luego voy a abrir Claude Code. Y ahora
00:03:38voy a dar una instrucción para usar la CLI de Herder y abrir dos paneles con Claude Code en ambos.
00:03:44Ejecuta uno con este prompt para resumir el archivo más grande del proyecto, y otro con este prompt
00:03:49para buscar en la base de código cualquier clave API o secreto codificado. Y aquí ha cargado un nuevo panel con
00:03:54Claude Code. Voy a alejar el zoom para que podamos ver esto un poco mejor, y ahora está ejecutando el
00:03:58otro prompt en la base de código. Así que podemos desplazarnos hacia arriba para ver que este ha terminado. También podemos ver
00:04:03que les está dando títulos apropiados, como “Claude Secrets” y “Discord”. Y aquí no encontró ninguna clave API codificada.
00:04:09Desde aquí podemos resumir el resultado de ambos paneles y luego pedirle a Claude que los cierre. Así que ahora
00:04:14ha obtenido la información del primer panel y lo cerró, y está haciendo lo mismo con el segundo panel,
00:04:18el cual ha cerrado también, y aquí abajo me está dando un buen resumen. Ahora, como Herder es
00:04:23solo un binario que puedes instalar en tu terminal, puedo conectarme por SSH a un servidor Linux e instalar Herder
00:04:28de la misma manera que lo instalé en una Mac. Puedes ver que ya lo hice antes y ha restaurado mi sesión anterior,
00:04:32así que tengo Claude Code abierto en un panel y estoy usando Vim para revisar algo de código en otro
00:04:36panel. Pero el problema con esto es que no traslada mi configuración de Herder que tengo en
00:04:41mi Mac local. Para ser honesto, no tengo muchos ajustes, todo lo que he hecho es cambiar las teclas de
00:04:45Ctrl+b a Ctrl+Space, y he cambiado el tema a “terminal”. Pero si tuviera un archivo de
00:04:50configuración altamente editado con atajos de teclado específicos, esto podría volverse bastante molesto. Así que una forma de evitar
00:04:55esto es usar Herder con la bandera “remote” y conectarse por SSH directamente a tu servidor, lo cual explicaré
00:05:01exactamente qué hace antes de presionar Enter. Herder funciona ejecutando un servidor y un cliente ligero que
00:05:06se comunica usando un socket Unix, así que el cliente envía pulsaciones de teclas al servidor y el servidor gestiona
00:05:11pestañas, paneles, persistencia y otras cosas. Ahora, en el caso del SSH, al usar “remote”, el servidor se ejecuta en
00:05:18la máquina remota y el cliente en realidad se ejecuta en tu máquina local, por lo que envía las teclas a través de un socket Unix
00:05:24al servidor, y el servidor puede mostrar a los clientes los archivos que están en la propia máquina,
00:05:30pero el cliente en sí puede usar toda la configuración que está en la máquina local a la que
00:05:35está conectado. Así que echemos un vistazo a eso en acción. Regresemos a donde estábamos. Ahora, si presiono Enter,
00:05:40se va a conectar directamente a mi máquina SSH, que podemos ver que tiene Claude Code y el archivo de código
00:05:45que estamos viendo con Vim. Pero si presiono Ctrl+b, no parece hacer nada porque está usando
00:05:49la configuración de mi Mac, que funciona con Ctrl+Space para ver el prefijo. Ahora, mientras estamos aquí, veamos
00:05:54qué más podemos hacer en el menú. Podemos ver los atajos de teclado, que les mostré antes, pero
00:05:59también podemos cambiar el tema. Herder te da muchos temas para elegir, desde “nord” hasta “gruvbox” e incluso
00:06:04Catppuccin. También hay una opción para activar alertas sonoras y un menú de notificaciones que puedes cambiar
00:06:10a través de la terminal o el sistema. Ahora, como es habitual, hay muchas otras funciones de Herder que
00:06:15no pude repasar, como integraciones de “worktree”, integraciones oficiales de “harness”, algunas de
00:06:19las cuales viste en la demostración, que le dan a tu “harness” acceso a las habilidades oficiales de Herder y te permiten reanudar
00:06:24las sesiones exactas que tenías antes de cerrar Herder. Honestamente, el hecho de que esto funcione en tu terminal actual
00:06:29para mí es el principal punto de venta porque, por mucho que me encante usar cmux, me encanta usar WezTerm mucho
00:06:35más, lo he configurado exactamente de la forma en que me gusta usarlo, y el hecho de que si quiero gestionar mis
00:06:39agentes, todo lo que tengo que hacer es abrir una nueva pestaña de terminal dentro de WezTerm y simplemente ejecutar “herder”. Sí, echarás
00:06:45de menos el navegador web de cmux, pero para ser honesto, realmente no lo usaba mucho. Y para aquellos de
00:06:50ustedes que están viendo esto y usan Windows, tengo algunas noticias realmente malas para ustedes debido a todo lo de los
00:06:54sockets Unix y el hecho de que Herder usa un PTY de terminal, actualmente no hay un gran soporte para Windows
00:06:59en el momento de la grabación. Pero si estás usando Windows, creo que es hora de morder la bala y simplemente
00:07:04usar Linux en arranque dual. Sí, WSL existe, pero no es exactamente lo mismo, ¿verdad?

Key Takeaway

Herder optimiza la gestión de agentes de IA en el desarrollo de software al permitir que los agentes operen y se autogestionen de forma persistente dentro de la terminal actual del desarrollador, independientemente de la conexión SSH.

Highlights

  • Herder funciona como un multiplexor de agentes que permite ejecutar y monitorear múltiples agentes de codificación de forma simultánea dentro de una sola terminal.

  • El software se ejecuta como un binario único escrito en Rust, eliminando la necesidad de dependencias como Electron.

  • Herder ofrece persistencia de sesiones similar a tmux, pero con conciencia integrada de los estados de los agentes (bloqueado, inactivo, trabajando).

  • La herramienta permite que los agentes de IA controlen la propia interfaz de Herder a través de una API de socket, incluyendo la creación de pestañas y divisiones de panel.

  • El modo remoto mediante la bandera --remote permite ejecutar el servidor en una máquina remota sobre SSH mientras el cliente local mantiene la configuración personalizada del usuario.

  • La interfaz soporta control total mediante teclado y ratón, incluyendo la gestión de espacios de trabajo, temas visuales y notificaciones del sistema.

Timeline

Fundamentos y propósito de Herder

  • Herder resuelve la dificultad de monitorear múltiples agentes de IA mediante una interfaz centralizada en la terminal.
  • La arquitectura basada en Rust y Ratatui permite la ejecución sobre SSH y un uso mínimo de recursos al evitar aplicaciones externas.
  • Una API de socket permite a los agentes interactuar directamente con la interfaz del multiplexor.

Herder funciona como un pastor para agentes de codificación, permitiendo visualizar su estado en tiempo real. A diferencia de herramientas como tmux, que fueron creadas antes de la existencia de agentes de IA y carecen de conciencia sobre su actividad, Herder integra esta funcionalidad. Su diseño como binario de Rust le otorga portabilidad y persistencia sin depender de software como Electron.

Demostración de flujo de trabajo

  • La creación de nuevos espacios de trabajo y divisiones de panel se realiza mediante atajos de teclado o el ratón.
  • Herder detecta automáticamente los agentes en ejecución y actualiza su estado en la interfaz.
  • Los agentes tienen la capacidad programática de abrir paneles, ejecutar tareas y cerrarse a sí mismos al finalizar.

Tras la instalación, el usuario puede organizar múltiples instancias de agentes como Claude Code o Codex. La demostración muestra cómo los agentes, al recibir instrucciones específicas, pueden generar nuevos espacios de trabajo para realizar tareas como buscar secretos en el código o resumir archivos, cerrando los paneles de manera autónoma una vez completada la operación.

Uso remoto y configuración

  • El uso de la bandera --remote permite mantener la configuración local (teclas, temas) al conectarse vía SSH a servidores remotos.
  • El cliente local se comunica con el servidor remoto mediante un socket Unix, gestionando la persistencia de la sesión.
  • Herder no ofrece soporte nativo para Windows debido a su dependencia de sockets Unix y PTY de terminal.

Para evitar la pérdida de personalizaciones de teclado o temas al trabajar en servidores remotos, Herder utiliza una arquitectura cliente-servidor a través de SSH. Esto garantiza que la experiencia del usuario sea consistente sin importar dónde se ejecute el código. Aunque es altamente efectivo en sistemas tipo Unix, su uso en Windows requiere soluciones alternativas como el arranque dual de Linux.

Community Posts

No posts yet. Be the first to write about this video!

Write about this video