ACP 整合
將任何支援 ACP 的編輯器連接至 Bob Shell,作為一流的 AI 助手。
Bob Shell 可作為 Agent Client Protocol (ACP) 伺服器運行。連接後,編輯器負責管理執行緒介面、權限對話方塊和差異比較,而 Bob 負責管理執行環境: 模型存取、工具、MCP 伺服器和 shell 執行。
ACP 對程式設計智能體的作用,與 Language Server Protocol 對語言工具的作用相同:一份 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 工作階段 harness 中初始化,因此容易忽略重複設定。
每台 MCP 伺服器只設定一個擁有者。如果某個 MCP 工具意外缺失,請同時檢查編輯器的 MCP 設定和 Bob 的原生 MCP 設定。
每個 ACP 工作階段都會建立自己的 harness 及其設定的 MCP 伺服器。本機 MCP 伺服器可能針對每個作用中的 Bob 執行緒啟動一次。在開啟多個平行執行緒之前,請監控資源使用情況,尤其是當伺服器啟動 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 會移除工作區存取控制和個別工具的審核。提示詞可以在伺服器開啟的任何工作區中操作,無需進一步確認。請勿在預設編輯器設定中同時包含這兩個選項。