C
ChaoBro

oh-my-pi:Pi 的超能力分支,把 IDE 能力全塞进了终端 Agent

oh-my-pi:Pi 的超能力分支,把 IDE 能力全塞进了终端 Agent

Pi(@mariozechner 的作品)已经是终端 AI Agent 里的明星项目了。但 oh-my-pi 这个分支,走得更远——它不只是在 Pi 上加了几个功能,而是在重新定义「终端编程 Agent 能做到什么程度」。

5,789 次 commit,609 个 tag,48 个分支。这个数字背后是一个人在持续高强度迭代。作者 can1357 不是那种发个 README 就消失的开源玩家。

Hashline:让编辑不再翻车

oh-my-pi 最值得单独拿出来说的,是 hashline 编辑机制。

传统 AI 编辑代码的模式是:找到要改的行,整行替换。问题是模型经常搞错空白、缩进、引号,导致 str_replace 失败,然后进入"重试—失败—重试"的恶性循环。

oh-my-pi 的解法是:用内容哈希锚定编辑位置。模型不需要重新键入整行,只需要指向它想改的位置的哈希锚。编辑过时文件时,锚点会不匹配,补丁在写入前就被拒绝,不会污染代码。

效果有多明显?

Grok Code Fast 1 在这个编辑格式下,通过率从 6.7% 飙升到 68.3%。不是模型变聪明了,是编辑格式不再把模型往死里折腾。

Grok 4 Fast 在同样的工作上,输出 token 减少了 61%。MiniMax 的通过率翻倍。同样的权重,同样的 prompt,只是换了一个编辑格式。

这说明一个被忽视的事实:很多 Agent 表现差,不是模型能力问题,是工具链设计拉胯。

IDE 级别的工具接入

oh-my-pi 把 IDE 能做的事,几乎全塞进去了:

LSP 全接入:13 个 LSP 操作,27 个 DAP 操作。你要求重命名,它走 workspace/willRenameFiles,re-export、barrel file、别名 import 自动更新。IDE 知道的,Agent 也知道。

真·调试器驱动:C 程序 segfault?它 attach lldb,步进到坏指针,读帧。Go 服务挂起?attach dlv,遍历 goroutine。Python 进程卡住?debugpy,暂停,检查。

大多数 Agent 还在往代码里撒 print 语句。oh-my-pi 直接用 debugger。

子 Agent 并行:把任务分给多个 worker,每个在隔离的 worktree 里跑,最终返回 schema 验证的结构化对象。不是散文要解析,没有兄弟之间的合并冲突。

不只是 Mac 玩具

很多终端工具到了 Windows 上就废了。oh-my-pi 把 ripgrep、glob、find 全部链接进进程内部,不依赖外部命令。Windows 上不需要 WSL 桥接,macOS、Linux、Windows 用同一个二进制文件。

40+ 模型提供商支持,32 个内置工具,~27,000 行 Rust 核心代码。

我的看法

oh-my-pi 是目前终端 AI Agent 里工具链最完整、工程深度最深的一个。它不是在 Pi 的基础上加几个花哨功能,而是在认真回答一个问题:如果给 Agent 配齐一个资深开发者拥有的全部工具,它能做到什么程度?

答案比大多数人想象的要好。

但它也有门槛:配置复杂度高于 Cursor 之类的 GUI Agent,对终端不友好的用户来说上手曲线陡峭。不过如果你每天都在终端里工作,这个门槛几乎不存在。

如果你用 Pi 或者类似的终端 Agent,oh-my-pi 是目前最值得试的分支。 光是 hashline 编辑这一个改进,就值得你花 10 分钟切换。

主要来源: