# v0.18.0 Release Notes

> v0.17.4 -> v0.18.0

## Summary

Introduces vim-style TUI navigation with command input mode, consolidates CLI and server into a unified `agen` entrypoint, and migrates session history, error memory, and web/page caches from JSON/filesystem storage to ToriiDB.
<details>
<summary>翻譯</summary>
新增 vim 風格 TUI 導覽與命令輸入模式，將 CLI 與 server 整併為單一 `agen` 入口，並將 session 歷史、錯誤記憶與網頁/頁面快取從 JSON/檔案系統遷移至 ToriiDB。
</details>

## Changes

### FEAT
- Add vim-style navigation keys and command input mode to the TUI, including new global shortcut handling
- Add hourly cron-driven summary generation with chunked multi-pass processing to replace per-request summaries

<details>
<summary>翻譯</summary>

- 為 TUI 新增 vim 風格導覽鍵與命令輸入模式，以及新的全域快捷鍵處理
- 新增每小時 cron 驅動的摘要生成，採用分塊多階段處理以取代每次請求即生成的摘要

</details>

### UPDATE
- Rename `agenvoy` to `agen` across CLI, Makefile, and run/cli usage

<details>
<summary>翻譯</summary>

- 將 CLI、Makefile 與 run/cli 用法中的 `agenvoy` 重新命名為 `agen`

</details>

### REFACTOR
- Consolidate `cmd/cli` and `cmd/server` into a single `cmd/app` entrypoint with shared agent registry building and selection
- Migrate session history persistence and search to the new ToriiDB store wrapper
- Migrate error memory from JSON files to ToriiDB
- Migrate `googleRSS` and `searchWeb` caches to ToriiDB
- Migrate `fetchPage` cache and skip list from filesystem to ToriiDB
- Extract `runCommand` logic into its own module and tidy tool registration
- Enforce file operation cycle and strengthen tool argument validation in `toolCall`

<details>
<summary>翻譯</summary>

- 將 `cmd/cli` 與 `cmd/server` 整併為單一 `cmd/app` 入口，共用 agent registry 建構與選擇
- 將 session 歷史持久化與搜尋遷移至新的 ToriiDB store 包裝層
- 將錯誤記憶從 JSON 檔案遷移至 ToriiDB
- 將 `googleRSS` 與 `searchWeb` 快取遷移至 ToriiDB
- 將 `fetchPage` 快取與跳過清單從檔案系統遷移至 ToriiDB
- 將 `runCommand` 邏輯抽離為獨立模組並整理工具註冊
- 於 `toolCall` 強制檔案操作生命週期並強化工具參數驗證

</details>

### FIX
- Update stock tool references and fix summary regex that truncated nested JSON payloads

<details>
<summary>翻譯</summary>

- 更新 stock 工具參照並修正會截斷巢狀 JSON 的摘要正則

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `cmd/app/main.go` | Added | REFACTOR |
| `cmd/app/buildAgentRegistry.go` | Added | REFACTOR |
| `cmd/app/selectAgent.go` | Added | REFACTOR |
| `cmd/app/addProvider.go` | Renamed | REFACTOR |
| `cmd/app/removeProvider.go` | Renamed | REFACTOR |
| `cmd/app/runEvents.go` | Renamed | REFACTOR |
| `cmd/cli/main.go` | Deleted | REFACTOR |
| `cmd/cli/getAgentRegistry.go` | Deleted | REFACTOR |
| `cmd/cli/embed/providers.json` | Deleted | REFACTOR |
| `cmd/server/main.go` | Deleted | REFACTOR |
| `internal/tui/commandMode.go` | Added | FEAT |
| `internal/tui/globalShortcut.go` | Added | FEAT |
| `internal/tui/new.go` | Modified | FEAT |
| `internal/filesystem/store/store.go` | Added | REFACTOR |
| `internal/tools/file/searchHistory.go` | Modified | REFACTOR |
| `internal/tools/file/errorMemory.go` | Modified | REFACTOR |
| `internal/tools/external/googleRSS/fetch.go` | Modified | REFACTOR |
| `internal/tools/external/searchWeb/SearchWeb.go` | Modified | REFACTOR |
| `internal/tools/fetchPage/download.go` | Modified | REFACTOR |
| `internal/tools/fetchPage/load.go` | Modified | REFACTOR |
| `internal/tools/fetchPage/skipped.go` | Modified | REFACTOR |
| `internal/tools/runCommand.go` | Added | REFACTOR |
| `internal/tools/tools.go` | Deleted | REFACTOR |
| `internal/tools/register.go` | Modified | REFACTOR |
| `internal/agents/exec/toolCall.go` | Modified | REFACTOR |
| `internal/agents/exec/generateSummary.go` | Modified | FEAT |
| `internal/agents/exec/extractSummary.go` | Modified | FEAT |
| `internal/agents/exec/execute.go` | Modified | REFACTOR |
| `internal/agents/exec/run.go` | Modified | FIX |
| `internal/session/summary.go` | Added | FEAT |
| `internal/filesystem/keychain/keychain.go` | Modified | REFACTOR |
| `internal/sandbox/darwin.go` | Modified | REFACTOR |
| `internal/routes/handler/send.go` | Modified | REFACTOR |
| `internal/discord/run.go` | Modified | REFACTOR |
| `internal/agents/provider/claude/new.go` | Modified | REFACTOR |
| `configs/configs.go` | Modified | REFACTOR |
| `configs/jsons/denied_map.json` | Modified | FIX |
| `configs/prompts/agent_selector.md` | Modified | REFACTOR |
| `configs/prompts/skill_execution.md` | Added | REFACTOR |
| `configs/prompts/summary_prompt.md` | Modified | FEAT |
| `configs/prompts/summary_merge_prompt.md` | Added | FEAT |
| `configs/prompts/system_prompt.md` | Modified | REFACTOR |
| `makefile` | Modified | UPDATE |
| `go.mod` | Modified | CHORE |
| `go.sum` | Modified | CHORE |

***

Generated by [SKILL](https://github.com/pardnchiu/skill-version-generate)
