Skip to main content
Glama

pi-delegate

実装とテストをローカルの pi エージェントに委譲し、ディスパッチの規律を強制するフックを備えています。

Claude はテックリードとして、プローブ、タスクブック、受け入れスクリプト、判定 を生成します。ソースコードを書くのは pi です。

アーキテクチャ: Claude が MCP ツールを呼び出し、MCP サーバーが各 pi 子プロセスの stdio を保持し、pi の子プロセスがユーザー自身のプロバイダ呼び出します

Claude は RPC プロトコルを直接話すことはありません。MCP サーバーがパイプを握っているからこそ、実行途中の pi_steer や pi_abort が可能になります。

インストール

/plugin marketplace add LarryStanley/pi-delegate
/plugin install pi-delegate@pi-delegate

両方とも Claude Code 内で実行します。最初のコマンドはこのリポジトリをプラグインマーケットプレイスとして登録し、次のコマンドはそこからプラグインをインストールします。インストールの要約に Run /reload-plugins to activate. と表示された場合は、それも実行してください。

Node ≥ 22 と、セットアップ済みの pi インストールが必要です。依存関係はコミット済みロックファイルから自動的にインストールされるため、自分で npm install する必要はありません。

後で更新するには:

/plugin marketplace update pi-delegate

公開 版の代わりに作業コピーを試すには:

claude --plugin-dir /path/to/pi-delegate

--plugin-dir コピーは、そのセッション中はインストール済みのものより優先されるため、アンインストールせずに変更をテストできます。

そのうえで /pi-delegate:setup を実行すると、初回向けガイドウォークスルーが始まります。pi とそのプロバイダを確認し、規律モードを説明してどれを選ぶかを尋ね、修正できるものは修正し、実際にツールを使い始める前に検証用のディスパッチを提案します。

Related MCP server: deleg8

設定: デフォルトでは何も必要ありません

pi_dispatch はプロバイダもモデルも指定しません。pi は自身のデフォルト(~/.pi/agent/settings.json の defaultProvider / defaultModel)を使用します。つまり、あなたが pi に設定している モデルがそのままディスパッチ先になります。anthropic、openai、litellm、ollama、LM Studio、ローカル実行の OpenAI 互換サーバー(例: omlx)はいずれも同じように動作し、このプラグイン専用の設定は必要ありません。

長期的に別のモデルを固定したい場合(たとえば、対話モードの pi は別のモデルを使用し、ディスパッチ専用に安価なローカルモデルを利用するなど)は、~/.claude/pi-delegate/config.json に記述します:

{
  "provider": "ollama",
  "model": "qwen3:8b",
  "timeout_s": 1500,
  "thinking": "off",
  "tools": "read,write,edit",
  "no_context_files": true,
  "drafter_patterns": ["-draft", "_assistant", "-assistant"]
}

すべてのフィールドはオプションです。解決順序は pi_dispatch 呼び出しの引数 → このファイル → pi 自身のデフォルト の順です。

/pi-delegate:doctor は、ディスパッチが実際にどのモデルに届くかを通知し、実際に該当する 条件でのみ問題を表示します。

以下のデフォルト値は、推測ではなく計測に基づいています

パラメーター

デフォルト

理由

thinking

off

小規模なローカルモデルは思考の予算をすべて使い切ってしまい、ツール呼び出しを 1 回も行わない。保有ホステッドモデルは難易度の高い問題では思考の効果があるため、オーバーライド可能にしてある。

tools

read,write,edit

bash を許可すると、モデルが何も書かず ls / cat で際限なくさまよい続けむ。

no_context_files

true

計測結果: なしでは 43 回の読み取り / 0 回の書き込み / タイムアウト。ありなら 93 秒で完了した。

オーバー、pi_dispatch 呼び出し内で直接指定します(thinking、tools、no_context_files、append_system_prompt、provider、model、timeout_s)。

--mode rpc、--session-id、--no-skills、--no-extensions は構造的なものなのでオーバーライドできません。また、--no-session は意図的に決して渡されません(渡さないことでセッションがディスク上に保存され、pi_transcript が読み取る対象になります)。

