v0.6.0 -> v0.7.0
Summary
Major architectural refactor, LLM-driven agent routing, OpenAI-compatible endpoint support, and enhanced session reliability through file locking and atomic writes.
翻譯
大型架構重構,LLM 驅動的 Agent 路由、支援 OpenAI 相容端點,以及透過檔案鎖與原子寫入提升 session 可靠性。Changes
FEAT
- Add LLM-driven automatic agent routing mechanism to dynamically select the best provider per request
- Add
compatprovider supporting any OpenAI-compatible endpoint (defaults to Ollama atlocalhost:11434) - Add
search_historytool for searching session conversation history with time-range filtering (1d/7d/1m/1y) - Add duplicate tool-call result caching to avoid redundant API requests within a session
- Add post-iteration automatic summary when
MaxToolIterationsis exceeded instead of returning an error - Add Unicode parameter normalization (
normalizeArgs) to handle\uXXXXescape sequences from LLM outputs
翻譯
- 新增 LLM 驅動的自動 Agent 路由機制,依請求動態選擇最佳 provider
- 新增
compatprovider,支援任意 OpenAI 相容端點(預設 Ollamalocalhost:11434) - 新增
search_history工具,支援時間範圍過濾(1d/7d/1m/1y)的 session 歷史搜尋 - 實作重複工具呼叫結果快取,避免 session 內冗餘 API 請求
- 超過
MaxToolIterations後自動呼叫摘要,不再直接回傳錯誤 - 新增
normalizeArgs處理 LLM 輸出的\uXXXXUnicode 轉義序列
FIX
- Fix concurrent session race condition by acquiring an exclusive
flockonconfig.jsonbefore read/write - Fix
config.jsoninitialization with atomicO_EXCLwrite to prevent duplicate session creation under concurrency - Fix corrupted
config.jsondetection and explicit error propagation
翻譯
- 修正並發 session 競態,讀寫
config.json前取得排他flock鎖 - 使用
O_EXCL原子寫入初始化config.json,防止並發時建立重複 session - 修正損毀
config.json的偵測並明確傳遞錯誤
UPDATE
- Force agent selector to always return a valid agent from the available list; remove
NONEfallback response - Replace dynamic
limitparameter insearch_webandsearch_historytools with a fixed cap of 10 - Reduce
MaxToolIterationsdefault from 32 to 8; introduceMaxSkillIterations(128) for skill-mode execution - Add
default_modelfield support in agent config to control fallback agent ordering
翻譯
- 強制 Agent 選擇器必須從可用清單回傳有效代理,移除
NONEfallback - 將
search_web和search_history的動態limit參數改為固定 10 筆上限 - 預設
MaxToolIterations從 32 降至 8;skill 模式改用MaxSkillIterations(128) - Agent 設定檔新增
default_model欄位控制 fallback 順序
REFACTOR
- Split monolithic
agents/exec.gointoexec/sub-package with responsibility-separated files (execute,run,toolCall,getSession,selectAgent,selectSkill,writeHistory,extractSummary) - Extract shared types (
Agent,Message,Session,AgentRegistry,AgentEntry,Output,OutputChoices,ToolCall) intointernal/agents/typespackage - Simplify tool result message format; remove redundant
Tool 'x'\nresult:prefix
翻譯
- 將單體
agents/exec.go拆分為exec/子套件,按職責分離各檔案 - 將共用型別(
Agent、Message、Session、AgentRegistry等)抽離至internal/agents/types套件 - 簡化 tool result 訊息格式,移除冗餘的
Tool 'x'\nresult:前綴
PERF
- Replace
int64arithmetic in calculator withbig.Intfor exact integer precision - Reduce Google RSS, Yahoo Finance, and general API timeouts from 30s to 5s
- Cap Google RSS deduplicated results at 10 entries
翻譯
- 計算器整數運算改用
big.Int確保精確度 - Google RSS、Yahoo Finance 及一般 API 超時從 30 秒縮短至 5 秒
- Google RSS 去重後結果上限設為 10 筆
Files Changed
| File | Status | Tag |
|---|---|---|
internal/agents/exec/execute.go |
Added | REFACTOR |
internal/agents/exec/run.go |
Added | REFACTOR |
internal/agents/exec/toolCall.go |
Added | REFACTOR |
internal/agents/exec/getSession.go |
Added | FIX |
internal/agents/exec/selectAgent.go |
Added | FEAT |
internal/agents/exec/selectSkill.go |
Added | REFACTOR |
internal/agents/exec/writeHistory.go |
Added | REFACTOR |
internal/agents/exec/extractSummary.go |
Added | REFACTOR |
internal/agents/types/agent.go |
Added | REFACTOR |
internal/agents/types/message.go |
Added | REFACTOR |
internal/agents/provider/compat/new.go |
Added | FEAT |
internal/agents/provider/compat/send.go |
Added | FEAT |
internal/tools/file/searchHistory.go |
Added | FEAT |
internal/agents/exec.go |
Deleted | REFACTOR |
internal/agents/prompt/sysPrompt.md |
Deleted | REFACTOR |
internal/agents/prompt/skillSelector.md |
Deleted | REFACTOR |
cmd/cli/main.go |
Modified | UPDATE |
internal/agents/provider/claude/send.go |
Modified | REFACTOR |
internal/agents/provider/copilot/send.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/executor.go |
Modified | FEAT |
internal/tools/embed/tools.json |
Modified | UPDATE |
internal/tools/file/routes.go |
Modified | FEAT |
internal/tools/apis/searchWeb/SearchWeb.go |
Modified | UPDATE |
internal/tools/apis/searchWeb/fetchDDG.go |
Modified | UPDATE |
internal/tools/apis/googleRSS/fetch.go |
Modified | PERF |
internal/tools/calculator/calculate.go |
Modified | PERF |
internal/tools/browser/extract.go |
Modified | UPDATE |
README.md |
Modified | DOC |
README.zh.md |
Modified | DOC |
doc.md |
Modified | DOC |
doc.zh.md |
Modified | DOC |
.gitignore |
Modified | CHORE |
go.mod |
Modified | CHORE |
go.sum |
Modified | CHORE |
Generated by SKILL