Documentation v0.28.0

v0.3.0 -> v0.4.0

Summary

Add four built-in API tools (weather, stock, news, HTTP) and a JSON-driven dynamic API adapter, alongside a Skill auto-matching engine and patch_edit tool. Internally, all provider packages migrate to a provider/ subdirectory, the output layer shifts from io.Writer to an event channel model, and file tools are reorganized into a dedicated internal/tools/file/ subpackage.

翻譯

新增四個內建 API 工具(天氣、股票、新聞、HTTP)與 JSON 驅動的動態 API 擴展套件,同時加入 Skill 自動匹配引擎與 patch_edit 工具。內部重構方面,所有 provider 套件遷移至 provider/ 子目錄,輸出層從 io.Writer 改為 Event Channel 模型,檔案工具也整理至獨立的 internal/tools/file/ 子套件。

Changes

FEAT

翻譯
  • 新增 fetch_weather 工具,透過 wttr.in 取得即時天氣與多日預報,自動解析 XML/JSON 回應格式
  • 新增 fetch_yahoo_finance 工具,取得股票報價與 K 線資料(interval: 1m1wk,range: 1dmax
  • 新增 fetch_google_rss 工具,支援 Google News RSS 搜尋、去重、語言與時間範圍篩選
  • 新增 apiAdapter 套件,透過 JSON 設定檔動態載入 API 工具,無需修改原始碼即可擴展內建工具
  • 新增 patch_edit 工具,精確替換檔案中的第一個匹配字串,比全檔覆寫更安全
  • 新增 Skill 自動匹配引擎:LLM 從已安裝的 Skill 中自動選擇最符合需求的項目;無匹配時降級至純工具模式
  • 新增動態 .gitignore 風格的排除檔解析機制,並修正 glob_files** 萬用字元的處理邏輯

REFACTOR

翻譯
  • 將所有 provider 套件(Claude、OpenAI、Copilot、Gemini、Nvidia)從 internal/agents/ 遷移至 internal/agents/provider/ 子目錄
  • 以結構化 Event Channel 模型(internal/agents/types/event.go)取代 io.Writer 輸出串流,支援文字、工具呼叫、結果與錯誤的即時串流
  • 將單體 internal/tools/file.go 拆分為 internal/tools/file/ 子套件(readFile、writeFile、listFiles、globFiles、patchEdit、listExcludes)
  • 將 googleRSS 與 yahooFinance 的格式化輸出從純文字重構為 JSON 序列化,確保 LLM 能一致解析
  • internal/utils 中的 POSTJson/POSTForm 合併為以 contentType 參數控制格式的統一 POST 函式

REMOVE

翻譯
  • 移除 internal/agents/sysPrompt.md(由結構化 prompt 目錄 internal/agents/prompt/ 取代)
  • 移除 internal/tools/file.go(已拆分為 internal/tools/file/ 子套件)
  • 移除 internal/tools/tools.json(已移至嵌入式 internal/tools/embed/tools.json

ADD

翻譯
  • 新增 internal/agents/prompt/ 目錄,包含 sysPrompt.mdsysPromptBase.mdskillSelector.md
  • 新增嵌入式設定檔:internal/tools/embed/commands.jsoninternal/tools/embed/tools.jsoninternal/tools/file/embed/exclude.json
  • 新增 internal/tools/apiAdapter/example.json 作為自訂 API 定義的參考範本
  • 新增 internal/tools/types/executor.go,統一 executor 型別定義

STYLE

翻譯
  • 統一所有 provider 套件與工具執行器的 error message 格式為呼叫點前綴風格

Files Changed

File Status Tag
internal/tools/apis/weatherReport/fetch.go Added FEAT
internal/tools/apis/yahooFinance/fetch.go Added FEAT
internal/tools/apis/googleRSS/fetch.go Added FEAT
internal/tools/apiAdapter/execute.go Added FEAT
internal/tools/apiAdapter/request.go Added FEAT
internal/tools/apiAdapter/send.go Added FEAT
internal/tools/apiAdapter/translate.go Added FEAT
internal/tools/apiAdapter/translator.go Added FEAT
internal/tools/file/patchEdit.go Added FEAT
internal/tools/file/globFiles.go Added FEAT
internal/tools/file/listExcludes.go Added FEAT
internal/agents/prompt/skillSelector.md Added FEAT
internal/agents/exec.go Modified REFACTOR
internal/agents/types/event.go Added REFACTOR
internal/agents/provider/claude/new.go Renamed REFACTOR
internal/agents/provider/claude/send.go Renamed REFACTOR
internal/agents/provider/copilot/login.go Renamed REFACTOR
internal/agents/provider/copilot/new.go Renamed REFACTOR
internal/agents/provider/copilot/refresh.go Renamed REFACTOR
internal/agents/provider/copilot/send.go Renamed REFACTOR
internal/agents/provider/gemini/new.go Renamed REFACTOR
internal/agents/provider/gemini/send.go Renamed REFACTOR
internal/agents/provider/nvidia/new.go Renamed REFACTOR
internal/agents/provider/nvidia/send.go Renamed REFACTOR
internal/agents/provider/openai/new.go Renamed REFACTOR
internal/agents/provider/openai/send.go Renamed REFACTOR
internal/tools/file/readFile.go Added REFACTOR
internal/tools/file/writeFile.go Added REFACTOR
internal/tools/file/listFiles.go Added REFACTOR
internal/tools/executor.go Modified REFACTOR
internal/utils/utils.go Modified REFACTOR
internal/agents/sysPrompt.md Deleted REMOVE
internal/tools/file.go Deleted REMOVE
internal/tools/tools.json Deleted REMOVE
internal/agents/prompt/sysPrompt.md Added ADD
internal/agents/prompt/sysPromptBase.md Added ADD
internal/tools/embed/commands.json Added ADD
internal/tools/embed/tools.json Added ADD
internal/tools/file/embed/exclude.json Added ADD
internal/tools/apiAdapter/example.json Added ADD
internal/tools/types/executor.go Added ADD
cover.png Added ADD
cmd/cli/main.go Modified STYLE
README.md Modified DOC
README.zh.md Modified DOC
doc.md Added DOC
doc.zh.md Added DOC
go.mod Modified CHORE
go.sum Modified CHORE
.gitignore Modified CHORE

Generated by SKILL