v0.12.0 -> v0.13.0
Summary
Migrate scheduler storage to JSON with full ID-based CRUD, replace switch-based tool routing with a self-registering Registry pattern, and harden filesystem access by restricting absolute paths to the current user's home directory.
翻譯
將排程儲存遷移至 JSON 並提供完整的 ID-based CRUD 操作,以自註冊 Registry 模式取代 switch-based tool routing,並限制絕對路徑僅允許當前使用者 home 目錄以加固檔案系統存取。Changes
FEAT
- Add JSON-based persistent storage for scheduler with ID-based CRUD operations for both tasks and crons
- Add
deleteCron,deleteTask,updateCron,updateTaskendpoints to scheduler tools
翻譯
- 新增以 JSON 為基礎的排程持久化儲存,支援 tasks 與 crons 的 ID-based CRUD 操作
- 新增
deleteCron、deleteTask、updateCron、updateTask端點至排程工具
FIX
- Prepend ellipsis marker to trimmed conversation history for clearer context boundaries
- Add large file guard to prevent excessive memory usage during file reads
翻譯
- 在裁切後的對話歷史前加入省略號標記,使 context 邊界更清晰
- 新增大檔案防護機制,防止檔案讀取時佔用過多記憶體
REFACTOR
- Replace switch-based tool routing with self-registering Registry pattern across all tool packages
- Migrate tool definitions from embedded JSON (
tools.json) to self-registering Go code withregister.gofiles - Extract denied path config to separate
denied.gofile and unifyReadFilesignature - Migrate keychain package under
filesystem/and unifyWriteFilewith path validation - Reorganize
apiAdapterunderapis/adapterand restructure API tool registration
翻譯
- 以自註冊 Registry 模式取代所有 tool packages 中的 switch-based routing
- 將 tool 定義從嵌入式 JSON(
tools.json)遷移至自註冊 Go 程式碼(register.go) - 將 denied path 設定拆分至獨立
denied.go檔案,統一ReadFile簽章 - 將 keychain 套件遷移至
filesystem/下,統一WriteFile含路徑驗證 - 重新組織
apiAdapter至apis/adapter下,重構 API tool 註冊流程
SECURITY
- Restrict absolute path resolution to current user's home directory only, preventing traversal outside user scope
翻譯
- 限制絕對路徑解析僅允許當前使用者 home 目錄,防止超出使用者範圍的路徑穿越
DOC
- Expand README feature descriptions with detailed architecture sections
- Add version history list to README and documentation pages
- Remove inline version number from documentation header
翻譯
- 擴充 README 功能描述���新增詳細架構區段
- 在 README 與文件頁面新增版本歷史列表
- 移除文件標題中的內嵌版本號
Files Changed
| File | Status | Tag |
|---|---|---|
internal/scheduler/addCron.go |
Modified | FEAT |
internal/scheduler/addTask.go |
Modified | FEAT |
internal/scheduler/deleteCron.go |
Added | FEAT |
internal/scheduler/deleteTask.go |
Added | FEAT |
internal/scheduler/updateCron.go |
Added | FEAT |
internal/scheduler/updateTask.go |
Added | FEAT |
internal/scheduler/crons.go |
Modified | FEAT |
internal/scheduler/tasks.go |
Modified | FEAT |
internal/scheduler/scheduler.go |
Modified | FEAT |
internal/filesystem/scheduler.go |
Added | FEAT |
internal/tools/schedulerTools/register.go |
Added | FEAT |
internal/tools/schedulerTools/cronRoutes.go |
Deleted | REFACTOR |
internal/tools/schedulerTools/taskRoutes.go |
Deleted | REFACTOR |
internal/agents/exec/getSession.go |
Modified | FIX |
internal/tools/file/readFile.go |
Added | REFACTOR |
internal/tools/file/writeFile.go |
Added | REFACTOR |
internal/tools/file/writeScript.go |
Added | REFACTOR |
internal/tools/file/write.go |
Deleted | REFACTOR |
internal/tools/file/register.go |
Added | REFACTOR |
internal/tools/file/routes.go |
Modified | REFACTOR |
internal/tools/file/file_test.go |
Deleted | REFACTOR |
internal/tools/register.go |
Added | REFACTOR |
internal/tools/register/register.go |
Added | REFACTOR |
internal/tools/executor.go |
Modified | REFACTOR |
internal/tools/embed/tools.json |
Deleted | REFACTOR |
internal/tools/browser/register.go |
Added | REFACTOR |
internal/tools/calculator/register.go |
Added | REFACTOR |
internal/tools/apis/register.go |
Added | REFACTOR |
internal/tools/apis/routes.go |
Deleted | REFACTOR |
internal/tools/apis/googleRSS/register.go |
Added | REFACTOR |
internal/tools/apis/searchWeb/register.go |
Added | REFACTOR |
internal/tools/apis/weatherReport/fetch.go |
Deleted | REMOVE |
internal/tools/{apiAdapter => apis/adapter}/execute.go |
Renamed | REFACTOR |
internal/tools/{apiAdapter => apis/adapter}/request.go |
Renamed | REFACTOR |
internal/tools/{apiAdapter => apis/adapter}/send.go |
Renamed | REFACTOR |
internal/tools/{apiAdapter => apis/adapter}/translate.go |
Renamed | REFACTOR |
internal/tools/{apiAdapter => apis/adapter}/translator.go |
Renamed | REFACTOR |
internal/tools/{apiAdapter => apis/adapter}/example.json |
Renamed | REFACTOR |
internal/filesystem/denied.go |
Added | REFACTOR |
internal/filesystem/filesystem.go |
Modified | REFACTOR |
internal/{keychain => filesystem/keychain}/keychain.go |
Renamed | REFACTOR |
internal/filesystem/sessionManager/config.go |
Modified | REFACTOR |
internal/filesystem/sessionManager/session.go |
Modified | REFACTOR |
internal/filesystem/sessionManager/summary.go |
Modified | REFACTOR |
internal/tools/file/list.go |
Modified | SECURITY |
internal/tools/file/patch.go |
Modified | SECURITY |
internal/tools/file/search.go |
Modified | SECURITY |
internal/tools/file/errorMemory.go |
Modified | SECURITY |
internal/tools/file/toolError.go |
Modified | SECURITY |
internal/tools/browser/download.go |
Modified | SECURITY |
internal/tools/browser/load.go |
Modified | SECURITY |
internal/tools/browser/skipped.go |
Modified | SECURITY |
internal/tools/apis/searchWeb/SearchWeb.go |
Modified | REFACTOR |
internal/tools/apis/searchWeb/fetchDDG.go |
Modified | REFACTOR |
internal/tools/types/executor.go |
Modified | REFACTOR |
internal/agents/provider/claude/new.go |
Modified | REFACTOR |
internal/agents/provider/compat/new.go |
Modified | REFACTOR |
internal/agents/provider/copilot/login.go |
Modified | REFACTOR |
internal/agents/provider/gemini/new.go |
Modified | REFACTOR |
internal/agents/provider/nvidia/new.go |
Modified | REFACTOR |
internal/agents/provider/openai/new.go |
Modified | REFACTOR |
internal/agents/exec/selectAgent.go |
Modified | REFACTOR |
internal/discord/new.go |
Modified | REFACTOR |
internal/discord/session.go |
Modified | REFACTOR |
internal/skill/sync.go |
Modified | REFACTOR |
cmd/cli/addProvider.go |
Modified | REFACTOR |
cmd/cli/main.go |
Modified | REFACTOR |
cmd/cli/removeProvider.go |
Modified | REFACTOR |
cmd/server/main.go |
Modified | REFACTOR |
configs/prompts/system_prompt.md |
Modified | REFACTOR |
README.md |
Modified | DOC |
doc/README.zh.md |
Modified | DOC |
doc/doc.md |
Modified | DOC |
doc/doc.zh.md |
Modified | DOC |
extensions/skills/project-agenvoy/SKILL.md |
Modified | DOC |
extensions/skills/schedule-task/SKILL.md |
Modified | DOC |
Generated by SKILL