review

Oh-My-Pi (omp) 深度测评:把 IDE 塞进终端的 AI 编程 Agent

我们实测了 oh-my-pi,一个支持 40+ 大模型、内置 LSP/DAP 调试器的终端 AI 编程助手。真实体验与局限性全记录。

Oh-My-Pi (omp) 深度测评:把 IDE 塞进终端的 AI 编程 Agent

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 等替代方案的架构差异、安装配置体验,以及最关键的——它适合谁、不适合谁。如果你正在选型 AI 编程工具,建议同时参考我们的 AI 编程助手综合评测

它到底是什么

Oh-My-Pi 是一个终端 AI 编程 Agent,让大语言模型像真正的开发者一样读写、编辑和调试代码。与大多数通过 shell 调用外部工具的 Agent 框架不同,omp 把工具直接嵌入进程内部,省去了 fork-exec 开销,让 Agent 能原生访问语言服务器和调试器。

项目 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-dapdlvdebugpy 到真实进程,设置断点并检查调用栈——这是我们在其他 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)以及本地运行时。路由通过五个命名角色实现——defaultsmolslowplancommit——每个角色可配置路径范围、降级链和轮询凭证。

其他值得一提的功能包括:持久化双内核 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 rgfindgrep——它们是直接链接进来的。

实际测试中,这意味着比那些通过子进程调用工具的竞品明显更快。在一个 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 编程工具、想要开箱即用的精致体验(可以先试试 Cursor 或看看我们的 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 并行运行 buncargo 检查,在五个平台构建原生二进制,并验证三种安装路径(二进制、源码、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+ 供应商加智能路由)的 CLI 编程 Agent。单就 Hashline 编辑算法而言,它就是对这个领域的有价值贡献,benchmark 增益可以独立复现。

弱点同样真实。单一维护者的 bus factor、需要真正投入才能掌握的文档体系、强制 Bun 依赖、预览版 TypeScript 钉死版本、以及偶尔在 patch 版本之间引入破坏性变更的发布节奏——这些都提示在关键任务环境中需要谨慎。我们今天很乐意在个人开发和探索性工作中使用 omp;但如果要在一个 50 人的工程团队中标准化采用,我们会三思——除非团队中有人愿意追踪它每周的变化。

对于正在横向比较各类工具的开发者,建议在做决定前先读一读我们的 AI 编程助手综合评测——omp 是技术巅峰选项,但不是所有人的最佳起点。如果你符合它的用户画像,今晚就装一个试试;如果不符合,收藏这篇测评,等项目进入稳定期后再来看。

评分:4.2 / 5 —— 能力出众,取舍真实,推荐给对的人。

Share:
P

Pick My AI Team

Related Articles