Pi coding agent vs OpenCode:同一模型,无人值守实测
28 次 DeepSeek 和 12 次本地模型编程运行全过;DeepSeek 上 OpenCode 平均输入 token 为 Pi 的 2.3–3.9 倍。
orbi.build · 作者
Orbi 创始人。Orbi 是 agent 时代的软件黑灯工厂:给 GitHub Issue 打上 ai-ready 标签,它交回独立评审过、已合并的 PR,发版时再打成带 tag 的 Release。本站博客文章都是他写的。
28 次 DeepSeek 和 12 次本地模型编程运行全过;DeepSeek 上 OpenCode 平均输入 token 为 Pi 的 2.3–3.9 倍。
27 次编程运行均通过测试;默认 Claude Code 输入 token 为 OpenCode 的 1.9–3.0 倍,--bare 为 0.21–0.36 倍。
让同一模型跑两个小编程任务,放开权限后全部通过。默认 Claude Code 的输入 token 是 Pi 的 7 到 8 倍;加 --bare 后,用量和 Pi 接近,多数更低。
Orbi 无人值守跑 Pi 时怎么处理扩展:--no-extensions 加一份显式的白名单,一次 D-Bus 卡死逼出来的做法,以及我们自己写的两个扩展。
一次 GitHub 连接失败后,代码已经推到远端,PR 还没开出来。Orbi 恢复任务时误判了已有分支,反复让出执行,后面三张任务也跟着等。这篇从那次故障讲起,说明 Pi 会话、worktree 和交付分支怎样配合,以及回归测试为什么要覆盖到真正消费状态的那一步。
比较 Aider 与 OpenCode 2 的文件上下文、Git 提交、测试和权限。用同一起始提交检查改动,避免自动提交后漏看代码,也别把本地 commit 当成测试通过。
OpenCode 能把一个 Issue 跑到开好 PR、留下评审就停了。下面这些 OpenCode 替代方案的分别,在于 PR 之后的合并和发版归谁。
Claude Code 月付订阅从 Pro 的 20 美元起。分清订阅额度、额外用量、API 账单和 Max 附赠额度,再决定是否升级。
Cursor 和 Claude Code 都能在编辑器、终端和云端使用。选哪款要看账号额度、运行环境和手上的任务;两者的 Claude 用量计费也不同。
我让 Orbi 修了 brig、LLMVault、pyinfra 三个项目的 issue,维护者把三个 PR 都合并了。pyinfra 那次 agent 初版有个 emoji 对齐的回归,我提交上游前复核时发现并重做了修复。这个过程也写进了 PR。
Claude Code subagents 在各自独立的上下文里处理委派任务。配一个专注的代码评审 subagent,给它清楚的输入,再判断什么时候该委派出去。
Codex 用量限制按套餐分 5 小时窗口和每周窗口。在 Usage 页面和 /status 查剩余额度,弄清额度何时重置,长时间无人值守跑 Codex 时也不被额度卡住。
Codex YOLO mode 会跳过审批和本地沙箱。本文用 Linux 实测它放开了哪些操作,并说明 Codex auto mode 是什么、旧 full-auto 命令怎样迁移。
YOLO 模式就是 --dangerously-skip-permissions。我在 2.1.287 上把它和 auto 等五种模式一起实测,看各自放过什么。挡住注入的其实是模型,不是任何一种权限模式。
有个用户在环境已经准备好之后走了,因为页面还没告诉他。我们改用长轮询消掉排队,再抠掉几处准备时间:以前要等一两分钟,现在测试环境上 10 秒左右,机器一台没加。
开着 --dangerously-skip-permissions 实测 Claude Code 沙箱:只开沙箱、其余默认时,四项越界最终都成功了。加固设置配禁止规则,或者用 sandbox runtime(srt)包住整个进程,这次四项都拦住了;读密钥和联网只用 Bash 测过。
Ralph loop 把同一段提示词反复喂给编程 agent,常见做法是让 agent 自己宣布做完。我实测了一次,第 4 轮测试全过,agent 写下 DONE;换一个会话评审,却发现 slugify 会把破折号直接删掉。搜索靠前的十几个页面里,只有 Huntley 的原文讲了合并交给谁:交给循环自己。
在 Orbi Cloud 里说一句想改什么,Orbi 先读你的仓库,写出 Issue 草稿,要你决定的地方用选择题问你,你确认后才开始做。每一步都配了截图。
同一个任务,分别用 pi --print、AI SDK 的 HarnessAgent、Cloudflare 的 PiHarness 跑,跑到一半 kill -9。哪种能自己接上,哪种得你写监督程序,会话记录各自存在哪。
只算模型 token、按 DeepSeek 闲时公开价,169 次以合并收尾的交付,每次花费中位数 0.082 美元。再跟一张真实 issue 走完 4 个 Pi 会话,看 Pi 留给用户自己搭的那一层 Orbi 怎么补。
Claude Code 的 headless 模式就是 claude -p。没预先放行的操作被拒后,运行照样算成功,脚本得自己查 permission_denials 才知道。
八个 Orbi 没见过的 bug,issue 都只给一个窄例子,原版 harness 三次里挂一次。我们试了五种 harness,想保住修复,又不让每次交付的成本翻倍。这篇讲哪些管用、哪些不管用,以及最后为什么选了最简单的那个。
Orbi 的评审放过了两个修复,它们各自改坏了别的东西。我们一条规则一条规则地重写 harness,在 Orbi 翻过车的 issue 和十二个它没见过的 issue 上重跑完整交付流程,得出十条结论,数据都在文里。
GitSpawn 让七个编程 agent 在审批弹窗之前就执行了程序。Orbi 没有审批这一步,我们写了修复,查清是谁在跑 git,当天又撤了。
看 Orbi 如何用 DeepSeek 无人值守地完成编程、独立评审、修复、合并和发版,以及每个合并 PR 的成本、缓存命中率和接入方法,附配置。
Orbi 从 Apache-2.0 换到 SUL,v0.5.44 起又改为 AGPL-3.0,也可选 SUL。这篇讲每次换许可证的原因和对用户的影响。
Orbi 给 497 星的 k8s 发行版 k8e 写了一套 etcd 测试。第一版被评审打回,改完合并了,分四期的票却在第一期后就被关掉。这篇按记录逐条复盘。
一条票内斜杠命令的名字、语法、正则锚点和注册表怎么定:对照 Prow 与 bors-ng 的源码,记录四个取舍、对应源码行号,以及两套成熟实现各自留下的缺口。
引擎为人的决定而暂停,却要求托管租户执行一条没有的命令。本文复盘这个交互缺口的三种形态,以及一个下午找到的命令输出、数据库证据和具体修复结果。
83 秒视频记录 Orbi Cloud 从 GitHub 登录到带 tag 的 Release 和订阅。最后一步进入 Cloud 的付费交付流程。
大部分无人值守 agent 停在 PR。本文记录一次真实交付:另一个模型两次拒绝代码,随后修复、合并并发布;commit 和 Release 都能点开查看。
Claude Code 会写代码、评审 PR,却不会替你合并或发版。从 431 个已合并 PR 的记录看,独立评审、合并门禁和发版流程怎样补上剩余链路。
orbi 镜像到第三次发布才到达 GHCR 和 Docker Hub。前两次是构建上下文和 Dockerfile 路径,最后一次则是非法 tag。
每周一封,讲一次真实交付。随时退订。