📄 文档列表
🎬 口播文案
✏️ 编辑文档
标题
工具栏
加粗
H2 标题
H3 标题
引用
无序列表
有序列表
代码块
📷 上传图片
点击或拖拽上传图片
支持 PNG, JPG, GIF, WebP 格式
内容 (Markdown 格式)
GitHub 上有个叫 [oh-my-pi](https://github.com/can1357/oh-my-pi)(简称 omp)的项目——8,835 Stars,MIT 协议,定位是 **"fork of pi by @mariozechner"**。 简单说:作者在 pi 原版基础上,加了大量「开箱即用」的功能。 今天这篇不踩不捧,把两个版本摊开来聊——**好在哪、差在哪、你该不该装**。 --- ## 一、先搞清楚关系:omp 不是 pi 的竞品 重要的事先说: > **omp 是 pi 的 fork,不是竞争者。** 两者出自同一作者(Mario Zechner @badlogic),omp 在 pi 基础上加功能,然后再合并回主线。 所以选哪个,不是「非此即彼」,而是「你想要多还是想要少」。 --- ## 二、准确数据对比:Provider 数量 ### pi 原版:32 个 Provider 从 GitHub 源码提取的实际数据: ``` amazon-bedrock · anthropic · azure-openai-responses · cerebras cloudflare-ai-gateway · cloudflare-workers-ai · deepseek · fireworks github-copilot · google · google-vertex · groq · huggingface kimi-coding · minimax · minimax-cn · mistral · moonshotai · moonshotai-cn openai · openai-codex · opencode · opencode-go · openrouter together · vercel-ai-gateway · xai · xiaomi · xiaomi-token-plan-ams xiaomi-token-plan-cn · xiaomi-token-plan-sgp · zai ``` ### omp:40+ 个 Provider 分为三类: | 类别 | 数量 | 代表 | |------|------|------| | **Frontier APIs**(直连) | 19 | Anthropic、OpenAI Codex、Gemini、xAI、Mistral、Groq、Cerebras、Fireworks、Together、Hugging Face、NVIDIA、OpenRouter、Cloudflare AI Gateway... | | **Coding Plans**(订阅) | 19 | Cursor、GitHub Copilot、GitLab Duo、**Kimi Code**、**MiniMax Coding Plan**、**阿里 coding plan**、**Qwen Portal**、**Z.AI / GLM Coding Plan**、**小米 MiMo**、**Qianfan**... | | **Run it yourself**(本地) | 6+ | Ollama、LM Studio、llama.cpp、vLLM、LiteLLM | ### 国内模型覆盖对比 两个版本对国内模型的支持都很全: | 模型 | pi 原版 | omp | |------|---------|-----| | Kimi (Moonshot) | ✅ | ✅ | | Kimi Code | ✅ | ✅(Coding Plan) | | MiniMax | ✅ | ✅(Coding Plan) | | 阿里通义 | ❌ | ✅(Coding Plan) | | 字节 Z.AI / 智谱 GLM | ❌ | ✅(Coding Plan) | | 小米 MiMo | ✅ | ✅(Coding Plan) | | DeepSeek | ✅ | ✅ | --- ## 三、omp 加了什么? ### 1. 工具数量:从「够用」到「全配」 | 功能 | pi 原版 | omp | |------|---------|-----| | 内置工具 | ~15 个 | **32 个** | | Provider | **32 个** | **40+ 个** | | 编辑格式 | 行号锚点 | **Hashline(内容哈希锚点)** | Hashline 是什么意思?简单说:AI 改代码时不再靠「猜测行号」,而是根据代码内容生成唯一哈希——改对的可能性更高,减少重复重试。 ### 2. LSP 集成:IDE 级别的代码理解 这是 omp 和 pi 拉开差距最大的地方。 pi 原版的 `read`/`edit` 就是读文件和改文件。但 omp 把 LSP(Language Server Protocol)直接接入了 Agent: - **Rename** → 改名字,跨文件、跨 import、跨 alias,全部更新 - **Find References** → 找到所有引用位置,不只是 grep 文本 - **Code Actions** → 修复建议直接可用 相当于给 AI 发了一本项目字典,AI 能「看懂」代码结构,而不是盲目搜索字符串。 ### 3. 真实调试器:DAP 支持 大多数 Agent 调代码的方式是「改 → 跑 → 看报错 → 再改」。 omp 支持 DAP(Debug Adapter Protocol):AI 可以直接附加到进程,单步调试,读变量值,看堆栈。 > 官方有个演示:C 程序 segfault,AI 附加 lldb,跳到出错行,读帧变量,找到 x 从 7 变成了 57351(位运算溢出)。整个过程 AI 自主完成,没有人在旁边盯着。 ### 4. 子 Agent:并行任务 ``` /task "审查 src/auth 目录" /task "检查 API 并发问题" ``` omp 支持用 `task` 命令并行跑多个子 Agent,每个子 Agent 有独立的工具表面(可以只给它读权限),最后汇总结果。 适合的场景:代码审查时并行扫多个模块;大型重构时分工检查依赖。 ### 5. Python / JavaScript 交互执行 ``` eval [1/2] python: pandas.describe() eval [2/2] js: topScorer(data) ``` 在终端里直接跑 Python 和 JavaScript,不用切换窗口。Python 内核持久化,可以跨调用共享变量。 ### 6. 网页搜索:14 个 Provider 串联 `web_search` 内置 14 个搜索后端,自动链式调用。支持的包括:Exa、Brave、Jina、Perplexity、Gemini、Cohere、Kagi,以及国内的 Kimi、Moonshot、MiniMax 等。 搜到的内容直接转成 Markdown,链接结构保留,AI 可以直接引用和追踪。 ### 7. Hindsight 记忆:项目级上下文 pi 的 `/compact` 是压缩会话。omp 加了 Hindsight: ``` /retain 这是一个支付模块,需要仔细检查并发安全 /recall 支付 模块 /reflect 项目整体架构是什么 ``` Agent 在运行时主动写笔记,下次开新会话还能「想起来」上次做了什么。记忆是项目级隔离的——A 项目的笔记不会污染 B 项目。 ### 8. 原生 Rust 引擎:~27,000 行 omp 底层用 Rust 重写了核心模块(grep、shell、glob、PTY、语法高亮等),不再依赖外部二进制(rg、find、bash)。 - 不需要 WSL 在 Windows 上跑 Linux 工具 - 每次调用省掉 fork-exec 的开销 - 搜索、glob 等操作在进程内完成 --- ## 四、界面对比:omp TUI vs pi-web 这是很多人会混淆的点,两个项目都有「非终端」界面,但实现方式完全不同。 ### pi-web:浏览器 UI | 项目 | 说明 | |------|------| | GitHub | [agegr/pi-web](https://github.com/agegr/pi-web),~321 Stars | | 界面 | 浏览器网页 | | 实现 | 单独的 Web 项目,通过 RPC 调用 pi 核心 | | 适合场景 | 不习惯终端、在浏览器里工作的用户 | **缺点**:需要额外安装两个包(pi + pi-web),配置略复杂;交互体验和终端版有差异。 ### omp TUI:终端内的彩色界面 | 项目 | 说明 | |------|------| | 界面 | 终端内渲染的 TUI(Terminal UI) | | 特性 | 彩色卡片、图标、交互式按钮 | | 截图 | 官方 [omp.sh](https://omp.sh) 有大量 GIF 演示 | TUI 不是网页,是在终端里用特殊字符渲染的图形界面。每个工具调用都显示成一张卡片,支持折叠、展开、操作按钮。 **缺点**:仍是纯文本终端,不是 GUI。 ### omp + Zed:编辑器集成 这是 omp 独有的功能,通过 ACP 协议实现: | 项目 | 说明 | |------|------| | 编辑器 | Zed | | 实现 | omp 跑在 Zed 的终端面板里 | | 交互 | 读取你正在看的文件,写入通过编辑器保存 | | 权限 | 破坏性操作会弹确认框 | 相当于把 AI 直接嵌入了编辑器,AI 看到的就是你看到的。 ### 对比总结 | 界面 | pi 原版 | pi-web | omp | omp + Zed | |------|---------|--------|-----|-----------| | 纯终端 | ✅ | ❌ | ✅ | ✅ | | 浏览器 UI | ❌ | ✅ | ❌ | ❌ | | TUI(彩色终端) | ❌ | ❌ | ✅ | ✅ | | 编辑器集成 | ❌ | ❌ | ❌ | ✅ | --- ## 五、缺点也得说清楚 ### 1. 性能要求更高 Rust 引擎虽然快,但编译体积大,首次加载比纯 Node.js 的 pi 慢。 建议配置: - 内存 8GB+(Rust 进程吃内存) - 磁盘最好用 SSD ### 2. 学习曲线更陡 功能多意味着要学的东西多。pi 原版装好就能用;omp 那么多工具,刚上手容易懵。 建议先从 `eval`、`task`、`lsp` 开始,其他功能慢慢探索。 ### 3. 维护风险 omp 是个人维护项目(作者 @can1357),更新节奏依赖个人投入。相比之下,pi 本身社区更大,长期维护的确定性更高。 ### 4. 配置文件更复杂 `.omp/config.yml` 比 pi 的配置项多很多。想调教到最佳状态,需要花时间看文档。 --- ## 六、怎么选? | 场景 | 推荐 | |------|------| | 刚接触 pi | 先装 pi 原版,搞清楚核心用法 | | 项目代码库大、复杂 | omp 的 LSP + DAP 值得 | | 需要并行任务处理 | omp 的 `task` 完胜 | | 内存吃紧(< 8GB) | pi 原版更轻量 | | 深度调试、排查复杂 Bug | omp 的调试器是刚需 | | 想折腾、追求功能全 | omp | | 追求稳定、简单 | pi 原版 | | 习惯浏览器操作 | pi-web | | 习惯编辑器(Zed) | omp + Zed | --- ## 七、安装方式 两个都装也行,互不冲突。 **omp 安装(macOS / Linux)** ```bash curl -fsSL https://omp.sh/install | sh ``` **omp 安装(Windows PowerShell)** ```powershell irm https://omp.sh/install.ps1 | iex ``` **omp 安装(Bun)** ```bash bun install -g @oh-my-pi/pi-coding-agent ``` **pi 原版安装** ```bash npm install -g --ignore-scripts @earendil-works/pi-coding-agent ``` **pi-web 安装**(浏览器 UI) ```bash npx @agegr/pi-web ``` --- ## 写在最后 omp 不是「更高级的 pi」,而是「装了插件的 pi」。 如果你现在用 pi 觉得功能已经够用了,没必要换。如果你遇到大型项目、复杂调试、并行任务这些场景,omp 确实能省不少力。 两个项目都在活跃维护,选哪个取决于你现在卡在哪。 --- ## 评论区预置内容 LSP 集成这个太实用了 子 Agent 并行审查代码真的很香 内存不够,先用 pi 原版 两个都装了,看场景换着跑
摘要
标签
多个标签用逗号分隔
分类
技术文章
教程指南
工具测评
项目实战
行业观察
默认
💾 保存修改
← 返回查看
返回列表