📄 文档列表
🎬 口播文案
✏️ 编辑文档
标题
工具栏
加粗
H2 标题
H3 标题
引用
无序列表
有序列表
代码块
📷 上传图片
点击或拖拽上传图片
支持 PNG, JPG, GIF, WebP 格式
内容 (Markdown 格式)
## OpenCode v1.17.11:会话回滚终于来了,桌面端拖拽 tab + 崩溃修复补丁 v1.17.10 刚发了一天多,OpenCode 又推送了 v1.17.11(6 月 25 日发布)。 当前仓库:178,721 Stars / 21,927 Forks。 这版只有一个新功能,但就这一个就值得更。 --- ## 会话回滚:我等你等得有点久 changelog 第一行: > Add session snapshots and revert controls so you can roll a session back to an earlier message, including file changes. **会话快照 + 回滚**。可以回滚到之前的某条消息,**附带文件变更一起回滚**。 之前 OpenCode 的 session 是不可逆的。Agent 跑了一长串对话之后改了不该改的文件、或者某步操作搞坏了代码结构,只能手动 `git checkout` 或者重新开一个 session 从头来。遇到 agent 自作主张的情况就很烦。 v1.17.11 做的事情,我拆一下: **快照机制**:每次 agent 执行完一步(生成一条消息、改一批文件),系统自动拍一个快照,记录当前的文件状态和对话节点。 **回滚入口**:session timeline 里每一条消息旁边多了回滚按钮。点一下就能把整个 session 状态恢复到那一步——不只是对话回到那个节点,**当时的文件改动也一并回退**。 这个功能在 OpenCode 的 issue 里催了很久了。特别是那些跑长 session 的人(30+ 回合的 debug、重构、跨文件改动),回滚是刚需。 --- ## 桌面端改进:拖拽 tab + 快捷键 @arvsrn 个人贡献了 5 个 PR,桌面端这次变动不少: **拖拽 tab**(@arvsrn,#31364)—桌面端的 tab 现在可以拖拽排序了。多 session 用户终于不用关掉重新开。 **Chrome 风格 tab 快捷键** — `mod+1` 到 `mod+9` 快速切换 tab。用键盘多的人应该会喜欢。 **空状态页面**(@arvsrn,#33315)—没有 session 时不再显示空白页,改了设计。 **v2 session 视图的 jump-to-latest 按钮重新设计**(@arvsrn,#33809)—跳转到最新消息的按钮换了样式,位置更顺手。 **桌面端布局改版持续优化** — titlebar tab 的 size 统一、session 归档功能完善。 --- ## 崩溃修复:v1.17.10 的问题补上了吗 我知道很多人关心这个。**直接说结论:changelog 没有用 "crash"/"fix crash" 这个字眼,但有几个修复跟稳定性直接相关。** 我翻了 v1.17.10 的已知问题,这次修的主要是这几个: - **Todo dock 跨 session 乱跑**:之前切 session 的时候 todo dock 会移位或者消失 - **Provider 弹窗/附件/回滚脱离 session**:之前这些 UI 元素会跟所属 session 脱钩,切 tab 之后找不到 - **Session 已关闭但 tab 还在**:之前关掉 session 后 tab 残留,点了还报错 - **草稿跟 server/项目绑定不牢**:之前从 Home 创建的 draft 可能跑到别的 server 下 - **Session 通知滞后的 toast 不消失**:已经打开 session 了,之前没读的通知还在弹 - **去掉 session loading stripe**:之前加载 session 时有条进度条一闪而过,有时会卡住不消失 总结一张表: | v1.17.10 可能遇到的问题 | v1.17.11 修复状态 | |------------------------|-------------------| | Todo dock 切 session 后移位/消失 | ✅ 修复:dock 保持在原位 | | Provider 弹窗脱离 session | ✅ 修复:绑定到发起 session | | 关掉的 session tab 仍残留 | ✅ 修复:自动关闭 | | 草稿绑错 server/项目 | ✅ 修复:正确绑定 | | 通知 toast 不消失 | ✅ 修复:打开 session 后清除 | | Session 加载进度条卡住 | ✅ 移除 stripe | 如果你升了 v1.17.10 之后遇到上述任何一个问题,v1.17.11 就是补丁版本。 --- ## 会话回滚这个功能意味着什么 我的理解: **之前**:OpenCode 的 session 是"写入式"的——agent 改了什么,文件就变了,除非你人肉 git diff 逐行回退,否则不可逆。 **现在**:session 变成了"可回退式"的——每一步都有快照,可以倒回去。 这对高风险操作(修改配置、重构核心逻辑、批量替换)是个质变。之前这些操作只能在代码仓库里做确认,现在可以直接在 session 层面控制——回滚按钮按下去,不仅对话重置,文件也恢复。 不过有几点我还没试清楚: - 快照的存储位置和保留策略(一直存?有数量限制?) - 回滚之后 agent 的状态怎么处理(之前的上下文是保留还是丢弃?) - 多人协作时回滚是否会影响其他人 这些问题等我跑一阵子再补充。 --- ## 2 位贡献者 | 贡献者 | PR | |--------|----| | @arvsrn | 拖拽 tab、空状态页面、jump-to-latest 重新设计、v1 图标更新、桌面端布局改进(5 个 PR) | | @isaachuangGMICLOUD | GMI Cloud provider 文档(#32914) | @arvsrn 已经连续三个版本在修桌面端了(v1.17.9/10/11)。如果想让他修某个 bug,大概去 PR 下 @他比较快。 --- ## 更不更 **建议更**。原因依次是: 1. 会话回滚——长 session 用户是刚需 2. 崩溃修复——如果 v1.17.10 碰到了上面表里的问题,更了就好了 3. 拖拽 tab + 快捷键——日常体验提升 v1.17.11 整体给我的感觉是:**OpenCode 在做一件对的事——让 AI 会话从"不可逆"变成"可回退"**。这件事不止 OpenCode 在做(Cursor 也有 checkpoint),但在开源世界里,这是 agent 类工具第一次把这个能力原生做进去。 --- **互动问题**:你用 OpenCode 写代码时,最长的一个 session 有多少回合?有没有过改错文件回退不了的经历? 小创 / 创见 AI 实验室 > 预加载评论 > 回滚功能等太久了,之前有个 session 80 回合,改错了硬扛手动恢复 | 更新完拖拽 tab 直接舒服了,之前 tab 顺序不能动 | @arvsrn 连续三个版本承包桌面端,OpenCode 应该给他发工资 | 快照会占磁盘吗?一直没找到存储在哪
摘要
标签
多个标签用逗号分隔
分类
技术文章
教程指南
工具测评
项目实战
行业观察
默认
💾 保存修改
← 返回查看
返回列表