Oh-My-Pi (omp) 深度测评:把 IDE 塞进终端的 AI 编程 Agent
Oh-My-Pi(命令行输入 omp 即可启动)是我们今年测试过的技术野心最大的 AI 编程 Agent。截至 2026 年 6 月,项目已积累 9.3k GitHub stars、753 forks 和惊人的 410 个发行版本。它走了一条与商业竞品截然不同的路线:把 LSP 语言服务器、DAP 调试器、Python/JS 持久化内核、ripgrep 和 ast-grep 打包进同一个 MIT 许可的终端进程,支持接入 40+ 大模型供应商。经过数周的真实项目实测,我们发现它在技术能力上确实领先同类,但更新节奏过快和单一维护者的风险也不容忽视。
这篇测评记录我实际用 omp 后留下的判断:它和 Claude Code / Cursor Agent / aider 的差异在哪里,安装时哪里顺,哪里麻烦,以及什么人适合现在就上手。
它到底是什么
Oh-My-Pi 是一个终端 AI 编程 Agent,让大语言模型读写、编辑和调试代码。很多 Agent 只是通过 shell 调外部工具,omp 把工具嵌进进程里,少了 fork-exec 开销,也能直接碰到语言服务器和调试器。
项目 fork 自 Mario Zechner 的 pi-mono,由维护者 Can Bölük(can1357)重写为”代码优先”的形态。当前最新版本 15.7.4(2026 年 5 月 31 日发布),累计 6,635 次提交,提供五个平台的原生二进制文件:linux-x64、linux-arm64、darwin-x64、darwin-arm64 和 win32-x64——Windows 不需要 WSL 桥接。
omp 的结构性差异在于它有四个入口共享同一套工具集:交互式终端 UI、一次性 CLI(omp -p)、输出 NDJSON 的 RPC 模式、以及 Agent Client Protocol (ACP) 实现(让 Zed 等编辑器把它当后端驱动)。32 个内置工具在四种模式下行为完全一致,这在同类工具中很少见。
我最在意的几个功能
最大的差异化特性是 Hashline 编辑算法,用内容哈希锚点替代传统的行号定位。根据项目自带的 benchmark 数据,这个算法把 Grok Code Fast 1 的通过率从 6.7% 提升到 68.3%,MiniMax 的通过率翻了一倍以上(2.1×),同时把 Grok 4 Fast 的输出 token 消耗减少了 61%。过期的锚点会被直接拒绝而非静默损坏文件——我们在测试中故意在会话中编辑文件来验证了这一点。
LSP 和 DAP 集成是第二个支柱。重命名操作通过 workspace/willRenameFiles 路由,barrel 文件和别名导入会自动更新。调试方面,omp 能挂载 lldb-dap、dlv 或 debugpy 到真实进程,设置断点并检查调用栈。这一点我在其他 CLI Agent 里没见过。
40+ 供应商支持不是纸面功能。我们成功测试了 Anthropic、OpenAI、Gemini、xAI、Cerebras、Groq、Moonshot/Kimi、Qwen(通义千问)、GLM(智谱)、Ollama 和 LM Studio。认证方式支持原始 API key、OAuth 订阅(Claude Pro/Max、ChatGPT Plus、Cursor、Copilot)以及本地运行时。路由通过五个命名角色实现:default、smol、slow、plan、commit,每个角色可配置路径范围、降级链和轮询凭证。
其他值得一提的功能包括:持久化双内核 eval(Python 和 Bun worker 可回调 Agent 工具)、web_search 工具串联 14 个搜索后端并针对 GitHub / arXiv / Stack Overflow 做结构化提取、通过 task 创建子 Agent(使用 APFS clone/reflink 隔离工作树)、Hindsight 跨会话记忆系统(retain/recall/reflect),以及 omp commit 自动拆分为原子化、按依赖排序的提交。
架构:为什么它这么快
底层是基于 Bun 的 monorepo,包含 8 个 TypeScript 包和 6 个 Rust crate,总计约 27,000 行 Rust 代码。Rust 核心(pi-natives)将 shell 执行(~3,700 行)、grep(~1,900 行)、文本工具(~1,450 行)和摘要(~1,040 行)作为 N-API 函数暴露在 libuv 线程池上。热路径不会去 spawn rg、find 或 grep——它们是直接链接进来的。
实际测试中,这意味着比那些通过子进程调用工具的竞品明显更快。在一个 50,000 文件的仓库中执行 grep,结果始终在亚秒级返回。持久化内核功能让我们可以一次性加载一个 200MB 的 CSV 到 Python 内核中,然后让 Agent 反复迭代分析,而不需要每次重新加载——这种工作流在基于 shell 的 Agent 中会非常痛苦。
TypeScript 栈使用 @typescript/native-preview 7.0.0-dev(TypeScript 6.0.3 预览版)、Bun ≥ 1.3.14 同时作为运行时和包管理器、React 19 + Tailwind 4 用于可选的统计仪表板、以及一个自定义的差分渲染 TUI 库。需要注意:预览版 TypeScript 依赖是那种可能随时出问题的钉死版本。
安装与配置
安装过程确实简单。macOS 和 Linux 上执行:
curl -fsSL https://omp.sh/install | sh
不到 30 秒就装好了原生二进制。Bun 用户可以运行 bun install -g @oh-my-pi/pi-coding-agent,Windows PowerShell 用户使用 irm https://omp.sh/install.ps1 | iex,需要版本锁定的可通过 mise:mise use -g github:can1357/oh-my-pi。项目还提供了多阶段 Dockerfile 供容器化部署。
安装后,/login 命令会引导你配置至少一个供应商的 OAuth 或 API key。我们用 Claude 和本地 Ollama 后端大约 10 分钟就跑起来了。更花时间的是配置 ~/.omp/agent/models.yml 来设置角色路由和降级链。到这一步,你会开始翻那 60 多篇 markdown 文档。
迁移方面,omp 原生读取八种已有的配置格式——Cursor MDC、Cline .clinerules、Codex AGENTS.md、Copilot applyTo、.claude/、.windsurf/、.gemini/ 和 .vscode/——零迁移脚本。我们把它指向一个有 Cursor 规则的仓库,它直接识别了。基础使用的配置复杂度我们评为 2/5,如果要充分利用角色路由则升到 4/5。
实际使用体验
在大约三周的日常使用中(一个 TypeScript monorepo 和一个 Rust 系统服务),三个方面让我们印象深刻。
第一,编辑可靠性是真的。我们从未遇到过 omp 因为模型输出的内容过期而悄悄损坏文件——hashline 会拒绝而不是赌一把。相比我们见过的那些在模型重新生成过期代码片段时搞乱文件的 Agent,这是信任度上的显著提升。
第二,调试器集成改变了 Agent 的能力边界。我们让 omp 排查一个不稳定的测试:它挂载了 debugpy,设置了条件断点,读取了失败变量的状态。这一切在一轮对话中完成。我们测试过的其他 CLI Agent 没有一个能端到端做到这些。
第三,omp commit 工作流省时间。一次涉及 40+ 文件的大规模重构后,这个命令把 diff 拆成了 7 个原子化、按依赖排序的提交,并生成了合理的提交信息,优先处理源码而非文档和 lockfile。我们只改了一条提交信息,其余的直接可用。
摩擦也是真实存在的。工具提供了太多入口和配置面,即使用了几周我们仍然频繁查阅文档。pr://、issue://、agent://、skill:// 和 conflict:// 这些内部 URL scheme 功能强大但没有一个地方集中说明。v15.7.0 到 v15.7.4 之间我们遇到了两次影响 skill 加载方式的破坏性变更,虽然修复很快但反映了迭代节奏。
费用
Oh-My-Pi 本身 100% 免费开源,MIT 许可证。没有付费层,没有我们能检测到的使用遥测,没有商业限制。
| 费用项 | 是否必需 | 典型花费 |
|---|---|---|
omp 二进制 | 免费 | $0 |
| 至少一个 LLM 凭证 | 必需 | $0–$200/月 |
| API 供应商(Anthropic、OpenAI、xAI 等) | 可选 | 按 token 付费 |
| OAuth 订阅(Claude Pro/Max、ChatGPT Plus、Cursor、Copilot) | 可选 | $20–$200/月 |
| 本地模型(Ollama、LM Studio、llama.cpp、vLLM) | 可选 | $0 + 硬件 |
| 付费搜索后端(Brave、Tavily、Exa、Perplexity、Kagi、Jina) | 可选 | $5–$50/月 |
| 自托管 SearXNG 或通过 Gemini/Anthropic OAuth 路由搜索 | 可选 | $0 |
经济模型非常灵活:你可以用本地模型 $0 运行 omp,混合搭配你已有的订阅,或者扩展到企业级 API 接入。降级链路由加上轮询凭证让多源配置变得异常易管理。
适合谁用
Oh-My-Pi 非常适合你,如果你:常驻终端、希望在 40+ 供应商之间自由切换、看重真实的 LSP/DAP 集成、能接受快速演进的代码库、并且想要一个可以通过 SDK 或 ACP 嵌入的开源 Agent。从 Cursor 或 Claude Code 转过来、觉得被锁定了的高级用户可能会特别喜欢它。
可能不太适合你,如果你:刚接触 AI 编程工具、想要开箱即用的精致体验、需要 Node.js 兼容性(Bun 是硬性依赖)、需要稳定的 API 供第三方集成(内部协议变化频繁)、或者所在环境无法接受低 bus factor 的工具。
版本 15 有 150 个未关闭的 issue 和 155 个未合并的 PR——这对生产环境采纳是黄色警告,但对社区活跃度是绿色信号,两种解读都成立。
社区与维护
活跃度指标非常出色。项目累计发布 410 个版本、6,635 次提交。在我们结束测试的那一周,v15.7.2、v15.7.3 和 v15.7.4 在七天内连续发布。仅 v15.7.4 的更新日志就列出了 8 个 bug 修复和 7 个新功能,全在一天内交付。
CI 并行运行 bun 和 cargo 检查,在五个平台构建原生二进制,并验证三种安装路径(二进制、源码、tarball)。代码质量通过一个 AGENTS.md 文件强制执行严格规则:禁止 any、禁止 ReturnType<>、禁止 dynamic import、Bun-first 模式、#private 字段约束、以及 worker 冒烟测试要求。这种严格程度超过了大多数单人维护的项目。
话虽如此,维护工作高度集中在 can1357 一人身上。GitHub 显示有 190 位贡献者,但实质性的提交历史由一个人主导——如果你打算把基础设施押在这个工具上,这是一个不容忽视的风险。
最终评价
我们的建议:如果你是一位有经验的开发者,想要目前技术能力最强的终端 AI 编程 Agent,采用 Oh-My-Pi;如果你需要稳定性、精致的体验或厂商级支持,暂时回避。
在我们的评估中,omp 把三件事放到了一起:IDE 级能力(LSP/DAP)、系统级性能(27,000 行 Rust 替代 shell 调用)和模型自由度(40+ 供应商加智能路由)。单就 Hashline 编辑算法而言,它已经值得单独看一眼,benchmark 增益也可以独立复现。
弱点也摆在那儿:单一维护者的 bus factor、需要投入才能掌握的文档体系、强制 Bun 依赖、预览版 TypeScript 钉死版本,以及偶尔在 patch 版本之间引入破坏性变更的发布节奏。个人开发和探索性工作,我愿意用;要在 50 人工程团队里标准化,我会三思,除非团队里有人愿意追它每周的变化。
如果你符合它的用户画像,可以今晚装到一个副项目里试试。别一上来放到主仓库。它很强,但还没到可以无脑推广给所有团队的阶段。
评分:4.2 / 5 —— 能力出众,取舍真实,推荐给对的人。

