Skip to main content
Glama
aquaherd
by aquaherd

goose-herdr

goose と Herdr の統合 — AI コーディングエージェント向けターミナルワークスペースマネージャー。

このリポジトリには、補完的な2つのコンポーネントが含まれています:

コンポーネント

方向

機能

goose_herdr MCP 拡張機能

goose → Herdr

herdr CLI をファーストクラスの goose ツールとして公開: ワークスペース/タブ/ペイン/エージェントの検査、レイアウト作成、コマンド実行、出力読み取り、状態待機。

agent-state/ フックプラグイン

goose → Herdr

goose のライフサイクル状態 (working / idle) を、goose セッションをホストしている Herdr ペインに報告します。これにより、Herdr のサイドバーに goose が正しく表示されます。

両方向とも「goose → Herdr」です。Herdr 自体はコード変更を必要としません。フォアグラウンドプロセスでエージェントを検出し、ローカルソケット + CLI を公開します。


前提条件

  • goose がインストールされていること。

  • Herdr がインストールされ、PATH が通っていること(または HERDR_BIN_PATH が設定されていること)。さらに Herdr サーバーが実行中であること。

MCP 拡張機能は、Herdr サーバーにアクセスできる任意のシェルから動作します。状態報告フックは、goose 自体が Herdr 管理下のペイン内で実行されている場合(HERDR_ENV=1)にのみ有効になります。


Related MCP server: herdr-mcp

MCP 拡張機能のインストール

goose 拡張機能は MCP サーバーです。このパッケージは herdr-mcp コンソールスクリプトを公開します。

オプション A — 設定ファイル(永続的)

~/.config/goose/config.yaml の extensions 以下にエントリを追加します:

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

パッケージが PyPI に公開されたら、短い形式を使用できます:

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

オプション B — 対話型 CLI

goose configure

Add Extension → Command-line Extension を選択し、次を入力します:

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

オプション C — 1回限りのセッション(インストールしない)

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

オプション D — ローカル開発インストール

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

次に、cmd: herdr-mcp(args は空)で拡張機能を登録します:

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

状態報告フックのインストール

agent-state/ ディレクトリを goose プラグインの場所にコピーします。例:

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

これは、SessionStart/PreToolUse で working を、Stop で idle を報告し、SessionEnd でエージェントを解放します。HERDR_ENV=1 と HERDR_PANE_ID が設定されていない場合(つまり goose が Herdr ペイン内で実行されていない場合)は何も行いません。


ツール

拡張機能は herdr_* ツールを登録します。読み取り専用のものはいつでも安全に呼び出せます。残りはそれぞれ1つの Herdr アクションを実行します。

グループ

ツール

ステータス / セッション

herdr_status, herdr_session_list, herdr_help

ワークスペース

herdr_workspace_list, _get, _create, _focus, _rename, _close

タブ

herdr_tab_list, _get, _create, _focus, _rename, _close

ペイン

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

エージェント

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

Herdr が使用するエージェント状態: idle, working, blocked, done, unknown。


開発

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

このパッケージは公式の mcp Python SDK (>= 2.0) を使用し、生のソケットプロトコルを直接扱う代わりに herdr CLI をラップしています。

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
    -