ACP 連携
ACP 対応エディターを Bob Shell に一流の AI アシスタントとして接続します。
Bob Shell は Agent Client Protocol (ACP) サーバーとして実行できます。接続すると、エディターがスレッド UI、権限ダイアログ、diff を管理し、Bob がランタイムを管理します: モデルアクセス、ツール、MCP サーバー、シェル実行。
ACP は、Language Server Protocol が言語ツールに対して果たす役割と同じ役割をコーディングエージェントに対して果たします: 1 つの JSON-RPC 契約、多くのエディター、多くのエージェント。ローカルエージェントは stdin と stdout を通じてエディターと通信します。
対応エディター
以下のエディターが Bob Shell への ACP 接続をサポートしています:
- Zed
- IntelliJ IDEA
- Neovim
はじめ方
Bob Shell を ACP サーバーとして起動します:
bob acpプロセスは stdin で JSON-RPC を待機します。エディターの ACP 設定を通じて起動してください。ターミナルで直接実行するとハングしているように見えます。
エディターの ACP 設定手順に従って bob acp プロセスに接続してください。プロトコルの詳細については、ACP 仕様を参照してください。
認証
Bob は ACP の初期化中に認証を行います。bob acp を起動する環境に BOBSHELL_API_KEY が設定されている場合、Bob はそのキーを使用し、追加の操作は不要です。
API キーや保存されたトークンがない場合、エディターが SSO による認証を求めます。ブラウザーフローを一度完了してください。Bob がトークンを保存するため、同じマシンでの以降の ACP セッションはそれを再利用します。
ワークスペースの信頼
Bob はセッションを作成する前にワークスペースの信頼を確認します。信頼されていないワークスペースはセッション作成に失敗します。ワークスペースを信頼するには、そのディレクトリでターミナルを開き、Bob Shell をインタラクティブに実行してください:
cd /path/to/project
bob信頼が記録されたら、終了してエディターから再接続してください。
短命または使い捨て環境では、ACP 引数に --trust を渡してください。トレードオフについては、コマンドオプションを参照してください。
MCP サーバー
エディターと Bob の両方がセッションに MCP サーバーを提供できます。両方のサーバーセットが同じ Bob セッションハーネス内で初期化されるため、重複した設定を見落としやすくなります。
各 MCP サーバーに対して 1 人の所有者を優先してください。MCP ツールが予期せず欠けている場合は、エディターの MCP 設定と Bob のネイティブ MCP 設定の両方を確認してください。
各 ACP セッションは、設定された MCP サーバーとともに独自のハーネスを作成します。ローカル MCP サーバーはアクティブな Bob スレッドごとに 1 回起動される可能性があります。特にサーバーが JVM、コンテナー、またはローカルモデルを起動する場合は、多数の並列スレッドを開く前にリソース使用量を監視してください。
エディターターミナルとの比較における Bob Shell
Bob Shell はエディターのターミナルではなく、独自の子プロセスでコマンドを実行します。エディターターミナルで動作するコマンドが、bob acp プロセスが異なる PATH、作業ディレクトリ、または環境を継承した場合に Bob Shell で失敗することがあります。
実行中のエディターターミナルで行った変更、cd や export など、は Bob Shell に届きません。起動環境を更新した場合は、ACP スレッドを再起動してください。
コマンドオプション
bob acp から始め、特定の理由がある場合にのみオプションを追加してください:
| オプション | 説明 |
|---|---|
--log-level <level> | ログの詳細度を設定します: debug、info、warn、error、または silent。BOB_LOG_LEVEL 環境変数でも設定できます。 |
--trust | この ACP サーバーが開くすべてのワークスペースを信頼します。このオプションはプロジェクトレベルの境界を削除するため、永続的なエディター設定に含めないでください。 |
--auto-approve | 権限プロンプトを表示せずにすべてのツール呼び出しを承認します。このオプションは単一のツールに対して常に許可を選択するよりも広範囲です。 |
--disable-mcp | MCP サーバーの初期化をスキップします。セッション起動の失敗を切り分けるためにこのオプションを使用してください。 |
--disable-subagents | タスクに委任が必要ない場合、Bob のサブエージェントツール登録を省略します。 |
--accept-license | サーバー起動前にライセンス同意を記録します。まず bob --show-license acp を実行してライセンスファイルを確認してください。 |
--trust と --auto-approve を一緒に使用すると、ワークスペースゲートとツールごとの承認の両方が削除されます。プロンプトはサーバーが開くすべてのワークスペースでさらなる確認なしに動作できます。デフォルトのエディター設定に両方のオプションを含めないでください。