核心概念
工具
了解 Bob Shell 如何使用專門工具從命令列讀取檔案、編輯程式碼、執行命令並與您的開發環境互動。
工具工作流程
當您用自然語言描述想要完成的工作時,Bob Shell 會:
- 根據您的請求選擇適當的工具。
- 呈現工具及其參數供您審查。
- 執行已批准的工具並向您顯示結果。
- 持續這個過程,直到您的任務完成。
工具類別
Bob Shell 的工具依其主要功能分類。了解這些類別有助於您知道 Bob Shell 能做什麼以及如何完成任務。
讀取工具
存取檔案內容並了解程式碼結構,不進行任何更改。
| 工具 | 用途 | 使用範例 |
|---|---|---|
read_file | 讀取一個或多個檔案的內容 | 查看設定檔、檢查原始碼 |
search_files | 使用 regex 在多個檔案中搜尋模式 | 找到所有 TODO 注釋、定位函式定義 |
list_files | 列出指定路徑中的檔案和目錄 | 探索專案結構、找到特定檔案類型 |
list_code_definition_names | 從原始檔案中提取類別、函式和方法名稱 | 取得程式碼組織概覽 |
Bob Shell 使用讀取工具的時機: 當您要求 Bob Shell 審查程式碼、找到特定模式或了解專案結構時。
寫入工具
精確地建立新檔案或修改現有程式碼。
| 工具 | 用途 | 使用範例 |
|---|---|---|
write_to_file | 建立新檔案或完全重寫現有檔案 | 產生新元件、建立設定檔 |
apply_diff | 對檔案的特定部分進行有針對性的更改 | 更新函式邏輯、修復 bug、重構程式碼 |
insert_content | 在檔案的特定位置加入新行 | 加入 import、插入新函式 |
Bob Shell 使用寫入工具的時機: 當您要求 Bob Shell 建立檔案、實作功能、修復 bug 或重構程式碼時。
命令工具
在您的終端機中執行命令和進行系統操作。
| 工具 | 用途 | 使用範例 |
|---|---|---|
execute_command | 在您的工作區中執行 CLI 命令 | 安裝相依項、執行測試、建置專案 |
Bob Shell 使用命令工具的時機: 當您要求 Bob Shell 執行命令、安裝套件、執行腳本或完成系統操作時。
MCP 工具
透過 Model Context Protocol 伺服器擴展 Bob Shell 的功能。
| 工具 | 用途 | 使用範例 |
|---|---|---|
use_mcp_tool | 存取已連接 MCP 伺服器提供的工具 | 查詢資料庫、與 API 互動、存取外部服務 |
模式工具
在不同的 Bob Shell 模式之間切換,以完成專門任務。
| 工具 | 用途 | 使用範例 |
|---|---|---|
switch_mode | 切換至不同的模式(Agent、Plan、Ask 等) | 切換至 Plan 模式進行架構設計、Agent 模式進行實作 |
Bob Shell 使用模式工具的時機: 當目前任務能從不同模式的專門功能中受益時。
問題工具
收集完成任務所需的額外資訊。
| 工具 | 用途 | 使用範例 |
|---|---|---|
ask_followup_question | 向您請求說明或額外細節 | 詢問偏好的實作方式、請求缺少的資訊 |
工具群組
工具群組是相關工具的具名集合,您可以一起啟用或停用。使用工具群組限制 Bob Shell 在特定工作階段中能做的事——例如,在唯讀稽核中防止檔案寫入,或在受控環境中停用命令執行。
可用的工具群組
| 群組 | 包含的工具 | Agent 預設 | Plan 預設 | Ask 預設 |
|---|---|---|---|---|
read | 檔案讀取、搜尋和列出工具 | ✓ | ✓ | ✓ |
edit | 檔案寫入和 diff 工具 | ✓ | ✓ | ✓ |
execute | Shell 命令執行工具 | ✓ | — | — |
mcp | MCP 伺服器工具 | ✓ | ✓ | ✓ |
skill | 技能相關工具 | ✓ | ✓ | ✓ |
todo | 待辦清單管理工具 | ✓ | ✓ | — |
subagent | 子代理生成工具 | ✓ | — | — |
mode | 模式切換工具 | ✓ | ✓ | ✓ |
停用工具群組
向 bob run 或 bob chat 傳入 --disable-tool-groups 並附上以逗號分隔的群組名稱清單:
# 停用命令執行和 MCP 工具
bob run --disable-tool-groups execute,mcp "Review @src/"
# 以唯讀模式執行
bob run --disable-tool-groups edit,execute,mcp "Summarize the codebase"您也可以使用專用標誌一次停用所有 MCP 伺服器:
bob run --disable-mcp "Explain @app.js"這個主題如何?