文件 v0.30.0

工具擴充

Agenvoy 支援四種在內建集合之外新增工具的方式:從 capability gap 自動生成、script tool、API tool 與 MCP tool。由 extension 安裝的工具落在 ~/.config/agenvoy/tools/.extension/,並以 ext_ 前綴註冊。

自動生成(Capability Gap)

當 user request 需要即時外部資料(天氣、匯率、股票、geocoding、翻譯等)且無現有 tool 涵蓋時,agent 當場建立該 tool,隨即執行以回答。無需寫程式。

reasoning_guide(topic=tool_generate) 承載建置契約;同一份文字也透過 MCP server 以 tool_generate_guide 對外部 agent 曝露。序列如下:

步驟 動作
1. 找到合適的 API api_public_api_list(type=category) 挑選相關類別,選出最佳候選(偏好 no-auth + HTTPS),再 fetch_page 文件
2. 決定工具型態 多步驟邏輯或需運算 → script tool(tool.json + script.py);單一 REST 端點且無運算 → API tool(單一 JSON)
3. 寫入 write_tool 搭配 tag=json + tag=script,或宣告式的 tag=api
4. 驗證 test_tool 於沙箱執行 script.py;失敗以 patch_tool 修正
5. 回答 呼叫新工具,並以其輸出回答

建立後,工具持久化於 ~/.config/agenvoy/tools/script/<name>/(或 tools/api/<name>.json),在所有未來 session 及所有連線的 MCP agent 中皆可用。憑證絕不硬編碼:命名慣例為 {BRAND}_API_KEY,以 store_secret 取得,並從本機 keychain 端點 GET http://localhost:17989/v1/key?key=<KEY_NAME> 讀回。

關鍵限制:

Script tool(script_*

extensions/scripts/<name>/ 底下放入 Python / Node.js / shell script,連同一個 tool.json descriptor。Agenvoy 於啟動時自動註冊為 script_<name>

extensions/scripts/my-tool/
├── tool.json     # name, description, parameter schema, command
└── run.py        # actual script

API tool(api_*

extensions/apis/<name>.json(或 ~/.config/agenvoy/tools/api/<name>.json)放入描述 REST 端點的 JSON 檔。它自動註冊為 api_<name>

Confirm gate —— api_* tool 不因前綴而豁免確認。使用者可能定義破壞性 endpoint(DELETE / POST 寫入),因此 agen cli 對每次呼叫確認。批次自動核准請用 agen run

MCP tool(mcp__*

由 MCP server 曝露的 tool 自動註冊為 mcp__<server>__<tool>。MCP tool output 每次呼叫上限 1 MiB,以將 tool result 保持在 provider 限制內。

EN