svkozak/pi-acp
ACP adapter for pi coding agent
解決する問題
pi-acp は、pi コーディングエージェントを、Zed エディタなど Agent Client Protocol (ACP) をサポートするエディタやクライアントで使用できるようにするアダプタです。pi エージェントの内部 RPC と ACP 標準の間のギャップを埋め、元々ターミナル用に設計されたツールにヘッドレスまたはエディタ統合のエクスペリエンスを提供します。
仕組み
このアダプタは、標準入力/出力 (stdio) を介して JSON-RPC 2.0 で ACP クライアントと通信します。pi エージェントを RPC モード (pi --mode rpc) で起動し、クライアントとエージェントの間でリクエストとイベントを変換します。主な変換は次のとおりです。
- ツール実行:
piツール呼び出しを ACP のtool_callおよびtool_call_updateイベントにマッピングし、相対ファイルパスを絶対パスに解決して、エディタが追跡できるようにします。 - ストリーミング: アシスタントの応答を ACP の
agent_message_chunkイベントとしてストリーミングします。 - セッション管理: ACP セッションのロードと作成を
pi独自のセッション永続化ファイルにマッピングします。 - コンテキスト追跡:
usage_updateイベントを介して、piのリアルタイムのコンテキスト使用量とトークン使用量をクライアントに報告します。
対象読者
pi コーディングエージェントを使用しており、別のターミナルウィンドウを使用する代わりに、IDE(特に Zed)に直接統合したい開発者。
ハイライト
- Zed エディタ統合: セッション履歴、起動情報、ツール位置の表示を完全にサポート。
- 構造化差分: 行番号を推測し、ファイル編集に対して構造化差分 (
oldText/newText) を出力しようとします。 - スラッシュコマンドサポート: ファイルベースのプロンプト、組み込みコマンド(
/compactや/exportなど)、スキルコマンドをサポート。 - セッション永続化: 異なる ACP クライアントや
piターミナルエージェント間でセッションを再開できます。 - ターミナル認証: ACP レジストリのターミナル認証をサポートし、エージェントのセットアップとログインを処理します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト