迁移到 1.0
OpenCode 1.0 中有哪些变化。
OpenCode 1.0 是一次对 TUI 的“完全重写”。
我们从原来的 Go + bubbletea TUI 迁移到自研的 OpenTUI 框架(使用 Zig + SolidJS),以解决性能和能力上的限制。
新的 TUI 与旧版使用同一个 OpenCode Server,因此整体使用方式与 0.x 保持一致,只是交互体验有明显提升。
升级与回滚
当前从 0.x 不会被强制自动升级到 1.0(但某些非常旧的版本可能会总是拉取最新版本)。
手动升级到 1.0:
opencode upgrade 1.0.0如果需要回退到 0.x,比如:
opencode upgrade 0.15.31体验(UX)变化
- 会话历史展示更加紧凑:默认只对
edit/bash等关键工具展示完整细节; - 新增“命令栏(Command Bar)”:
- 通过
Ctrl+P(或自定义快捷键)随时打开; - 几乎所有操作都可以通过命令栏触发;
- 通过
- 新增“会话侧边栏”:
- 展示当前会话的元信息、上下文等;
- 可以在设置中开关。
我们同时移除了一些使用较少的功能,如果你发现重要功能缺失,欢迎提 Issue,我们会优先考虑恢复。
不兼容变更
快捷键重命名
以下 keybind 名称发生了变化:
messages_revert→messages_undoswitch_agent→agent_cycleswitch_agent_reverse→agent_cycle_reverseswitch_mode→agent_cycleswitch_mode_reverse→agent_cycle_reverse
如你在 opencode.json 的 keybinds 中使用了旧名字,需要同步更新。
移除的快捷键
以下 keybind 已被移除(对应功能要么合并到了新的交互中,要么暂时下线):
messages_layout_togglemessages_nextmessages_previousfile_diff_togglefile_searchfile_closefile_listapp_helpproject_inittool_detailsthinking_blocks
如果你的工作流依赖其中某项功能,可以在仓库中提 Issue 说明场景,我们会评估是否以新的方式支持。