ACP Agent
AI 功能是可選的。沒有配置 Agent 時,其餘功能完全不受影響;配置之後,Agent 也只在你主動請求時工作。
配置
在「設定 → AI」裡新增一個 Agent 配置:
- 命令與引數 — Agent 執行檔與啟動引數;
- 模型 — 有些 Agent 提供模型選擇,不填就使用它自己的預設值;
- 環境變數名 — 只儲存變數名,值存在系統憑據庫,不寫入設定檔案。
應用會掃描 PATH,也會掃描 GUI 啟動時容易漏掉的目錄(例如 Homebrew、~/.local/bin),並可以執行一次只握手、不提問的探測,報告 Agent 的身份、可用模型與登入方式。Agent 的登入憑據由它自己管理。
能做什麼
| 場景 | 結果 |
|---|---|
| 起草提交資訊 | 生成的資訊只寫進提交框,仍需你確認後提交 |
| 解釋 diff | 在檢視器裡解釋當前改動 |
| 審閱選中變更 | 按目錄彙總的變更地圖,加上二進位制、金鑰、生成檔案等規則提示 |
| 審閱分支 | 審閱 base...HEAD 之間的出站提交,指出問題並標註無法核對的位置 |
| 衝突建議 | 針對單個檔案的衝突塊逐塊給出替換建議 |
每次傳送什麼
請求會先算出一個範圍,並在確認框裡列出來:
- 檔案數、總位元組數;
- 二進位制檔案與衝突檔案會被排除;
- 單檔案截斷到 16 KiB,最多 40 個檔案,提示總預算 96 KiB;
- 提交資訊請求還會帶上倉庫路徑、分支名與最近 5 條提交標題;
- 分支審閱只列出該範圍內變更的檔案與 diff。
審閱結束後返回一份回執:範圍、內容摘要、逐檔案摘要,以及使用的 Agent 與模型。範圍(HEAD 或基準)變化後,回執會標為過期,不會把舊結論當成當前結論。
只讀邊界
Agent 在協議層就沒有寫許可權:
- 允許讀檔案(
fs/readTextFile),不允許寫檔案; - 不提供終端能力;
- 許可權請求會彈出確認框,預設拒絕;關閉彈窗或超時同樣視為拒絕,命令引數不會被自動批准;
- Agent 不會暫存、提交或推送。
所以無論 Agent 建議什麼,改動倉庫的仍是你的操作。
信任邊界
ACP 不是作業系統級沙箱。 應用能限制發給 Agent 的內容,也能在審閱時把它的讀取範圍限定在選中的路徑,但 Agent 是獨立程序:
- 它可以訪問網路,具體去向由它自己與你的配置決定;
- 它可能讀取倉庫中的其他檔案;
- 它執行的模型可能由第三方託管。
只連線你信任的 Agent。如果 diff 中可能出現憑據,傳送前應用會單獨提示。
會話與取消
- 每個倉庫保持一個會話,連續請求可以複用上下文;
- 切換配置或 Agent 程序退出時會重建會話;某一輪失敗且沒有任何輸出時會重啟一次;
- 請求可以取消,已經收到的文本會保留;
- 應用退出時終止它啟動的 Agent 程序。
本地自動化是另一條獨立通道,見本地 MCP 伺服器。
最後更新於