自動核准
Bob Shell 中的自動核准動作可消除重複的確認提示,但會增加安全風險。了解讀取、寫入和執行權限的安全設定實踐。
自動核准設定會略過確認提示,讓 Bob 直接存取你的系統。這可能導致資料遺失、檔案損毀或更嚴重的後果。指令執行尤其危險,因為它可能執行可能損害你系統或危及安全的有害操作。只對你完全信任的動作啟用自動核准。
核准的運作方式
在 Bob 執行工具之前,終端機中會出現確認提示。提示一次顯示一個,讓你在每個動作執行前都能清楚、有意識地檢視。
可編輯的指令: 當 Bob 提出終端機指令時,你可以在核准提示中直接編輯指令後再核准。這讓你可以進行精確調整,而無需取消任務並重新措辭。
任務層級核准: 除了全域自動核准設定外,你還可以為每個任務設定工具群組核准。任務層級的覆蓋只適用於目前任務。
設定自動核准
自動核准由 ~/.bob/settings/settings.json 中的 approval 金鑰控制。將你想要自動核准的權限群組 ID 加入 allowed_permissions 陣列:
"approval": {
"allowed_permissions": ["read", "todo", "subtask"]
}你也可以在 Shell 工作階段期間使用 /permissions 斜線指令互動式地切換自動核准。
有關完整的 JSON 結構描述——包括每個指令的允許清單、拒絕清單和每個群組的選項——請參閱核准設定。
可用動作
當你自動核准某個動作時,Bob 會在不請求許可的情況下完成該動作。
| 動作 | 說明 | 風險等級 |
|---|---|---|
| 讀取 | 檢視你的檔案和目錄內容 | 中 |
| 編輯 | 建立、編輯和儲存檔案至你的目錄 | 高 |
| 執行 | 在你的終端機中執行指令 | 高 |
| MCP | 使用你已設定的 MCP 伺服器 | 中高 |
| 技能 | 啟用你已定義的技能 | 中 |
| 待辦事項 | 更新待辦事項清單 | 低 |
| 子任務 | 建立並完成子任務 | 低 |
| 子代理 | 生成子代理來處理專注的任務 | 低 |
| 模式 | 切換模式以完成任務 | 低 |
何時使用自動核准
自動核准在以下情境中最有益:
- 重複性開發任務:當你信任 Bob 的動作時,例如產生基本程式碼。
- 批次操作:當你需要不中斷地處理多個檔案時。
- 探索性程式碼工作階段:當你想要保持流程而不受持續提示干擾時。
- 本機開發環境:安全風險受到控制的環境。
了解動作
每個動作控制 Bob 可以完成的特定工作流程。
讀取
Bob 可以存取並讀取你專案中的檔案,而無需請求許可。
這包括檢視檔案內容、列出目錄結構以及搜尋你的程式碼庫。此權限涉及資訊收集,而非對你的系統進行更改。
編輯
Bob 可以建立、修改和刪除檔案,而無需請求許可。
Bob 可以自動套用程式碼變更、重構現有程式碼以及管理檔案結構。這直接修改你的程式碼庫,涉及高風險。
執行
Bob 可以自動執行終端機指令,而無需請求許可。這包括執行建置指令碼、套件管理器和其他命令列工具。
指令可以執行系統層級的操作,並可能執行有害的程序。此動作涉及高風險。
MCP
Bob 可以在不請求許可的情況下使用已設定的 Model Context Protocol (MCP) 伺服器。
MCP 伺服器提供額外的工具和資源,擴展 Bob 的功能。風險等級取決於特定 MCP 伺服器可以存取和修改的內容。
技能
Bob 可以在不請求許可的情況下自動啟用你定義的技能。
技能是可重複使用的指令集,教導 Bob 特定的工作流程和任務。啟用後,Bob 會根據你的請求和技能的描述載入並遵循技能指令。風險等級取決於技能指令指示 Bob 執行的動作,但技能在 Bob 現有的工具限制內運作。
如需更多資訊,請參閱技能。
待辦事項
Bob 可以在不請求許可的情況下自動更新待辦事項清單。
這允許 Bob 在工作進行時追蹤進度和管理任務完成情況。此權限與任務管理相關,而非系統存取。
子任務
子任務是 Bob 建立來將複雜工作分解為可管理部分的獨立任務執行個體。Bob 可以自動建立並完成這些子任務,而無需請求確認。
此權限與工作流程組織相關,而非系統存取。
子代理
Bob 可以自動生成子代理來處理專注、獨立的任務,而無需請求許可。
子代理在各自隔離的上下文中執行,完成後返回摘要。此權限與工作流程委派相關,而非直接系統存取。
如需更多資訊,請參閱子代理。
模式
Bob 可以根據任務需求在不同模式之間自動切換。
此動作涉及工作流程組織,不影響系統存取。
安全最佳實踐
遵循以下指引以安全使用自動核准動作:
- 從限制性開始:以最少的權限開始,只在必要時新增更多。
- 使用專案特定設定:根據風險承受度為每個專案自訂自動核准設定。
- 不需要時停用:在處理敏感程式碼或生產系統時關閉自動核准。
- 定期審查更改:定期檢查 Bob 採取了哪些動作,特別是檔案修改。
- 永遠不要在生產環境中自動核准:將自動核准設定限制在開發環境中。