コンテンツにスキップ

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 キーを作成します。

次のコマンドを実行し、Chorus URL とエージェントキーを入力します。

Terminal window
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 で起動します。

Terminal window
chorus agents
chorus agents run <name-or-uuid>

ランチャーは保存済みの設定から CHORUS_URL、CHORUS_API_KEY、CHORUS_AGENT_PROFILE を渡します。その後、接続を確認してください。pi を直接起動する場合だけ、シェル環境にキーを設定する必要があります。デーモン起動時にも自動で渡されます。既存アダプターや無効化された組み込み 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:環境変数を設定する”
Terminal window
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”
Terminal window
pi mcp add chorus --url "http://localhost:8637/api/mcp" --bearer-token-env-var CHORUS_API_KEY
pi 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 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 ヘッダーは実際のキーではなく環境変数を参照します。

chorus upgrade --plugins と chorus init --update-installed は対象となる 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 パッケージをインストールする”
Terminal window
pi install npm:@chorus-aidlc/chorus-pi

インストールはこれで完了です。subagent ツールはパッケージ内に同梱されており、3 つのレビュアー エージェントはパッケージ自身の agents/ ディレクトリから直接検出されます。別個のサブエージェント 依存関係はなく、エージェントファイルを ~/.pi/agent/agents/ へ手動でコピーする必要も ありません。拡張、スキル、レビュアーエージェントを読み込むために、Pi を再起動します (/reload または新しいセッション)。

chorus-pi をローカルで開発していますか?その場合はリポジトリのチェックアウトからインストール します:pi install ./packages/chorus-pi。

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 のツールに到達できないためです。
  • Pi 公式の subagent ツールは extensions/subagent/(Pi のリファレンスパターン)に同梱されているため、 第三者のサブエージェントパッケージは不要です。さらにコミュニティの pi-subagents パッケージ (nicobailon)と共存します。両者とも subagent という名前のツールを登録するため、 settings.packages フィルターで同梱版を除外します。chorus-pi のセッションライフサイクルは、 そのパッケージによる非同期 / detached なサブエージェント実行も、同梱版のブロッキング実行とあわせて追跡します。 フィルターと設定は chorus-pi README を参照。
  • セッション対応の拡張が 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)です。

Pi を起動可能なデーモンバックエンドとして実行する

Section titled “Pi を起動可能なデーモンバックエンドとして実行する”

Pi は第一級の 起動可能なデーモンバックエンドです。リモートから作業が送られると (エージェントへの着想・課題の割り当て、@mention、提案の決定)、Chorus デーモンがヘッドレスな Pi セッションを起動します。

最も簡単なのは chorus agents add --agents pi です。Pi のバージョンに合うネイティブ MCP または検証済み旧アダプターを選び、chorus-pi をインストールし、~/.chorus/daemon.json に Pi を登録します。同意すれば起動時サービスもインストールします。手動で起動する場合:

Terminal window
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、サービスの認証情報、 必要な再起動についてはデーモンガイドを参照してください。

Chorus 0.20.0 から、Pi の起動はすべて Pi の RPC モードで実行されます。以前のヘッドレスモードへの フォールバックはないため、デーモンを実行するすべてのホストで Pi を更新してください。

Terminal window
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> を使ってください。
  • 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" は旧版の名前のみを変えます。
  • 旧プラグインでワークフロー通知やネイティブ MCP でのレビューが失敗する:Chorus 0.21.1 以降に更新します。この版は MCP 接頭辞ごとの Pi/dsh 通知と Pi ネイティブ MCP レビュアーの互換性を修正します。レビュアーは判定の投稿以外は読み取り専用です。

一般的な接続問題は接続のトラブルシューティングを参照してください。