# v0.17.0 Release Notes

> [!WARNING]
> Deprecated, please download [v0.17.1](https://github.com/pardnchiu/Agenvoy/releases/tag/v0.17.1) directly.

> v0.16.1 -> v0.17.0

## Summary

Introduced a full REST API layer with SSE support and tool invocation endpoints, added a TUI dashboard for session and log browsing, and migrated credential storage from the OS keychain to the Agenvoy API.

<details>
<summary>翻譯</summary>
新增完整 REST API 層（含 SSE 支援與工具呼叫端點）、TUI 儀表板供 session 與日誌瀏覽，並將憑證儲存從系統金鑰鏈遷移至 Agenvoy API。
</details>

## Changes

### FEAT
- Add REST API server with `/v1/send` (SSE + non-SSE), `/v1/key`, `/v1/tools`, `/v1/tool/:name` endpoints
- Add TUI layer with file browser, content viewer, session formatter, and log panel
- Integrate Discord bot and REST API into unified `cmd/app` entrypoint

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

- 新增 REST API 伺服器，包含 `/v1/send`（SSE 與非 SSE）、`/v1/key`、`/v1/tools`、`/v1/tool/:name` 端點
- 新增 TUI 層，提供檔案瀏覽器、內容檢視器、session 格式化器與日誌面板
- 將 Discord bot 與 REST API 整合進統一的 `cmd/app` 入口

</details>

### REFACTOR
- Replace OS keyring with Agenvoy REST API for credential storage
- Rename `browser` package to `fetchPage` and centralize tool path resolution via `ToolFetchPage`

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

- 將憑證儲存從 OS keyring 改為透過 Agenvoy REST API 管理
- 將 `browser` 套件重新命名為 `fetchPage`，並集中透過 `ToolFetchPage` 解析工具路徑

</details>

### SECURITY
- Migrate Copilot token storage from filesystem to system keychain

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

- 將 Copilot token 儲存從檔案系統遷移至系統金鑰鏈

</details>

### FIX
- Replace `MustClose` with `Close` in browser tool and fix `realPath` for non-existent directories

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

- 修正瀏覽器工具中 `MustClose` 改用 `Close`，並修正 `realPath` 對不存在目錄的處理

</details>

### UPDATE
- Reduce `search_web` and `google_rss` cache TTL to 5 minutes
- Correct Copilot API token limits to match CAPI `max_prompt`/`max_output` values
- Translate all system prompts to English and add Chrome detection for browser tool
- Update `schedule-task` and `script-tool-creator` skills to use Agenvoy API instead of direct external calls

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

- 縮短 `search_web` 與 `google_rss` 快取 TTL 至 5 分鐘
- 修正 Copilot API token 限制以符合 CAPI `max_prompt`/`max_output` 實際值
- 將所有系統提示翻譯為英文，並新增瀏覽器工具的 Chrome 偵測
- 更新 `schedule-task` 與 `script-tool-creator` 技能，改用 Agenvoy API 取代直接外部呼叫

</details>

***

## Files Changed

| File | Status | Tag |
|------|--------|-----|
| `internal/routes/handler/send.go` | Added | FEAT |
| `internal/routes/handler/sendSSE.go` | Added | FEAT |
| `internal/routes/handler/sendResult.go` | Added | FEAT |
| `internal/routes/handler/key.go` | Added | FEAT |
| `internal/routes/handler/tools.go` | Added | FEAT |
| `internal/routes/new.go` | Modified | FEAT |
| `cmd/app/main.go` | Added | FEAT |
| `internal/tui/new.go` | Added | FEAT |
| `internal/tui/fetchMeta.go` | Added | FEAT |
| `internal/tui/fileMonitor.go` | Added | FEAT |
| `internal/tui/globalShortcut.go` | Added | FEAT |
| `internal/tui/loadDir.go` | Added | FEAT |
| `internal/tui/readPath.go` | Added | FEAT |
| `internal/tui/selectFile.go` | Added | FEAT |
| `internal/tui/setDefault.go` | Added | FEAT |
| `internal/tui/format/error.go` | Added | FEAT |
| `internal/tui/format/history.go` | Added | FEAT |
| `internal/tui/format/summary.go` | Added | FEAT |
| `internal/tui/format/toolCall.go` | Added | FEAT |
| `internal/tools/{browser => fetchPage}/` | Renamed | REFACTOR |
| `internal/agents/provider/copilot/login.go` | Modified | SECURITY |
| `internal/agents/provider/copilot/new.go` | Modified | REFACTOR |
| `internal/tools/external/searchWeb/SearchWeb.go` | Modified | UPDATE |
| `internal/tools/external/googleRSS/fetch.go` | Modified | UPDATE |
| `configs/prompts/system_prompt.md` | Modified | UPDATE |
| `extensions/skills/schedule-task/SKILL.md` | Modified | UPDATE |
| `extensions/skills/script-tool-creator/SKILL.md` | Modified | UPDATE |
| `configs/jsons/providors/copilot.json` | Modified | UPDATE |
| `internal/filesystem/absPath.go` | Modified | FIX |
| `README.md` | Modified | DOC |
| `doc/README.zh.md` | Modified | DOC |
| `go.mod` | Modified | CHORE |
| `go.sum` | Modified | CHORE |

***

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