大数跨境

OpenCode v2 在动了:今天 2 个 TUI 修复 PR,bot 写的、kit 重做了一遍

OpenCode v2 在动了:今天 2 个 TUI 修复 PR,bot 写的、kit 重做了一遍 创见AI实验室
2026-07-13
8
导读:我今天最意外的不是修复内容(两个 TUI 修复都不大),而是提交者列表里全是 bot。这两个 PR 给我的不是答案,是一个清晰的窗口——让我们看到 AI 辅助开源接下来可能会长成什么样。

OpenCode v1.17.18 是 3 天前发的。我以为会安静几天,结果今天 v2 分支一下午出来两个 TUI 修复 PR——而且都不是人类写的。

我看完两个 PR 之后最大的感受不是"修了什么 bug",而是OpenCode 的开发流程变了:bot 探索方案、出视频证据,kitlangton 看完关掉、重新提一版、合并。这套流程以前没见过。

今天这 2 个 PR 是这样的

两个 PR 都在 v2 分支(不是 v1.17.x),都是 TUI 修复,标题前缀都是 fix(tui):

#36516 fix(tui): show background subagent completion(已关闭)时间:2026-07-12 20:41 UTC(北京时间)。提交者:opencode-agent[bot]。状态:closed(未合并)。

干的事:当你 launch 一个后台 subagent(比如让 Researcher 跑 30 分钟),它跑完之后父会话屏幕是空的——以前只能等下一个 prompt 时模型自己说"我之前派了一个 Researcher,它说……"。这个 PR 改完后,subagent 结束时会往父 transcript 推一条 notice:

↳ Researcher finished · Trace the completion event

颜色按状态变:info(完成)/ warning(取消)/ error(失败)。技术上是走 synthetic event 通道,带 metadata {source: "subagent", childID, agent, state},TUI 端 SessionNoticeMessageV2 读这个 metadata 渲染。

改动 3 个文件 +56 行:

  • packages/core/src/tool/subagent.ts +16/-5
  • packages/core/test/tool-subagent.test.ts +9/-0
  • packages/tui/src/routes/session/index.tsx +31/-3

提交分支命名 completion-ui-study——"study" 这个词暗示是实验性的,不是要直接合并的。

#36567 fix(tui): restore clicked reverted prompt(开放中)时间:2026-07-12 21:49 UTC。提交者:opencode-agent[bot]。状态:open(等 review)。

干的事:你点一条历史消息 → "Revert" → 服务端 revert 成功。但本地 prompt 不会更新成那条消息——这跟 /undo 的行为不一致。/undo 一直会把 prompt 恢复成 revert 的那条,包括 files、agents、mention 全带回去。

这个 PR 的修法不是各管各的,而是抽出公共函数。新建 packages/tui/src/util/revert-prompt.ts,里面一个 revertedPrompt(message): PromptInfo 函数。click-revert 和 /undo 都调它——保证两条路径行为一致。

改动 4 个文件 +80/-19,其中 2 个是新文件(util + test):

  • packages/tui/src/routes/session/dialog-message.tsx +12/-4
  • packages/tui/src/routes/session/index.tsx +10/-15
  • packages/tui/src/util/revert-prompt.ts +19/-0 NEW
  • packages/tui/test/util/revert-prompt.test.ts +39/-0 NEW TEST

bot 提 PR、kit 重做一遍、3 分钟合并

oc-v2-workflow.png

这是我今天看完时间线最想讲的。

#36516 不是被合并的,是被关闭后由 kitlangton 重新提了一遍。整个流程:

  • 20:41:03#36516 被创建,分支 completion-ui-study,提交者 opencode-agent[bot]
  • 20:41:11 github-actions 自动打上 v2 + tui + evidence 标签
  • 23:37:35 kitlangton 关闭 #36516(branch name 带 "study"——他看出这是 bot 探索用的)
  • 23:38:01 kitlangton 24 秒后提交 #36530——同一个标题、同样的代码 diff,但 commit 信息是手写的(更结构化),PR body 列了完整 testing 步骤
  • 23:43:13 合并 + 关闭分支(合并 commit 5414697b,head_ref 自动删除)

从 bot 提交到合并总耗时 41 分钟

关键观察:

  1. bot 的 PR 大概率不会被直接合并。bot 的工作是"探索 + 出证据",最终决定权在人。
  2. 视频证据是新规。两个 PR 都上传了 .webm 或 .mp4 作为 release asset(#36516 是 final.webm 2.65s + final.png;#36567 是 revert-click-demo.mp4 6.05s)。PR body 里直接嵌入预览,你可以看视频而不用自己 build。
  3. kitlangton 一人 review。今天 v2 分支一天有 30 个新 PR,但合并速度很慢——kitlangton 一个人 review + 重写。

这两个 PR 改完后你能感觉到什么

短期:什么都不用做。两个 PR 都在 v2 分支,v1.17.18(2026-07-10)才是当前能用版本。TUI 修复要等 v2 发布才能用上。

中期:subagent 完成有通知了。这个改动对重度 subagent 用户(频繁用 Explore / Researcher / Oracle 后台跑)非常直接——以前 30 分钟 silent waiting 的体验没了。

另一个:点 Revert 行为一致了<code>/undo</code> 和"点击消息 → Revert"两条路径现在走同一个函数,files/agents/mention 全带回去。重构代码本身也是进步——以前是两份重复代码在两个地方维护。

关于 bot 工作流的判断

  • 短期(今年):bot 写的代码还是需要人类重做一遍才能合并。kitlangton 不是信任 bot,而是把 bot 当作"探索工具 + 出视频证据工具"。
  • 中期(明年):这套工作流如果扩散到其他开源项目,maintainer 工作量会从"写代码"变成"review + 重做"。看 OpenCode 的 bot PR 质量,是观察"AI 辅助开源"未来形态的窗口。
  • 用户能做的最实际的事:在 GitHub 上 Watch v2 分支。第一个 beta/release-candidate 出来时,你会收到通知。

一点观察

我今天最意外的不是修复内容(两个 TUI 修复都不大),而是提交者列表里全是 bot

如果这件事扩散——bot 提 PR → 出视频 → 人类重做 → 合并——开源协作的分工就变了:写代码的人少了,review 的人多了。今天 OpenCode 还是 kitlangton 一人 review,但其他项目呢?等 PR 数量是现在的 10 倍的时候,谁来 review 那些 bot 提的 PR?

这两个 PR 给我的不是答案,是一个清晰的窗口——让我们看到 AI 辅助开源接下来可能会长成什么样。

我会继续看 v2 分支。如果有更多有意思的 PR(特别是新功能级别的,不是修复),再写一篇。

精选系列





【声明】内容源于网络
0
0
创见AI实验室
创见AI实验室,我们不只是介绍工具,我们共同创造工作方式的未来。
内容 165
粉丝 0
创见AI实验室 创见AI实验室,我们不只是介绍工具,我们共同创造工作方式的未来。
总阅读1.3k
粉丝0
内容165