v0.18.1 -> v0.18.3
Summary
Sinks the browser-fetch stack, keychain wrapper, and generic HTTP client into the shared go-utils library (rod v0.4.0, filesystem/keychain, http). Hardens stub-tool dispatch by short-circuiting first-call execution and validating required arguments against each tool's JSON schema. Fixes path resolution for glob_files and adds a vim-style Tab toggle between message and command input modes in the TUI.
翻譯
將瀏覽器抓頁堆疊、keychain wrapper 與泛型 HTTP client 下沉至共用的 `go-utils` 函式庫(rod v0.4.0、filesystem/keychain、http)。強化 stub tool 首��呼叫的分派,改以工具 JSON schema 動態驗證 required 欄位。修正 `glob_files` 路徑解析,並為 TUI 新增 vim 風格 Tab 鍵切換訊息/指令輸入模式。Changes
FEAT
- Add Tab key toggle between message and command input modes in the TUI with vim-style navigation
翻譯
- 新增 TUI 以 Tab 鍵切換訊息/指令輸入模式(vim 風格操作)
FIX
- Short-circuit stub tool first invocation to skip validator and executor; activate schema and prompt the model to re-invoke with full parameters
- Validate required tool arguments dynamically via
exec.AllToolsJSON schema instead of hardcoded allowlist; treat empty strings as missing
翻譯
- Stub tool 首次呼叫改走短路路徑,跳過 validator 與 executor,僅 activate schema 並提示模型以完整參數重呼
- 以
exec.AllToolsJSON schema 動態判定必填欄位(取代 hardcoded allowlist),空字串視為 missing
UPDATE
- Resolve
~and absolute paths correctly inglob_files; align with the rest of the file-tool suite - Clarify path resolution rules in file-tool prompts and schemas to reduce model ambiguity
翻譯
- 修正
glob_files對~與絕對路徑的處理,與其他 file tool 行為一致 - 明確化 file tool prompt 與 schema 的路徑解析規則,降低模型歧義
REFACTOR
- Replace
fetchPageinternals withgithub.com/pardnchiu/go-utils/rodv0.4.0; remove local readability, HTML→Markdown walker, stealth.js, and listener.js. Agenvoy keeps onlyvalidateURL, HTTP→HTTPS upgrade, ToriiDB cache, skipped-map, 4xx title heuristic, and frontmatter assembly - Replace
internal/filesystem/keychainwrapper withgo-utils/filesystem/keychain; initialize viafilesystem.Init()with service name"agenvoy"to preserve existing credentials - Replace
internal/utils.GET/POSTwithgo-utils/httpgeneric client across 12 call sites (all provider send.go, copilot login/refresh, googleRSS, searchWeb, youtube, yahooFinance); drop 121 lines of duplicated implementation
翻譯
fetchPage內部改以github.com/pardnchiu/go-utils/rodv0.4.0 取代;移除本地 readability、HTML→Markdown walker、stealth.js、listener.js。Agenvoy 只保留validateURL、HTTP→HTTPS 升級、ToriiDB cache、skipped-map、4xx 標題偵測與 frontmatter 組裝internal/filesystem/keychainwrapper 改用go-utils/filesystem/keychain,由filesystem.Init()以 service 名"agenvoy"初始化,保留既有使用者��證- 12 個 call site 的
internal/utils.GET/POST改走go-utils/http泛型(所有 provider send.go、copilot login/refresh、googleRSS、searchWeb、youtube、yahooFinance);刪除 121 行重複實作
Files Changed
| File | Status | Tag |
|---|---|---|
internal/tools/fetchPage/load.go |
Modified | REFACTOR |
internal/tools/fetchPage/download.go |
Modified | REFACTOR |
internal/tools/fetchPage/extract.go |
Deleted | REFACTOR |
internal/tools/fetchPage/transToMarkdown.go |
Deleted | REFACTOR |
internal/tools/fetchPage/embed/stealth.js |
Deleted | REFACTOR |
internal/tools/fetchPage/embed/listener.js |
Deleted | REFACTOR |
internal/filesystem/keychain/keychain.go |
Deleted | REFACTOR |
internal/filesystem/filesystem.go |
Modified | REFACTOR |
internal/utils/utils.go |
Modified | REFACTOR |
internal/agents/provider/claude/send.go |
Modified | REFACTOR |
internal/agents/provider/compat/send.go |
Modified | REFACTOR |
internal/agents/provider/copilot/send.go |
Modified | REFACTOR |
internal/agents/provider/copilot/login.go |
Modified | REFACTOR |
internal/agents/provider/copilot/refresh.go |
Modified | REFACTOR |
internal/agents/provider/gemini/send.go |
Modified | REFACTOR |
internal/agents/provider/nvidia/send.go |
Modified | REFACTOR |
internal/agents/provider/openai/send.go |
Modified | REFACTOR |
internal/tools/external/googleRSS/fetch.go |
Modified | REFACTOR |
internal/tools/external/searchWeb/fetchDDG.go |
Modified | REFACTOR |
internal/tools/external/youtube/fetch.go |
Modified | REFACTOR |
internal/tools/external/yahooFinance/fetch.go |
Modified | REFACTOR |
internal/agents/provider/*/new.go |
Modified | REFACTOR |
cmd/app/addProvider.go |
Modified | REFACTOR |
internal/discord/command/modal.go |
Modified | REFACTOR |
internal/routes/handler/key.go |
Modified | REFACTOR |
internal/tools/externalAgent/reviewResult.go |
Modified | REFACTOR |
test/providers_integration_test.go |
Modified | REFACTOR |
internal/agents/exec/toolCall.go |
Modified | FIX |
internal/tools/file/globFiles.go |
Modified | UPDATE |
internal/tools/file/*.go |
Modified | UPDATE |
configs/prompts/system_prompt.md |
Modified | UPDATE |
configs/prompts/skill_execution.md |
Modified | UPDATE |
configs/prompts/summary_context.md |
Modified | UPDATE |
internal/tui/commandMode.go |
Modified | FEAT |
internal/tui/globalShortcut.go |
Modified | FEAT |
internal/tui/new.go |
Modified | FEAT |
extensions/skills/skill-creator/SKILL.md |
Modified | DOC |
CLAUDE.md |
Modified | DOC |
go.mod |
Modified | CHORE |
go.sum |
Modified | CHORE |
Generated by SKILL