v1.3.4:Effect 架构重构 + AI SDK v6 + 模型变体对话框
发布日期:2026年3月29日
🎯 一句话总结
底层大规模重构到 Effect 架构,新增 AI SDK v6 支持和 TUI 模型变体选择对话框,Desktop 启动效率大幅提升。
🆕 新功能:模型变体选择对话框
这次更新了什么?
TUI 新增了模型变体(variant)选择对话框。切换模型变体时,不再循环切换,而是弹出对话框让你选择。
这有什么用?
之前切换模型变体只能按顺序循环(比如从「标准」→「快速」→「推理」→「标准」),不知道当前在哪个。现在弹出对话框,一目了然,直接点选想要的变体。
如何使用?
在 TUI 中触发切换模型变体的快捷键,会弹出对话框列表供你选择。
🆕 新功能:Prompt Slot
这次更新了什么?
新增 prompt slot(提示词插槽)功能。
这有什么用?
这是一个面向插件开发者的功能,允许插件在特定位置插入自定义提示词内容。比如在用户输入框上方或系统提示词中注入额外的上下文信息。
🆕 新功能:AI SDK v6 支持
这次更新了什么?
底层升级支持 AI SDK v6 版本。
这有什么用?
为未来接入更多模型提供商提供更好的兼容性,SDK v6 的 API 更现代化。
🆕 新功能:GPT 专用提示词
这次更新了什么?
为非 Codex 的 GPT 模型添加了专属系统提示词,参考 Codex CLI 的风格。
这有什么用?
使用 OpenAI GPT 模型(非 Codex 系列)时,AI 的编程辅助行为更贴近 Codex CLI 的风格,回答质量更好。
🔧 架构重构:Effect 化
做了什么?
大量核心服务被重构为 Effect 架构,包括:
- Session 服务
- Plugin 服务
- Skill 服务
- Config 服务
- LSP 服务
- 会话压缩服务
这有什么影响?
对普通用户来说,最直接的感受是:
- 启动速度提升
- 错误处理更优雅
- 并发更可靠
这是为后续大规模功能(如远程工作区、多实例管理)打地基的重构。
🔧 问题修复
Bash 工具描述优化
调整了 Bash 工具的描述文字,增加跨项目的缓存命中率,减少重复生成提示词的 token 消耗。
Windows WebUI 构建修复
修复了 WebUI 在 Windows 上的构建问题。
MCP 连接超时清理
MCP 连接失败或超时后,现在会正确关闭传输通道,不会留下僵死连接。
📊 要不要升级?
| 情况 | 建议 |
|---|---|
| 经常切换模型变体 | ✅ 强烈推荐 |
| 使用 Desktop 版 | ✅ 推荐(启动更快) |
| 使用 GPT 模型 | ✅ 推荐 |
| 正常使用中 | ✅ 推荐(底层更稳定) |
⬆️ 升级命令
bash
opencode upgrade📋 技术细节
点击展开完整更新列表
Core
- Add prompt slot feature
- Update opencode-gitlab-auth to 2.0.1 (@vglafirov)
- Refactored session processor to use effect-based architecture
- Use AppFileSystem instead of raw Filesystem for better abstraction
- Upgrade OpenTUI to version 0.1.91
- Adjust bash tool description to increase cache hit rates between projects
- Update Effect to version 4.0.0-beta.42
- Refactor session compaction service to use Effect
- Add single target plugin entrypoints
- Use ChildProcessSpawner instead of Process.spawn for formatting
- Move more responsibility to workspace routing
- Refactor Session service to use Effect-based architecture
- Add support for AI SDK v6
- Add additional overflow error patterns to error handling
- Fix flaky plugin tests by removing mock.module which is not supported in Bun
- Split out instance and route through workspaces
- Effectify Plugin service internals
- Effectify Skill service internals
- Add TUI plugins support
- Refactor tool registry to yield Config and Plugin services using Effect.forEach
- Ignore generated models snapshot files
- Replace async git() with ChildProcessSpawner in VCS module
- Yield services instead of promise facades in Effect refactor
- Fixed web UI bundle build on Windows
- Improve app startup performance
- Close MCP transport on failed or timed-out connections
- Use cachedInvalidateWithTTL for config and bump Effect to beta.37
- Refactor Config service to use Effect
- Remove workspace server and WorkspaceContext, improve routing architecture
- Add GPT prompt so non-Codex GPT models have their own system prompt modeled after Codex CLI
- Refactor LSP service with InstanceState using Effect
TUI
- Use theme color for prompt placeholder
- Add dialog variant menu and improve subagent functionality
- Open dialog for model variant selection instead of cycling
- Check KV theme before falling back to default theme
- Add top spacing to session view and remove obsolete documentation prompt
- Restore subagent footer and fix style guide violations
- Add model variant selection dialog
- Remove variant cycle display from footer
- Move session context into prompt footer
Desktop
- Improved app startup efficiency
- Use Azure Artifact Signing for Windows releases
- Default file tree to closed with minimum width
- Resize layout viewport when mobile keyboard appears (@BYK)
- Persist queued followups across project switches
- Reduce markdown jank while responses stream in UI
- Remove fork session button from app
- Default shell tool to collapsed state
- Don't bundle fonts in app
Thank you to 3 community contributors:
- @BYK: fix(app): resize layout viewport when mobile keyboard appears (#15841)
- @vglafirov: fix: update opencode-gitlab-auth to 2.0.1 (#19552)
- @gigamonster256: fix: respect semver build identifiers for nix (#11915), fix: nix embedded web-ui support (#19561)

