Skip to content

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)

← 返回更新日志