內建工具
read、list、tree、glob、grep、search、edit 和 write 可以在核准之後使用工作區外的路徑(由你核准,或在 Review 或 Audit 中由 Review 模型核准)。工作區內的 write 和 edit 仍然遵循核准模式。bash 從工作區根目錄啟動,並作為副作用核准。背景 Bash 任務僅在 Work 中可用。bash_start 不等待就返回工作階段本機的任務 ID;用 bash_status 或 bash_logs 觀察它,用 bash_stop 終止它。任務使用設定的 backgroundBashTimeoutSeconds(預設 10800 秒,即 3 小時),保持有界輸出,不持久化,並在工作階段關閉時停止。最多同時有 32 個活動任務;已完成的任務仍可查詢,且不占用活動任務槽。背景任務的 stdin 已關閉,因此需要終端機輸入的命令不受支援。憑證路徑(.ssh、.gnupg、credentials.json)保持 Forbidden。Glob、grep、search、list 和 tree 跳過 .git、.vs、bin、obj、node_modules 和 dist。Tree 對目錄連結只列出一次,位於其解析後的路徑下,並跳過目標離開工作區根(或外部起始路徑)的連結。二進位檔案會被 read/edit 拒絕(NUL 探測)。Shell 工作目錄是工作區根目錄。
| 工具 | 目錄 | 用途 |
|---|---|---|
read |
Plan、Work | 讀取工作區文字檔案(path,可選的從 1 開始的 offset 和 limit) |
describe_image |
Plan、Work | 透過 imageModel 描述圖像(path,可選 question)。未設定 imageModel 時省略 |
view_image |
Plan、Work | 向目前模型展示圖像(path)。僅當該模型接受圖像時出現 |
list |
Plan、Work | 列出目錄的直接項目(path 可選,從 1 開始的 offset 和 limit 分頁) |
tree |
Plan、Work | 列出路徑下的目錄結構(path 可選,depth 預設 2、上限 4,files 包含檔案項目)。深度優先;子目錄在檔案之前;最多 1,000 個項目,每個目錄最多 20 個檔案 |
glob |
Plan、Work | 列出匹配 glob 的檔案(pattern,可選 path,從 1 開始的 offset 和 limit 分頁) |
grep |
Plan、Work | 正則表達式搜尋(pattern,可選 path 和檔名 glob) |
search |
Plan、Work | 按名稱和內容對候選檔案排序(query,可選 path、glob、caseSensitive,從 1 開始的 offset 和 limit 分頁) |
todowrite |
Plan、Work | 替換或合併工作階段待辦清單 |
todoread |
Plan、Work | 讀取目前工作階段待辦清單 |
question |
Plan、Work | 提出一個或多個問題,帶單選/多選和自訂答案 |
skill |
Plan、Work | 按 name 載入可用技能(skills 為 false 時省略) |
edit |
Work | 替換檔案中唯一的 old_string |
write |
Work | 建立或覆寫 UTF-8 文字檔案 |
bash |
Work | 核准後執行一條 shell 命令(bash -lc)。每條命令的逾時是 bashTimeoutSeconds(預設 600 秒) |
bash_start |
Work | 核准後啟動工作階段本機的背景 shell 命令並返回其任務 ID。逾時是 backgroundBashTimeoutSeconds(預設 10800 秒,即 3 小時) |
bash_status |
Work | 讀取背景任務的狀態、結束碼和日誌偏移 |
bash_logs |
Work | 按偏移讀取有界的背景任務輸出 |
bash_stop |
Work | 核准後停止背景任務及其子行程 |
實際限制:read 最多 1,000,000 個字元或 20,000 行;write 最多 2 MiB;grep 最多 1,000 個匹配,每個檔案 8 MiB;search 每頁最多 200 個候選檔案(預設 50),每個檔案最多 2 行預覽,每個掃描檔案 8 MiB;glob 每頁最多 1,000 個匹配;list 每頁最多 1,000 個項目;tree 最多 1,000 個項目、4 層深、每個目錄 20 個檔案;工具輸出在 100,000 個字元處截斷。每個背景任務的輸出上限為 1 MiB,bash_logs 每次呼叫最多返回 100,000 個字元。