Pi vs Oh My Pi — 全面对比分析
Pi vs Oh My Pi — 全面对比分析
两大 AI 编码助手的完整对比 — 哲学、架构、功能、生态
⚡ 核心卡片速览
1. Pi
- 定位:极简 · 可塑 · 敏捷
- 简介:Mario Zechner 创建的轻量终端编码助手。天生极简:仅 4 个内置工具(
read/write/edit/bash)、不到 1000 token 的 system prompt。不预置 sub-agent、plan mode、MCP、权限弹窗——所有能力通过 Extension 按需加载。 - 官方地址:pi.dev
- GitHub 仓库:https://github.com/earendil-works/pi
2. Oh My Pi (OMP)
- 定位:电池全包 · IDE 有线 · 生产就绪
- 简介:can1357 从 Pi fork 并重写的"编码优先"分支。将原本的轻量脚手架膨胀为完整的生产工具:~55k 行 Rust 引擎、32 个内置工具、40+ 模型提供商、Hashline 编辑、LSP 集成、DAP 调试器、Sub-agent 编排。
- 官方地址:omp.sh
- GitHub 仓库:https://github.com/can1357/oh-my-pi
ⓘ 关系说明:Oh My Pi 是 Pi 的一个深度 fork,并非独立项目。两者代码同源(TypeScript 核心 + Bun 运行时),但 OMP 重写了 Rust 底层引擎并大幅膨胀了工具面。当前最新:Pi v0.74+ / OMP v17.0.7(2026-07-21)。
🎯 一、项目定位与哲学
| 维度 | Pi | Oh My Pi |
|---|---|---|
| 设计哲学 | 极简核心 + 按需扩展。拒绝预置任何非必需功能,把选择权交给用户。 | 电池全包,开箱即用。预装尽可能多的工具和集成,让开发者拿起来就能干。 |
| 内置工具 | 4 个:read, write, edit, bash |
32 个:read / write / edit / bash / ast_edit / grep / glob / lsp / debug / browser / web_search … |
| System Prompt 大小 | ~1000 tokens | 数倍于 Pi(含 LSP/DAP/Hashline 等指令) |
| Sub-agent / Plan | 默认无,通过 Extension 可加 | 内置 sub-agent 编排、多 worktree 隔离执行 |
| MCP 支持 | 不内置,通过 Extension 接入 | 原生 MCP 服务器支持 |
| 适用人群 | 喜欢 DIY、对 context 敏感、想要完全掌控的开发者 | 想要 IDE 级能力 + 终端效率、不愿花时间折腾的开发者 |
⚙️ 二、技术架构对比
| 维度 | Pi | Oh My Pi |
|---|---|---|
| 语言 / 运行时 | TypeScript + Bun | TypeScript + Bun(Rust 引擎 ~55k LOC) |
| 核心引擎 | 纯粹的 TS agent runtime,通过 @earendil-works 包发布 |
Rust 性能核心(搜索、grep、shell、高亮)+ TS agent surface |
| 包结构 | pi-ai / pi-agent-core / pi-coding-agent / pi-tui / pi-utils |
同名包 @oh-my-pi/pi-* + 额外:hashline / natives / catalog / collab-web / mnemopi / omp-stats |
| 模型提供商 | 多提供商(OpenAI / Anthropic / Google 等),由 pi-ai 统一接口 |
40+ 提供商,带角色路由(default/smol/slow/plan/commit)、credential 轮换、退避 |
| 持久化运行时 | 无持久 worker | 持久 Python kernel + Bun worker + loopback bridge,工具可跨语言保持状态 |
| 扩展机制 | TypeScript Extension(自动发现 .pi/extensions/),可注册 tool/command/事件/UI |
继承 Extension 机制 + 额外:插件系统(omp plugin install)、多 MCP server 接入 |
| 分发 | npm 包 / Pi Packages 市场 | npm 包(@oh-my-pi/*)+ git 直装 |
🔬 三、关键差异化功能
| 功能 | Pi | Oh My Pi |
|---|---|---|
| Hashline 编辑 | ❌ 无 | ✅ 核心特性。每行代码绑定内容 hash,编辑时引用 hash 而非行号,避免行偏移/空白变更导致的编辑失败。提升首次编辑成功率 6–68 个百分点。 |
| LSP 集成 | ❌ 无原生 LSP | ✅ 深度集成。14 种 LSP 操作:diagnostics / references / rename(含 workspace/willRenameFiles,自动更新 re-export / barrel / alias)、code_actions / definition / hover / symbols …… |
| DAP 调试器 | ❌ 无 | ✅ 原生 DAP 调试。28 种 DAP 操作,支持 lldb-dap(C/C++)、dlv(Go)、debugpy(Python)等真实调试器 attach — 断点、单步、栈帧、变量检查——不仅仅是打印日志。 |
| AST 编辑 | ❌ 无 | ✅ ast_edit(基于 tree-sitter 的结构感知改写)+ ast_grep 搜索 |
| 代码审查图谱 | ❌ 无 | ✅ Code Review Graph(community detection、impact radius、bridge nodes、test coverage gap) |
| 浏览器自动化 | ❌ 无 | ✅ 内置 Puppeteer/Playwright 浏览器控制 |
| Sub-agent 编排 | ❌ 默认无(可通过 Extension 加) | ✅ 内置 task/sub-agent 系统,isolated worktree,并行 fan-out |
| Web 搜索 | ❌ 无 | ✅ 内置 web_search 工具 |
| 持久记忆 | 可通过 Extension 实现 | ✅ mnemopi 引擎 |
| 进程入口模式 | (交互 / 单发 / RPC / SDK)4 种 | interactive / one-shot / RPC / ACP,支持 Node/TypeScript 嵌入 |
🌐 四、生态与社区
| 维度 | Pi | Oh My Pi |
|---|---|---|
| 许可证 | MIT | MIT |
| 维护方 | Mario Zechner(earendil-works) | can1357(社区 fork) |
| 发布频率 | 稳定,月级更新 | 极活跃(v17.0.7,2026-07-21),周级更新 |
| 包市场 | Pi Packages(npm/git),50+ 示例包 | 继承 Pi 生态 + 插件命令 omp plugin install |
| 社区规模 | 较小,专注核心理念 | 更大,活跃得多的 PR/Issue/Release |
| 跨平台 | macOS / Linux / Windows | macOS / Linux / Windows(原生 Windows,无 WSL 依赖) |
| Trellis 集成 | Pi Agent 模式(.pi/ + trellis_subagent) |
Oh My Pi 模式(.omp/,extension-backed,TypeScript hook) |
💡 五、如何选择
选 Pi 如果……
- 你想要一个极简的起点,自己决定能力边界
- 你对 context 窗口非常敏感,想要最小的 system prompt
- 你喜欢自己组装工具链,不喜欢预置的"全家桶"
- 你主要在终端工作,不需要 LSP / DAP / Hashline
- 你想要通过编写 TypeScript Extension 来深度定制
- 你对"开箱即用"没有要求,愿意投入配置时间换取灵活性
选 Oh My Pi 如果……
- 你想要开箱即用的生产级工具,不愿折腾配置
- 你需要 IDE 级特性:LSP rename、代码审查、实时调试
- 你想用 Hashline 避免文件编辑因行号变化而失败
- 你经常需要多模型路由(不同任务用不同模型)
- 你需要 sub-agent 并行执行和隔离 worktree
- 你想在终端里 debug 真实进程、检查栈帧和变量
- 你喜欢活跃的社区和快速迭代
📅 发展时间线
- ~2024 中:Mario Zechner 创建 Pi
作为个人项目,以最小化 agent harness 为理念,只有 4 个工具和不到千 token 的 system prompt。 - ~2025 初:can1357 fork → Oh My Pi
从 Pi fork,目标是"编码优先的表面"——增加大量内置工具、Rust 引擎、多提供商支持。 - 2025–2026:两者并行演化
Pi 保持极简哲学,迭代稳定;OMP 快速膨胀,引入 Hashline、LSP、DAP、sub-agent、code-review-graph 等重量级特性。 - 2026-07-21:OMP v17.0.7 发布
版本号 17 表明 OMP 的迭代速度远超原版 Pi(后者处于 v0.74.x)。
💬 一句话总结
Pi 是"一把你可以自己磨的刀",Oh My Pi 是"一把出厂开好刃、带刀鞘和磨刀石的瑞士军刀"。两者同源,但面向完全不同的开发哲学——Pi 把控制权给你,OMP 把生产力给你。
🔗 参考具体地址
-
Pi 官方 GitHub 仓库及主页:
-
Oh My Pi (OMP) 官方 GitHub 仓库及主页:
数据来源:pi.dev · omp.sh · GitHub (earendil-works/pi · can1357/oh-my-pi) · BetterStack · explainx.ai · WhyOps · 社区博客
数据截至 2026-07-22 · 仅供研究参考

浙公网安备 33010602011771号