Pi
Pi コーディングエージェントは公式の Chorus 統合で、公開された npm パッケージ
@chorus-aidlc/chorus-pi として配布されます。Chorus のワークフロースキル、読み取り専用の
レビュー用サブエージェント、Pi 公式の subagent ツール、そしてセッション対応の拡張フックを、
Pi ネイティブの拡張・スキル・エージェントの仕組みを通じて提供し、いずれも一度の pi install
でインストールされます。
Pi は 起動可能な --agent pi デーモンバックエンドとして実行することもできます。リモートから
作業が送られると Chorus デーモンがヘッドレスな Pi セッションを起動するため、Pi は Claude Code、
Codex、Kiro と同じように反転した対話のループに参加します。
インストール前に、エージェントのアクセスを準備するに従って API キーを作成します。
推奨:自動で設定する
Section titled “推奨:自動で設定する”次のコマンドを実行し、Chorus URL とエージェントキーを入力します。
chorus agents add --agents pi対応する安定版 Pi では chorus-pi をインストールし、MCP 設定も自動で書き込みます。ネイティブ MCP は ~/.pi/agent/mcp.json、旧アダプターは ~/.pi/agent/mcp-adapter.json を使い、どちらも PI_CODING_AGENT_DIR に従います。ネイティブ Pi は組み込み MCP を使うため、アダプターや別途の pi mcp add は不要です。自動設定に成功したら、下記の手動ステップ 1–3 は不要です。
対話型セッションでも認証情報を手動で export せずに使うには、構成済みエージェントを一覧し、Pi エージェントを名前または UUID で起動します。
chorus agentschorus agents run <name-or-uuid>ランチャーは保存済みの設定から CHORUS_URL、CHORUS_API_KEY、CHORUS_AGENT_PROFILE を渡します。その後、接続を確認してください。pi を直接起動する場合だけ、シェル環境にキーを設定する必要があります。デーモン起動時にも自動で渡されます。既存アダプターや無効化された組み込み MCP がある場合は、下記の移行手順で競合を解消してください。
MCP バックエンドを選ぶ
Section titled “MCP バックエンドを選ぶ”インストール前に pi --version で安定版を確認します。Chorus 0.21.1 の chorus agents add --agents pi はバージョンに応じて構成を選びます。
| Pi のバージョン | MCP バックエンド | インストールするパッケージ |
|---|---|---|
>=0.99.0 <2.0.0 | ネイティブ MCP | @chorus-aidlc/chorus-pi のみ |
0.84.4–0.98.x | 旧アダプター | pi-mcp-adapter@5.0.0 と @chorus-aidlc/chorus-pi |
それ以前のバージョンと Pi 2.x は非対応で、パッケージ操作は行いません。バージョン不明やプレリリース版ではアダプターを変更せず、MCP 設定完了とも報告しません。対応する安定版を先にインストールしてください。デーモンからの起動には、この範囲内の Pi 0.85.0 以降が必要です。
別のサブエージェントパッケージは不要です。chorus-pi に Pi 公式の subagent ツールが含まれます。Chorus API キーも用意してください。以下は手動設定の手順です。
手動ステップ 1:環境変数を設定する
Section titled “手動ステップ 1:環境変数を設定する”export CHORUS_URL="http://localhost:8637"export CHORUS_API_KEY="cho_REDACTED"対話型 Pi を起動するシェルで設定します。インストーラーは Pi の env ファイルには保存しません。CHORUS_URL はルート URL または完全な /api/mcp エンドポイントです。構成済みエージェントを選ぶ場合は CHORUS_AGENT_PROFILE も設定します。デーモン起動時には自動で渡されます。
明示的な環境変数が優先されます。Chorus 拡張はセッションやチェックイン用に以下の対応するグローバル MCP ファイルも読み取りますが、ネイティブのプロジェクト専用 .pi/mcp.json は検出しません。その構成では両方の変数を引き続き設定してください。
手動ステップ 2:Pi のバージョンに合わせて MCP を設定する
Section titled “手動ステップ 2:Pi のバージョンに合わせて MCP を設定する”ネイティブ MCP:安定版 Pi >=0.99.0 <2.0.0
Section titled “ネイティブ MCP:安定版 Pi >=0.99.0 <2.0.0”pi mcp add chorus --url "http://localhost:8637/api/mcp" --bearer-token-env-var CHORUS_API_KEYpi mcp list保存先は ~/.pi/agent/mcp.json です。PI_CODING_AGENT_DIR でエージェントディレクトリを変更できます。プロジェクト用には pi mcp add --local を使います。保存先は .pi/mcp.json で、プロジェクトの信頼が必要です。ルートの .mcp.json ではありません。
同等のグローバル設定は次のとおりです。
{ "mcpServers": { "chorus": { "type": "http", "url": "http://localhost:8637/api/mcp", "headers": { "Authorization": "Bearer ${CHORUS_API_KEY}" } } }}ネイティブ MCP の既定は codemode です。直接ツール公開に切り替える必要はありません。pi mcp list は組み込み MCP を確認しますが、対話型の /mcp は既存アダプターが提供している場合があります。
旧アダプター:Pi 0.84.4–0.98.x
Section titled “旧アダプター:Pi 0.84.4–0.98.x”pi install npm:pi-mcp-adapter@5.0.0 を実行します。上の JSON を ~/.pi/agent/mcp-adapter.json(または $PI_CODING_AGENT_DIR/mcp-adapter.json)に保存し、mcpServers.chorus 内に "directTools": true を追加します。toolPrefix の変更は名前だけに作用し、直接ツール公開を有効にはしません。
両バックエンドとも ${CHORUS_API_KEY} を解決します。実際のキーは環境変数に保持してください。adapter5 は旧設定の検出やインポートにも対応しますが、旧グローバル mcp.json は主設定ファイルではありません。
chorus agents add は既存の直接ツール設定や他のサーバー、設定を保持します。旧アダプターの主設定がなければ、旧グローバル mcp.json を新しい主設定にコピーし、元ファイルは残します。既存の主設定を優先し、壊れたファイルや読み取れないファイルは上書きしません。生成する Chorus ヘッダーは実際のキーではなく環境変数を参照します。
既存アダプターの更新と移行
Section titled “既存アダプターの更新と移行”chorus upgrade --plugins と、chorus agents add で承認したプラグインの更新は対象となる Chorus コンポーネントだけを更新し、全拡張や Pi 本体は更新しません。旧アダプターは検証済みの 5.0.0 固定を保持し、latest にはしません。他のアダプター制約や Chorus の固定版・範囲も保持するため、設定や最新版への更新が未完了になることがあります。
ネイティブ対応環境では、既存アダプターや -builtin:mcp 拡張フィルターについて警告するだけです。ネイティブ MCP を選ぶ場合は、グローバル ~/.pi/agent/settings.json(PI_CODING_AGENT_DIR に従う)とプロジェクトの .pi/settings.json を確認し、元のスコープでのみアダプターとそのフィルターを削除します。他の設定は保持してください。pi remove npm:pi-mcp-adapter はグローバル npm インストール用で、プロジェクトの項目には適用しません。Pi を再起動し、実際の MCP ツールを確認します。設定を書くだけでは接続の回復は保証されません。
手動ステップ 3: chorus-pi パッケージをインストールする
Section titled “手動ステップ 3: chorus-pi パッケージをインストールする”pi install npm:@chorus-aidlc/chorus-piインストールはこれで完了です。subagent ツールはパッケージ内に同梱されており、3 つのレビュアー
エージェントはパッケージ自身の agents/ ディレクトリから直接検出されます。別個のサブエージェント
依存関係はなく、エージェントファイルを ~/.pi/agent/agents/ へ手動でコピーする必要も
ありません。拡張、スキル、レビュアーエージェントを読み込むために、Pi を再起動します
(/reload または新しいセッション)。
chorus-pi をローカルで開発していますか?その場合はリポジトリのチェックアウトからインストール
します:pi install ./packages/chorus-pi。
接続を確認する
Section titled “接続を確認する”Pi を再起動し、/mcp を確認して、Pi に chorus_checkin の呼び出しを依頼します。応答が想定した
エージェントの身元と権限を示すこと、そして最初のターンでチェックイン情報とともに
# Chorus Plugin — Active コンテキストが報告されることを確認します。/skill:chorus と入力して
スキルが読み込まれたことを確認し、/subagents で chorus-proposal-reviewer を確認します。
- 14 のスキルが AI-DLC の全段階を駆動します。
/skill:chorus、/skill:idea、/skill:proposal、/skill:develop、/skill:review、/skill:quick-dev、/skill:yolo、/skill:brainstorm、/skill:orchestrate、/skill:docs、/skill:chorus-cli、加えてopenspec-aware、spec-lite、researchサブ手順。researchは idea スキルと proposal スキルが呼び出す短い事実調査で、 着想の リサーチ 操作が実行するのもこれです。 - 3 つの読み取り専用レビュー用サブエージェント —
chorus-proposal-reviewer、chorus-task-reviewer、chorus-code-reviewer— はパッケージ相対で検出され(コピー不要)、subagentツールを介して起動されます。これらはVERDICTコメントを投稿して停止します。 コミュニティのpi-subagentsパッケージのもとでは、呼び出しで直接指定された Chorus のレビュアーと ワーカーは、その呼び出しがasync: falseを求めていてもバックグラウンドで実行されます。拡張機能が バックグラウンドの実行経路に固定するためです。 - サブエージェント向けのロール別 Chorus ツール(Chorus 0.22.1 以降)— 各レビュアーは自分の
chorus_reviewツール(照会、チェックイン、コメントの操作)だけを通じて Chorus にアクセスし、同梱のchorus-workerはchorus_workを使います。chorus_workには、課題の担当、解放、更新、報告、セルフチェック、 検証への提出、セッションのチェックイン/チェックアウトの操作が加わります。どちらもネイティブ MCP と旧来の アダプターのホストで動作し、MCP ゲートウェイツールも設定変更も不要です。どちらのロールも、管理操作、 エンティティの作成、セッションの作成と終了は許可しません。chorus_review({ action: "discover" })またはchorus_work({ action: "discover" })を呼ぶと、許可された操作を一覧できます。これはツールのポリシーであって サンドボックスではありません。bash、ネットワークアクセス、引き継いだ認証情報は隔離されません。 - Pi 公式の
subagentツールはextensions/subagent/(Pi のリファレンスパターン)に同梱されているため、 第三者のサブエージェントパッケージは不要です。さらにコミュニティのpi-subagentsパッケージ (nicobailon)と共存します。両者ともsubagentという名前のツールを登録するため、settings.packagesフィルターで同梱版を除外します。chorus-piのセッションライフサイクルは、 そのパッケージによる非同期 / detached なサブエージェント実行も、同梱版のブロッキング実行とあわせて追跡します。 フィルターと設定はchorus-piREADME を参照。 - セッション対応の拡張が Pi ネイティブのイベントを購読します(
session_start→chorus_checkin+ 仕様モードの解決、subagentに対するtool_call→ ワーカーごとの Chorus セッション、tool_result→ ワーカーセッションのクローズ + レビュアーの促し、session_shutdown→ クリーンアップ)。
拡張は環境変数で設定します(Pi にはプラグイン設定 UI がありません)。CHORUS_SPEC_MODE で openspec、
lite、off を選べます。未設定の場合、OpenSpec が使用可能ならそれを、そうでなければ spec-lite を使います。従来の
CHORUS_OPENSPEC_MODE=off は OpenSpec だけを無効にし、自由形式ではなく lite にフォールバックします。
ローカル仕様ファイルが不要なら CHORUS_SPEC_MODE=off を使ってください。
OpenSpec モードと Spec-lite モードを参照。
レビューのトグルは引き続き CHORUS_ENABLE_{PROPOSAL,TASK,CODE}_REVIEWER(既定 true)です。
任意の提出前読み直しゲート
Section titled “任意の提出前読み直しゲート”chorus-pi 拡張には任意の呼び出し順序リマインダーがあり、既定では無効です。Pi を起動するプロセスの環境変数を設定し、Pi を再起動します。
CHORUS_SUBMIT_GATE=warn pioff(未設定や未知の値も同じ):チェックしません。warn:警告を表示しますが、ツール呼び出しは続行します。block:読み直しが不足または古い場合、認識した提出呼び出しを止めます。
デーモン起動では ~/.chorus/daemon.json の Pi エージェントの既存の env オブジェクトに "CHORUS_SUBMIT_GATE": "block" を追加し、デーモンを再起動します。Pi プロセスの環境設定であり、MCP サーバー設定や CHORUS_ENABLE_*_REVIEWER スイッチではありません。ヘッドレス実行では警告の表示に頼らず、防止が必要なら block を使ってください。
chorus_submit_for_verify の前に、最後の変更後の同じ課題を chorus_get_task で読み直し、in_progress を確認します。一覧や割り当ての取得は代用できません。chorus_pm_submit_proposal の前には chorus_pm_validate_proposal を呼び出します。その後のドラフト編集で検証記録は無効になります。valid: false はゲートを通らず、助言の警告は自分で判断します。status 付きの作業報告は課題の読み取り記録を無効にしますが、指定しない報告は無効にしません。提出は記録を消費するため、再提出には新たな読み取りが必要です。変更前に開始した読み取りは後から完了しても変更後の状態を証明できません。
これはローカルな呼び出し順序の追跡であり、サーバー検証、認可境界、受け入れ基準のレビューではありません。Pi イベントの認識可能な外側のツール名を監視し、ネイティブ MCP(mcp__chorus__…)と旧式の直接ツール(chorus_chorus_…)に対応します。シェルコマンドや汎用ディスパッチャー内の呼び出しは調べず、他クライアントの変更も把握しません。状態チェックは解析可能な結果に依存し、最終判断はサーバーが行います。状態修復、自己チェック、レビュー担当の起動を自動で行う機能ではありません。報告 → 自己チェック → 読み直し → 明示的提出の順序と誤操作からの復旧は課題を実行するを参照してください。
Pi を起動可能なデーモンバックエンドとして実行する
Section titled “Pi を起動可能なデーモンバックエンドとして実行する”Pi は第一級の 起動可能なデーモンバックエンドです。リモートから作業が送られると
(エージェントへの着想・課題の割り当て、@mention、提案の決定)、Chorus デーモンがヘッドレスな Pi
セッションを起動します。
最も簡単なのは chorus agents add --agents pi です。Pi のバージョンに合うネイティブ MCP または検証済み旧アダプターを選び、chorus-pi をインストールし、~/.chorus/daemon.json に Pi を登録します。同意すれば起動時サービスもインストールします。手動で起動する場合:
chorus daemon --agent pi- デーモンは
PATHからpi実行ファイルを解決し(CHORUS_PI_PATHで上書き可能)、起動ごとに ヘッドレスのpi --mode rpcプロセスを一つ開始します。起動されたセッションにはCHORUS_URL/CHORUS_API_KEY/CHORUS_AGENT_PROFILEをエクスポートします。デーモンからの起動には Pi 0.85.0 以降が必要です。0.20.0 のデーモン動作を参照してください。 - Pi には権限システムがありません。そのためサンドボックスや skip-permissions フラグは関与
しません。
chorusモードでもyoloモードでも、デーモンによる Pi の実行方法は同じです。 - デーモンが起動する環境に
chorus-piとバージョンに合う MCP 設定を用意してください。ネイティブ Pi にはアダプターは不要です。
デーモンは Chorus 接続(CHORUS_URL、CHORUS_API_KEY、CHORUS_AGENT_PROFILE)を提供しますが、
モデルプロバイダーの認証情報を取得してくれるわけではありません。~/.chorus/daemon.json 内のそのエージェントの env、
デーモンが継承する環境、またはプロバイダーが対応する認証情報ストアで提供してください。systemd --user サービスは
ログインシェルの export を継承しません。モデルと思考の引数、エージェントごとの env、サービスの認証情報、
必要な再起動についてはデーモンガイドを参照してください。
0.20.0 のデーモン動作
Section titled “0.20.0 のデーモン動作”Chorus 0.20.0 から、Pi の起動はすべて Pi の RPC モードで実行されます。以前のヘッドレスモードへの フォールバックはないため、デーモンを実行するすべてのホストで Pi を更新してください。
pi --version # 0.85.0 以降が必要npm install -g "@earendil-works/pi-coding-agent@>=0.85.0 <2.0.0" # pi 本体を更新chorus upgrade --plugins は対象の Chorus コンポーネントを更新し、Pi 本体は更新しません。旧 adapter5 は前述の固定版を保持します。RPC 通信は Linux の Pi 0.85.1 で検証済みです。
- 古い Pi: デーモンはその起動をスキップし、上記の更新コマンドをログに出します。Pi のバージョンを 読み取れない場合は警告を記録し、そのまま起動を試みます。
- セッションの継続: 各着想は自分の Pi セッションを保持し、更新前に作られたセッションも 引き継がれます。Pi が以前のセッション履歴を復元できない場合、起動は新しいセッションで続行され、 会話に以前の履歴を復元できなかったという通知が表示されます。
- 中断: Chorus で 中断 を押すと RPC
abortが送られ、実行中のツールも含めて Pi の現在の実行が停止します。 Pi が終了コード 0 で終了しても、そのターンは中断として記録されます。sigintTimeoutMsの経過後も Pi が動作している場合は、 従来どおりデーモンが強制停止します。 - 拡張のダイアログ: 起動中は端末の前に誰もいないため、拡張のダイアログ(select、confirm、
input、editor)は即座にキャンセルされ、デーモンは
cancelled pi extension <method> dialogを ログに出します。質問には Chorus のコメントか要件詳細化を使ってください。 - プロセスの探し方: Pi はプロセス名を
piに変更するため、Linux ではpgrep -f 'pi --mode rpc'では見つかりません。pgrep -x pi -P <daemon-pid>を使ってください。
よくある問題
Section titled “よくある問題”- MCP サーバーが見つからない:バージョンに合う設定ファイルを確認します。ネイティブ Pi では
pi mcp listを実行し、対話型ツールが異なる場合はプロジェクトの信頼、旧アダプター、-builtin:mcpフィルターも確認します。 - スキルやレビュアーがない:
chorus-piのインストールを確認し Pi を再起動します。レビュアーは同梱され、手動コピーや別パッケージは不要です。 - 接続が認証されない:起動シェルの
CHORUS_URLとCHORUS_API_KEYを確認して Pi を再起動します。共有設定に実際のキーを書かないでください。 - ツール名が異なる:推測せず、検出されたスキーマを確認します。ネイティブ MCP は
mcp__chorus__chorus_checkinなど、旧直接ツールは通常chorus_chorus_checkinを使います。toolPrefix: "none"は旧版の名前のみを変えます。 - レビュアーやワーカーが Chorus のツールに到達できない:Chorus 0.22.1 以降に更新します。この版は、ネイティブ MCP とアダプターの両方のホストで、ロール別の
chorus_reviewとchorus_workツールを復元します。同梱のエージェントファイルを別の場所にコピーした場合は、そのsubagentOnlyExtensionsのプロバイダーパスを更新してください。MCP 接頭辞ごとのワークフロー通知には 0.21.1 以降が必要です。レビュアーは判定の投稿以外は読み取り専用です。
一般的な接続問題は接続のトラブルシューティングを参照してください。