## 核心功能
- 会话现在保留相对工作区路径。
- Moonshot 和 Kimi 的工具架构已进行清理,以避免工具调用被拒绝。
- MCP OAuth 错误现在更贴近原生 API 的表现。
- 提供商 OAuth 授权错误现在更贴近原生 API 的表现。
- Shell 取消操作现在能干净地完成,而不会将中止的命令置于异常状态。
- 通过 HTTP 创建会话现在支持空请求体。
- 工作区 HTTP API 路由现在通过桥接器进行挂载。
- 使用 Anthropic SDK 时,工具流默认对非 Anthropic 模型关闭。
- DeepSeek 的 OpenAI 兼容配置现在默认保持 `reasoning_content` 交错输出。
- 实验性 LSP 工具现在会转发工作区符号查询。
- Google Vertex 现在默认关闭工具调用流式传输。
## 界面(TUI)
- Zed 上下文轮询保持响应灵敏。
- 在对话框中按 Enter 键现在会触发对话框,而不会发生穿透。(@CasualDeveloper)
- 文件上下文更清晰,可关闭,且在发送后自动清除。
- `opencode agent create` 现在会写入有效的 `permissions.deny` 配置。(@21pounder)
## 桌面端
- 每个工作区的图标覆盖设置现在对同一仓库的子目录保持生效。
- MCP、LSP 和工作区刷新的同步状态加载更可靠。
**感谢 3 位社区贡献者:**
- @21pounder:
- fix(opencode): agent create generates permissions field with deny ins… (#24482)
- @SeashoreShi:
- docs: fix duplicated word in CLI env var table (#24614)
- @CasualDeveloper:
- fix(tui): consume Enter in dialog useKeyboard handlers (#23390)
## Core
- Sessions now keep a relative workspace path.
- Moonshot and Kimi tool schemas are sanitized to avoid rejected tool calls.
- MCP OAuth errors now match the native API more closely.
- Provider OAuth authorize errors now match the native API more closely.
- Shell cancellations now finish cleanly instead of leaving aborted commands in a bad state.
- Creating a session over HTTP now works with an empty request body.
- Workspace HTTP API routes are now mounted through the bridge.
- Tool streaming now defaults off for non-Anthropic models when using the Anthropic SDK.
- DeepSeek OpenAI-compatible setups now keep `reasoning_content` interleaved by default.
- The experimental LSP tool now forwards the workspace symbol query.
- Google Vertex now defaults tool call streaming off.
## TUI
- Zed context polling stays responsive.
- Pressing Enter in dialogs now triggers the dialog instead of leaking through. (@CasualDeveloper)
- File context is clearer, can be turned off, and clears after sending.
- `opencode agent create` now writes a valid `permissions.deny` config. (@21pounder)
## Desktop
- Per-workspace icon overrides now stay applied for subdirectories in the same repo.
- Sync state loading is more reliable for MCP, LSP, and workspace refreshes.
**Thank you to 3 community contributors:**
- @21pounder:
- fix(opencode): agent create generates permissions field with deny ins… (#24482)
- @SeashoreShi:
- docs: fix duplicated word in CLI env var table (#24614)
- @CasualDeveloper:
- fix(tui): consume Enter in dialog useKeyboard handlers (#23390)