工具與 Skill 管理工具
最後更新
尋找、建立、測試與執行其他工具與 skill 的工具。
| 工具 | 說明 |
|---|---|
find_tools | 工具註冊表。mode=search 以 names 指定精確名稱(不分大小寫,每次最多 16 個,優先於 query),或在沒有合適名稱時以 query 給空白分隔的英文關鍵字,需全部命中工具名稱或描述(每個來源最多 5 個:mcp、script、ext、system),並將對應 schema 作為工具輸出回傳(執行中途不改動 tools 陣列);mode=list 僅回傳名稱與一行描述、不注入 schema,不含內部記帳用的 system 工具。mcp 與 system 參數移除於 v1.3.5。省略 mode 時:有 names 或 query → search,否則 list。v1.3.7 起工具描述一律為英文,query 關鍵字也應以英文撰寫。看似缺少的能力一律先查這裡,再決定是否新建 |
run_tool | v1.2.0 新增。依名稱呼叫每輪 Tools 清單中的工具:run_tool(name, args),args 依該工具的 schema 填寫(無參數時為 {})。對 claude-code 以外的 provider,find_tools 以外的工具一律經由它呼叫;runtime 在確認與驗證前就拆包成內層工具,它自己的 handler 不會執行。未先以 find_tools 取得 schema 的名稱會回傳 schema 要求重新呼叫;被排除或未註冊的名稱會被拒絕。不送給 claude-code |
edit_tool | 工具定義本身。mode=write 建立或覆寫、mode=patch 取代精確字串,未設 replace_all 時只換第一個出現處(通常在 test_tool 失敗後使用)、mode=remove 將目錄丟進 .Trash(可回收)。tag 決定目標檔案:json = tool.json(schema)或 script = script.py(執行內容);tag=api(<name>.json,API 工具)已隨 API 工具移除於 v1.3.2。名稱為 snake_case 且不帶 script_ 前綴 —— 前綴由 runtime 自動補上 |
test_tool | 在沙箱中以 JSON 由 stdin 餵入並執行 script 工具的 script.py(上限 60 秒),回傳其 stdout,失敗時以 stderr 作為錯誤;不檢查 tool.json。這是每次 edit_tool write 或 patch 後的驗證步驟;失敗時的循環是 edit_tool(mode=patch) → 再測 |
run_skill | 將指定 skill 的參考素材載入當前 turn;結果為 skill: <name>、skill 目錄與解析後的 SKILL.md 內文。它是參考資料,不是逐行照做的腳本。自 v1.1.0 起,執行開始時比對到或被指名的 skill 也以同樣方式載入:runtime 記錄一筆 run_skill 呼叫,其工具結果即帶有 skill 內容,不再另外加一則 system message |
edit_skill | ~/.config/agenvoy/skills/ 底下的檔案。mode=write 以相對路徑建立或重寫檔案(my-skill/SKILL.md)、mode=patch 取代精確字串,未設 replace_all 時只換第一個出現處、mode=remove 以單層目錄名丟棄整個 skill(可從 .Trash 回收) |