Skip to main content
Glama
aquaherd
by aquaherd

goose-herdr

Una integración de goose para Herdr — el gestor de espacios de trabajo en terminal para agentes de codificación de IA.

El repositorio incluye dos piezas complementarias:

Pieza

Dirección

Qué hace

Extensión MCP goose_herdr

goose → Herdr

Expone la CLI de herdr como herramientas de goose de primera clase: inspeccionar espacios de trabajo/pestañas/paneles/agentes, crear diseño, ejecutar comandos, leer salida, esperar estado.

Plugin de hook agent-state/

goose → Herdr

Informa del estado del ciclo de vida de goose (working / idle) al panel de Herdr que aloja la sesión de goose, para que la barra lateral de Herdr muestre goose correctamente.

Ambas direcciones son "goose → Herdr". Herdr en sí no necesita cambios de código: detecta agentes por el proceso en primer plano y expone un socket local + CLI.


Requisitos previos

  • goose instalado.

  • Herdr instalado y en tu PATH (o con HERDR_BIN_PATH configurado), con un servidor de Herdr en ejecución.

La extensión MCP funciona desde cualquier shell que pueda alcanzar el servidor de Herdr. El hook de reporte de estado solo se activa cuando goose se ejecuta dentro de un panel gestionado por Herdr (HERDR_ENV=1).


Related MCP server: herdr-mcp

Instalar la extensión MCP

Las extensiones de goose son servidores MCP. El paquete expone un script de consola herdr-mcp.

Opción A — archivo de configuración (persistente)

Añade una entrada bajo extensions en ~/.config/goose/config.yaml:

extensions:
  herdr:
    name: Herdr
    cmd: uvx
    args: ["--from", "git+https://github.com/aquaherd/goose-herdr", "herdr-mcp"]
    enabled: true
    envs: {}
    type: stdio
    timeout: 300

Una vez que el paquete esté publicado en PyPI, puedes usar la forma más corta:

    args: ["--from", "goose-herdr", "herdr-mcp"]

Opción B — CLI interactiva

goose configure

Elige Añadir extensión → Extensión de línea de comandos, luego introduce:

uvx --from git+https://github.com/aquaherd/goose-herdr herdr-mcp

Opción C — sesión única (no instalada)

goose session --with-extension "uvx --from git+https://github.com/aquaherd/goose-herdr herdr-mcp"

Opción D — instalación local para desarrollo

git clone https://github.com/aquaherd/goose-herdr
cd goose-herdr
uv pip install -e .          # or: pip install -e .

Luego registra la extensión con cmd: herdr-mcp (y args vacío):

extensions:
  herdr:
    name: Herdr
    cmd: herdr-mcp
    args: []
    enabled: true
    envs: {}
    type: stdio
    timeout: 300

Instalar el hook de reporte de estado

Copia el directorio agent-state/ en una ubicación de complementos de goose, por ejemplo:

mkdir -p ~/.agents/plugins/goose-herdr-agent-state
cp -r agent-state/plugin.json agent-state/hooks agent-state/scripts \
  ~/.agents/plugins/goose-herdr-agent-state/
chmod +x ~/.agents/plugins/goose-herdr-agent-state/scripts/report-state.sh

Esto reporta working en SessionStart/PreToolUse, idle en Stop, y libera el agente en SessionEnd. No hace nada a menos que HERDR_ENV=1 y HERDR_PANE_ID estén configurados (es decir, goose se ejecuta en un panel de Herdr).


Herramientas

La extensión registra herramientas herdr_*. Las de solo lectura son seguras de llamar en cualquier momento; el resto realizan una acción de Herdr cada una.

Grupo

Herramientas

Estado / sesiones

herdr_status, herdr_session_list, herdr_help

Espacios de trabajo

herdr_workspace_list, _get, _create, _focus, _rename, _close

Pestañas

herdr_tab_list, _get, _create, _focus, _rename, _close

Paneles

herdr_pane_list, _current, _get, _split, _read, _run, _send_text, _send_keys, _wait_output, _rename, _focus, _close

Agentes

herdr_agent_list, _get, _read, _prompt, _send_keys, _rename, _focus, _wait, _start

Estados de agente usados por Herdr: idle, working, blocked, done, unknown.


Desarrollo

uv venv .venv
uv pip install --python .venv/bin/python -e .
.venv/bin/herdr-mcp      # starts the MCP server over stdio

El paquete utiliza el SDK oficial mcp de Python (>= 2.0) y envuelve la CLI de herdr en lugar de hablar directamente con el protocolo de socket sin formato.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to orchestrate Herdr coding agents by wrapping its Unix-socket JSON-RPC API, providing tools for agent management, layout editing, and terminal interaction.
    -
  • F
    license
    A
    quality
    B
    maintenance
    MCP server that exposes the Herdr terminal API as callable tools, enabling AI agents to manage terminal workspaces, tabs, panes, and agents. It dynamically generates tools from the Herdr API schema and communicates via Unix socket.
    20
    -
  • F
    license
    A
    quality
    B
    maintenance
    Enables coding agents to control and inspect a running Herdr terminal session, including listing workspaces, tabs, panes, and agents, reading pane output, prompting agents, sending keys and commands, waiting for output or state, and splitting or closing panes.
    14
    -