[!WARNING] Deprecated, please download v0.14.2 directly.
v0.13.0 -> v0.14.0
Summary
Add OS-native sandbox isolation with automatic bubblewrap installation on Linux, per-request token usage tracking across all providers, and restructure tool handlers into individually named files.
翻譯
新增作業系統原生沙箱隔離(Linux 自動安裝 bubblewrap)、所有 Provider 的每次請求 token 用量追蹤,以及將工具處理器重構為獨立命名檔案。Changes
FEAT
- Add sandbox package with OS-native isolation: bubblewrap on Linux, sandbox-exec on macOS
- Add automatic bubblewrap dependency detection and installation via system package manager on Linux
- Add sandbox dependency check at startup in both CLI and Discord server entry points
- Wrap all tool command execution and scheduler scripts through sandbox gate
- Add per-request token usage accumulation across all tool-call iterations within a session
- Display total token consumption (model + in/out) in CLI output and Discord reply footers
翻譯
- 新增 sandbox package,支援作業系統原生隔離:Linux 使用 bubblewrap,macOS 使用 sandbox-exec
- 新增 Linux 環境下 bubblewrap 自動偵測與透過系統套件管理器自動安裝
- 在 CLI 與 Discord server 進入點新增沙箱依賴檢查
- 所有工具指令執行與排程器腳本均經由 sandbox gate 包裝
- 新增 Session 內所有工具呼叫迭代的 token 用量累計
- 在 CLI 輸出與 Discord 回覆頁尾顯示總 token 消耗量(模型 + in/out)
REFACTOR
- Extract tool handlers into individually named files: glob.go → globFiles.go, list.go → listFiles.go, patch.go → patchEdit.go, search.go → searchContent.go
- Remove monolithic routes.go; each handler self-registers via init-style pattern
- Move exclude logic and file walk/list functions from tools into filesystem package
- Simplify ReadFile/WriteFile by removing redundant dir parameter
- Rename Executor field WorkPath → WorkDir for consistency
- Resolve symlinks in GetAbsPath with fallback to parent resolution for new files
翻譯
- 將工具處理器拆分為獨立命名檔案:glob.go → globFiles.go、list.go → listFiles.go、patch.go → patchEdit.go、search.go → searchContent.go
- 移除單體 routes.go,每個處理器以 init 模式自行註冊
- 將 exclude 邏輯與檔案 walk/list 函式從 tools 搬移至 filesystem package
- 簡化 ReadFile/WriteFile,移除多餘的 dir 參數
- 將 Executor 欄位 WorkPath 重新命名為 WorkDir ���保持一致性
- GetAbsPath 新增 symlink 解析,針對新檔案回退至父目錄解析
Files Changed
| File | Status | Tag |
|---|---|---|
internal/sandbox/darwin.go |
Added | FEAT |
internal/sandbox/linux.go |
Added | FEAT |
internal/sandbox/sandbox.go |
Added | FEAT |
cmd/cli/main.go |
Modified | FEAT |
cmd/server/main.go |
Modified | FEAT |
internal/scheduler/scheduler.go |
Modified | FEAT |
internal/tools/tools.go |
Modified | FEAT |
internal/agents/types/event.go |
Modified | FEAT |
internal/agents/types/message.go |
Modified | FEAT |
internal/agents/exec/execute.go |
Modified | FEAT |
internal/agents/exec/run.go |
Modified | FEAT |
internal/agents/provider/claude/send.go |
Modified | FEAT |
internal/agents/provider/gemini/send.go |
Modified | FEAT |
cmd/cli/runEvents.go |
Modified | FEAT |
internal/discord/new.go |
Modified | FEAT |
internal/discord/run.go |
Modified | FEAT |
internal/tools/file/globFiles.go |
Added | REFACTOR |
internal/tools/file/listFiles.go |
Added | REFACTOR |
internal/tools/file/patchEdit.go |
Added | REFACTOR |
internal/tools/file/searchContent.go |
Renamed | REFACTOR |
internal/tools/file/glob.go |
Deleted | REFACTOR |
internal/tools/file/list.go |
Deleted | REFACTOR |
internal/tools/file/patch.go |
Deleted | REFACTOR |
internal/tools/file/routes.go |
Deleted | REFACTOR |
internal/tools/file/register.go |
Modified | REFACTOR |
internal/tools/file/readFile.go |
Modified | REFACTOR |
internal/tools/file/writeFile.go |
Modified | REFACTOR |
internal/tools/executor.go |
Modified | REFACTOR |
internal/tools/types/executor.go |
Modified | REFACTOR |
internal/filesystem/filesystem.go |
Modified | REFACTOR |
internal/filesystem/isExclude.go |
Renamed | REFACTOR |
internal/filesystem/keychain/keychain.go |
Modified | REFACTOR |
internal/filesystem/scheduler.go |
Modified | 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/errorMemory.go |
Modified | REFACTOR |
internal/tools/file/toolError.go |
Modified | REFACTOR |
internal/tools/file/writeScript.go |
Modified | REFACTOR |
internal/tools/schedulerTools/register.go |
Modified | REFACTOR |
internal/tools/apis/searchWeb/SearchWeb.go |
Modified | REFACTOR |
internal/tools/browser/download.go |
Modified | REFACTOR |
internal/tools/browser/load.go |
Modified | REFACTOR |
internal/tools/browser/skipped.go |
Modified | REFACTOR |
internal/agents/exec/extractSummary.go |
Modified | REFACTOR |
internal/agents/exec/getSession.go |
Modified | REFACTOR |
internal/agents/exec/selectAgent.go |
Modified | REFACTOR |
internal/agents/exec/selectSkill.go |
Modified | REFACTOR |
internal/agents/provider/copilot/login.go |
Modified | REFACTOR |
Generated by SKILL