v1.3.11

v0.13.0 Release Notes

Released


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, updateTask endpoints 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 with register.go files
  • Extract denied path config to separate denied.go file and unify ReadFile signature
  • Migrate keychain package under filesystem/ and unify WriteFile with path validation
  • Reorganize apiAdapter under apis/adapter and 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


FileStatusTag
internal/scheduler/addCron.goModifiedFEAT
internal/scheduler/addTask.goModifiedFEAT
internal/scheduler/deleteCron.goAddedFEAT
internal/scheduler/deleteTask.goAddedFEAT
internal/scheduler/updateCron.goAddedFEAT
internal/scheduler/updateTask.goAddedFEAT
internal/scheduler/crons.goModifiedFEAT
internal/scheduler/tasks.goModifiedFEAT
internal/scheduler/scheduler.goModifiedFEAT
internal/filesystem/scheduler.goAddedFEAT
internal/tools/schedulerTools/register.goAddedFEAT
internal/tools/schedulerTools/cronRoutes.goDeletedREFACTOR
internal/tools/schedulerTools/taskRoutes.goDeletedREFACTOR
internal/agents/exec/getSession.goModifiedFIX
internal/tools/file/readFile.goAddedREFACTOR
internal/tools/file/writeFile.goAddedREFACTOR
internal/tools/file/writeScript.goAddedREFACTOR
internal/tools/file/write.goDeletedREFACTOR
internal/tools/file/register.goAddedREFACTOR
internal/tools/file/routes.goModifiedREFACTOR
internal/tools/file/file_test.goDeletedREFACTOR
internal/tools/register.goAddedREFACTOR
internal/tools/register/register.goAddedREFACTOR
internal/tools/executor.goModifiedREFACTOR
internal/tools/embed/tools.jsonDeletedREFACTOR
internal/tools/browser/register.goAddedREFACTOR
internal/tools/calculator/register.goAddedREFACTOR
internal/tools/apis/register.goAddedREFACTOR
internal/tools/apis/routes.goDeletedREFACTOR
internal/tools/apis/googleRSS/register.goAddedREFACTOR
internal/tools/apis/searchWeb/register.goAddedREFACTOR
internal/tools/apis/weatherReport/fetch.goDeletedREMOVE
internal/tools/{apiAdapter => apis/adapter}/execute.goRenamedREFACTOR
internal/tools/{apiAdapter => apis/adapter}/request.goRenamedREFACTOR
internal/tools/{apiAdapter => apis/adapter}/send.goRenamedREFACTOR
internal/tools/{apiAdapter => apis/adapter}/translate.goRenamedREFACTOR
internal/tools/{apiAdapter => apis/adapter}/translator.goRenamedREFACTOR
internal/tools/{apiAdapter => apis/adapter}/example.jsonRenamedREFACTOR
internal/filesystem/denied.goAddedREFACTOR
internal/filesystem/filesystem.goModifiedREFACTOR
internal/{keychain => filesystem/keychain}/keychain.goRenamedREFACTOR
internal/filesystem/sessionManager/config.goModifiedREFACTOR
internal/filesystem/sessionManager/session.goModifiedREFACTOR
internal/filesystem/sessionManager/summary.goModifiedREFACTOR
internal/tools/file/list.goModifiedSECURITY
internal/tools/file/patch.goModifiedSECURITY
internal/tools/file/search.goModifiedSECURITY
internal/tools/file/errorMemory.goModifiedSECURITY
internal/tools/file/toolError.goModifiedSECURITY
internal/tools/browser/download.goModifiedSECURITY
internal/tools/browser/load.goModifiedSECURITY
internal/tools/browser/skipped.goModifiedSECURITY
internal/tools/apis/searchWeb/SearchWeb.goModifiedREFACTOR
internal/tools/apis/searchWeb/fetchDDG.goModifiedREFACTOR
internal/tools/types/executor.goModifiedREFACTOR
internal/agents/provider/claude/new.goModifiedREFACTOR
internal/agents/provider/compat/new.goModifiedREFACTOR
internal/agents/provider/copilot/login.goModifiedREFACTOR
internal/agents/provider/gemini/new.goModifiedREFACTOR
internal/agents/provider/nvidia/new.goModifiedREFACTOR
internal/agents/provider/openai/new.goModifiedREFACTOR
internal/agents/exec/selectAgent.goModifiedREFACTOR
internal/discord/new.goModifiedREFACTOR
internal/discord/session.goModifiedREFACTOR
internal/skill/sync.goModifiedREFACTOR
cmd/cli/addProvider.goModifiedREFACTOR
cmd/cli/main.goModifiedREFACTOR
cmd/cli/removeProvider.goModifiedREFACTOR
cmd/server/main.goModifiedREFACTOR
configs/prompts/system_prompt.mdModifiedREFACTOR
README.mdModifiedDOC
doc/README.zh.mdModifiedDOC
doc/doc.mdModifiedDOC
doc/doc.zh.mdModifiedDOC
extensions/skills/project-agenvoy/SKILL.mdModifiedDOC
extensions/skills/schedule-task/SKILL.mdModifiedDOC



Generated by SKILL