Pi vs Oh My Pi — 全面对比分析

2026-08-29 01:30:03

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 仓库及主页:

官方主页:https://pi.dev

源码仓库:https://github.com/earendil-works/pi

Oh My Pi (OMP) 官方 GitHub 仓库及主页:

官方主页:https://omp.sh

源码仓库:https://github.com/can1357/oh-my-pi

数据来源:pi.dev · omp.sh · GitHub (earendil-works/pi · can1357/oh-my-pi) · BetterStack · explainx.ai · WhyOps · 社区博客

数据截至 2026-07-22 · 仅供研究参考