bottomless/agent-duel 是一个本地运行的桌面应用,两个编码代理(代替人编写代码的 AI 程序)使用同一个提示词进行盲选对决,由用户隐藏结果并亲自挑选。2026 年 11 月 6 日的提交 4a5bf5b 是一次修改两处的变更:Electron 44 二进制文件的安装,以及 Windows 引擎构建。
先说 Electron 这一侧。由于 Electron 44 移除了 postinstall(安装时自动执行的脚本),现在由独立脚本 scripts/ensure-electron.mjs 每次直接下载二进制文件并解压到正确位置。过去 postinstall 使用的 extract-zip 在 Node 26 之类较新的 Node 上会中途卡住,导致应用包缺少 frameworks 和 path.txt,并以 'Electron failed to install correctly' 失败。这次在 Windows 上不再把命令写作 'tar',而是直接指定 System32 路径下的 tar.exe。在 Git Bash shell 中,Git 自带的 GNU tar 会先在 PATH 前方命中,于是把 zip 路径中的 'C:' 当作远程主机地址来读取,最终以 'Cannot connect to C: resolve failed' 崩溃。
在 Windows 引擎构建中,Bun 版本从 1.3.14 提升到了 1.4.2。在 OpenCode 2.0 移植过程中,arena-backend 迁移到了 Bun 1.4.2 和版本 2 的 bun.lock,而 macOS 作业和 CI 已经在使用 1.4.2。只有 Windows 作业仍在下载 1.3.14 的基线构建,于是 'bun install --frozen-lockfile' 以 'Unknown lockfile version' 失败,beta.19 的 Windows 构建也因此停摆。
改动仅限于 .github/workflows/desktop-release.yml 和 scripts/ensure-electron.mjs 两个文件,共 19 行(新增 12 行,删除 7 行)。没有任何内容改变应用的对决功能或比较方式,提交记录中也没有性能测量数据或部署结果。也就是说,可以把它读作一个恢复 Windows 构建管线的修改,但这次改动究竟改变了什么,还很难下判断。