モード

モード

動作

off

一切の介入をしない

soft

既存のプロダクトコードに触れたときに注意を促す(デフォルト)

strict

既存のプロダクトコードへの編集をブロックする

モードの切替は /pi-delegate:mode <mode> で行います。状態は ~/.claude/pi-delegate/modes.json に保存され、プロジェクトごとに保持されます。「既存のプロダクトコード」とは、プロジェクトルートの src/ 配下にすでに存在するソースファイルがそれに当たります。tasks/、scripts/、docs/、markdown、設定ファイル、そして新規作成ファイルはすべて通過できます。

strict は規律のガードレールであり、強制ではありません。フックは Write|Edit にのみ配線されているため、同じファイルを Bash で編集する経路(sed -i、ヒアドキュメント、python - <<EOF など)は一切検知されません。回避手段は常に存在します。すなわち、故意のワークアラウンドではなく、あなたが自分でそのファイルを触ってしまう習慣を防ぐためのものです。

手動で1回だけ編集(プローブ)を入れたい場合は、先に /pi-delegate:probe を実行して一回限りのバイパスを取得してください。

MCP ツール

ツール

目的

pi_dispatch

task book をディスパッチします。mode=sync は結果を待機し、mode=async はバックグラウンドで実行します

pi_status

進行状況を確認します

pi_steer

実行中の進み方が誤った方向へ向いているときに割り込みします

pi_abort

中止します。中止したタスクは変更せずに再ディスパックします。タスクブックを書き直すのは実際の失敗の後だけにしてください

pi_result

非同期ディスパッチの判定 を収集します

pi_transcript

判定だけでは十分でない場合にのみ詳細を掘り下げます

pi_stats

トークン使用量を確認します

ディスパッチの仕組み

ディスパッチ呼び出しのシーケンス図 (後に main-run pi_dispatch の呼び出し、さらにpi_steer が続きます; Claude、MCP サーバー、pi 子プロセス、プロバイダの間のやりとりを示しています)

MCP サーバーのアクティベーションはセッション全体にわたるため、実行途中でも pi 子プロセスの stdin に steer を送り届けることができます。また、実行が終わったと判断するのは(子プロセスではなく)MCP サーバーだからです。

既知のギャップ

pi_stats は、判定にすでに含まれている tokens と duration_s のみを返します。仕様 §5 の get_session_stats パススルー(cost / context の使用量を含む)はまだ実装されていません。

ドキュメント

ファイル

内容

docs/publish-prep-report.md

リリース前パスの変更と検証ノート

docs/superpowers/specs/2026-08-22-pi-delegate-plugin-design.md

設計仕様(履歴)

docs/superpowers/plans/2026-08-22-pi-delegate-plugin.md

実装計画(履歴)

skills/delegating-to-pi/

ディスパッチ規律そのもの: 4つの分担、タスクブック、受け入れ、モデル選択

開発

npm test                    # node --test, no external dependencies
claude plugin validate .

fixtures/fake-pi.mjs は pi --mode rpc の代役をします。注意してください。このファイルは意図的に test/ の外に置かれています。node --test は **/test/**/*.{cjs,mjs,js} の配下にあるファイルすべてをテスト ファイルとして扱うため、test/ 内に置くと、常に成功する偽テストが 1 つ紛れ込むことになります。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables MCP clients to spawn and control Codex CLI and Claude Code sessions on the host machine, with session management and filesystem access.
    4
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables Claude Code to delegate work to persistent oh-my-pi (omp) subagents via an MCP server with 7 tools (spawn, send, output, status, list, stop, prune), wrapping omp RPC mode with enforcement hooks for descriptive agent naming, model configuration, denylists, write-scope ownership, and cooperative locking.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Delegates coding tasks to the local Claude Code CLI via MCP, offering run, review, and status tools for MCP-compatible agents.
    11 npm
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP hosts like Claude Code and Codex to spawn, manage, and interact with persistent, reusable Pi coding-agent sessions, supporting task dispatch, status checks, and session lifecycle control.
    3 npm
    -