
Can Bölük 把 Mario Zechner 写的 Pi 改成了一个叫 oh-my-pi 的终端编程代理,到 5/22 已在 GitHub 拿到 5.8k star。卖点写得很硬:32 个内建工具、13 个 LSP 操作、27 个 DAP 操作、约 27,000 行 Rust 核心代码,跑在 macOS、Linux、Windows 上不需要 WSL 中转。
哈希锚定让 diff 不再卡死
这个项目真正值得拎出来讲的是 Hashline 编辑机制。模型不再重写要改的整段代码,而是指向内容哈希作为锚点,碰到陈旧文件锚点对不上就直接拒绝补丁。官方给出的对比数字也很直接:Grok Code Fast 1 的通过率从 6.7% 拉到 68.3%,Gemini 3 Flash 比 Google 自家 str_replace 高出 5 个百分点,Grok 4 Fast 的输出 token 直接降 61%,MiniMax 通过率翻 2.1 倍——同样的权重和 prompt。
把 IDE 真接进来,而不是壳子套壳子
大多数终端代理给模型一个 Python 沙箱就算交差。oh-my-pi 的 eval 工具同时跑常驻 Python 和 Bun worker,两个内核都能通过本地回环再调回 read、search、task 等工具。LSP 的 willRenameFiles 信号被用来重命名符号,barrel 文件和别名 import 会先于物理移动更新;Rust 段错误就 attach lldb 取栈帧,Go 卡死就 dlv 走 goroutine,Python wedged 就 debugpy 接管。
开源代理走向”全在进程里”的路线
这条产品线的方向比单一功能更值得关注。Claude Code、Cursor CLI 还在大量 fork-exec 调 rg、grep、find、bash 的时候,oh-my-pi 把 ripgrep、glob、find、brush(bash 的 Rust 实现)全编进同一个 Node 进程,Windows 也是原生跑而不是借 WSL 桥。从外部看是 npm 包 @oh-my-pi/pi-coding-agent,从内部看是 pi-natives 三个 Rust crate。MIT 协议放在 GitHub 上,也支持 ACP 协议直接接入 Zed 编辑器。终端代理这个赛道,工程化优势开始压过单纯的模型能力。