pi-rpc-sdk について
pi-mono のコーディングエージェントを RPC、JSON イベント、TypeScript SDK で統合する開発者向けのスキルです。プロトコルのフレーミング要件と、サブプロセスではなくインプロセスのセッションを選ぶ場面を説明します。
主な機能
- 01RPC フレーミングのガイダンス
- 02JSON イベントストリームの利用
- 03TypeScript セッションの組み込み
- 04複数セッションランタイムの指針
活用シーン
- 01コーディングエージェント用 RPC クライアントの構築
- 02JSON イベントによるエージェント動作の観察
- 03Node.js へのコーディングセッションの組み込み
- 04複数エージェントセッションのホスト
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ romiluz13/ pi-agent-skills --skill pi-rpc-sdkインストール後、Claude Code で/pi-rpc-sdkを入力して読み込まれたか確認します。
同梱ファイルreferences/CORPUS.md
詳細
Pi RPC と SDK の統合
根拠資料
pi-mono/packages/coding-agent/docs/rpc.md— フレーミングセクション(レコード区切り文字は LF のみ。U+2028/U+2029 によるreadlineとの非互換性)。pi-mono/packages/coding-agent/docs/sdk.md— プログラムによるセッションのパターンと、createAgentSession、AgentSession、createAgentSessionRuntime、ModelRegistry.create()、AuthStorage.create()、SessionManager.inMemory()。pi-mono/packages/coding-agent/docs/json.md—--mode jsonのイベントストリーム:セッションヘッダー、agent_*/turn_*/message_*/tool_execution_*イベント、jqによるフィルタリング例。pi-mono/packages/coding-agent/src/modes/rpc/rpc-client.ts— 該当する場合、rpc.mdの導入部で言及されている参考用 TypeScript クライアント。pi-mono/packages/coding-agent/src/core/agent-session.ts— プロセス内への組み込みに使用する API(rpc.mdの TypeScript ユーザー向け注記を参照)。
不変条件
- フレーミング規則は
pi-mono/packages/coding-agent/docs/rpc.mdに記載された規範的な内容です。クライアントの実装者に説明する際は、必ず同ファイルに厳密に沿って引用または言い換えてください。 rpc.mdのpromptコマンドに関する 入力の展開 の箇条書きのとおり、スキルコマンドとプロンプトテンプレートは RPC プロンプト用に展開されます。--mode jsonは読み取り専用の監視(stdout のイベント)であり、--mode rpcは双方向の制御(stdin のコマンドと stdout の応答)です。用途は異なりますが、U+2028/U+2029 に関するフレーミング上の注意点は共通です。- TypeScript/Node でプロセス内に組み込む場合は、
createAgentSession()が主要なファクトリーです。sessionManager、authStorage、modelRegistryが必要です。高度なマルチセッションのホスティングには、agent、sessionManager、settingsManager、modelRegistry、extensions、bashExecutor、resourceLoaderへの低レベルアクセスを提供するAgentSessionRuntimeを返すcreateAgentSessionRuntime()を使用してください —pi-mono/packages/coding-agent/docs/sdk.md。
ワークフロー
- 統合方法の選択:ユーザーが Node/TS を使用している場合は、サブプロセスより
AgentSessionを優先するというrpc.mdの推奨を案内し、ファイル冒頭の Node.js/TypeScript ユーザー向け注記を参照してください。 - フレーミングのデバッグ:フレーミングセクションを読み直してください。一般的な行読み取り機能を準拠した方法として提案しないでください。
- JSON イベントストリーム:エージェントの動作を読み取り専用で監視する場合は
json.md(--mode json)を、双方向で制御する場合はrpc.md(--mode rpc)を案内してください。 - プロセス内への組み込み:サブプロセスによる分離が不要な TypeScript/Node ユーザーには、
--mode rpcよりcreateAgentSession()を優先してください。@mariozechner/pi-coding-agentからインポートします。pi-mono/packages/coding-agent/docs/sdk.mdとpi-mono/packages/coding-agent/examples/sdk/を参照してください。
アンチパターン
rpc.mdの区切り文字の動作に反する説明は避けてください(レコード区切り文字は\nのみ。入力時には任意で\rを除去します)。
コメント
Markdown 対応