返回博客列表

Why Do We Need oh-my-pi?当编码 Agent 终于把 IDE 的能力带了进来

2026-05-26T12:00:00+08:00
oh-my-piompPiAI AgentLSPRust编码工具

Pi 说「提供原语,不提供功能」。这个哲学很酷,但意味着你得自己搭子 Agent、装 MCP 适配器、配权限系统、加调试支持……配完 20 个包才能开始写代码。

oh-my-pi(omp)的回答是:不需要。 它是 Pi 的 fork,保留了所有扩展能力,但把开发者真正需要的东西直接内置——LSP 代码智能、调试器驱动、浏览器控制、结构化子 Agent、代码审查、冲突解决。32 个工具,开箱即用。

GitHub 7.4k star,MIT 协议,~27,000 行 Rust 原生核心。

这篇文章涵盖什么

  • 为什么需要 oh-my-pi
  • 18 个开箱即用的核心能力
  • Hashline 编辑:精准到锚点的 patch
  • Rust 原生核心:不 shell out
  • 和 Pi 的关系与定位差异

为什么需要 oh-my-pi

用三个数字说明问题:

Pi oh-my-pi
内置工具 基础 5-6 个 32 个
需要额外安装的包 子 Agent、MCP、权限、TODO、浏览器…… 0 个
LSP 支持 扩展(需安装) 13 个操作内置

Pi 的哲学是极简主义——你喜欢自己搭,Pi 是完美的底盘。但大多数开发者不想花一天配置工具链,只想开箱写代码。omp 就是给这些人准备的。

18 个开箱即用的核心能力

01. 代码执行 + 工具回调

不只是 Python 沙盒。omp 运行持久的 Python 和 Bun 内核,内核可以回调 Agent 自己的工具——在 Python 里用 tool.read 加载 CSV,用 JavaScript 画图表,全程不离开 cell。

02. LSP 接入每次写入

让 Agent 做重命名,它走 workspace/willRenameFiles——re-export、barrel file、别名导入全部同步更新。你的 IDE 知道的,Agent 也知道。

13 个 LSP 操作:诊断、导航、符号、重命名、代码操作、原始请求。

03. 驱动真实调试器

C 二进制 segfault?attach lldb,步进到坏指针。Go 服务挂起?attach dlv 遍历 goroutine。Python 进程卡住?debugpy 暂停、检查、求值。

27 个 DAP 操作。其他 Agent 还在撒 print 语句。

04. 时间旅行流规则(Stream Rules)

你的规则平时沉默,模型跑偏时才触发。正则匹配到违规内容,立刻中断输出流,注入规则作为系统提醒,从断点重试。不需要每个 turn 都付上下文税。注入后 survives compaction,修正是持久的。

05. 一等子 Agent

task 并行分发到隔离的 worktree,每个 worker 拥有独立的工具面,返回的是 schema-validated 的类型化结果——父 Agent 直接读取字段,不用解析自然语言。

06. 内置网页搜索 + URL 读取

web_search 链式调用 14 个搜索供应商,返回的 URL 直接用 read 工具读取。arxiv PDF、GitHub 页面、Stack Overflow 帖子全部转成结构化 Markdown,锚点完整保留。引用、跟进、引用,不会迷路。

07. 原生实现,不 shell out

其他 Agent 用 rggrepfindbash——每个调用都是 fork-exec。omp 把 ripgrep、glob、find、shell 全部链接进进程内。同一个 omp 二进制在 macOS、Linux、Windows 上运行,不需要 WSL。

08. 优先级代码审查

/review 生成 P0-P3 优先级排序的审查结果,每个问题带置信度分数。专用的 reviewer 子 Agent 并行扫描分支、单 commit 或未提交的工作。先解决阻碍发布的问题,重要的不会淹没在文本墙里。

09. Hashline 编辑:内容锚点 patch

模型用锚点指向要改的行,不需要重打整行。空白冲突和 string-not-found 循环消失了。编辑过期文件时锚点会偏移——patch 在破坏任何东西之前被拒绝。

Grok 4 Fast 在同样的工作上输出 token 减少 61%。

10. GitHub 就是文件系统

不需要 gh_issue_viewgh_pr_view 等一堆工具。read pr://1428 返回和 read src/foo.ts 相同的结构。一个接口教给模型,一个面保持正确。

11. Hindsight 记忆系统

Agent 跨会话记忆你的代码库。运行中用 retain 写入事实,用 recall 拉回,会话结束时压缩成心智模型,下次启动第一轮就加载。按项目隔离。

12. ACP 编辑器集成

在 Zed 里跑 omp,Agent 读你正在看的 buffer,通过编辑器的 save path 写入,在编辑器的终端里 spawn shell。破坏性工具暂停等待权限确认。无桥接、无插件、无第二大脑同步。

13. 继承已有规则

不需要迁移脚本。omp 直接读取 8 种格式的规则文件——Cursor MDC、Cline .clinerules、Codex AGENTS.md、Copilot applyTo 等。你团队上季度写的配置今晚仍然有效。

14. 原子化 commit

omp commit 读取工作树,把不相关的变更拆成原子 commit,按依赖排序。循环依赖被拒绝。源文件排在测试和文档前面,headline commit 是最重要的那个。Lock 文件完全排除在分析之外。

15. 内部 URL 方案

10 种内部 scheme——pr://issue://agent://skill://rule:// 等——在每个 FS 形状的工具里透明解析。read pr://1428read src/foo.ts 返回相同结构。search 可以遍历 diff 像遍历目录。agent://<id>/findings.0.path 按 path 拉取子 Agent 的输出字段。

16. 冲突解决

每个 merge conflict 变成一个 URL。Agent 写 @theirs@ours@baseconflict://N,文件干净解决。批量:conflict://*

17. 预览再接受

ast_edit 返回带替换计数的 (proposed) 卡片。变更暂存。Agent 调用 resolve 并附理由,TUI 变成 Accept 卡片,磁盘写入——原子操作,全有或全无。

18. 真实浏览器

默认开启 Stealth,页面看到的是正常用户而非 headless bot。同一个 API 可以驱动任何 Electron 应用——指向 Slack,Agent 像读网页一样读你的 DM。

40+ 模型供应商

直连 API + 网关 + 编码计划订阅 + 本地模型,全部混用:

类别 供应商
前沿 API Anthropic、OpenAI、Google、xAI、Mistral、Groq、Cerebras、Fireworks 等
编码计划 Cursor、GitHub Copilot、Kimi Code、MiniMax、Alibaba、Z.AI 等
本地 Ollama、LM Studio、llama.cpp、vLLM

四种角色路由:default(普通对话)、smol(便宜子 Agent)、slow(深度推理)、plan(计划模式)。支持 fallback chain 和 round-robin 凭证轮转。

27,000 行 Rust 原生核心

三个 crate,一个平台标记的 N-API addon。搜索、shell、AST、高亮、PTY、图片解码、BPE 计数——全部进程内运行,热路径上零 fork-exec。

模块 行数 功能
shell 3,700 嵌入式 bash、持久会话、超时/中断
grep 1,900 正则搜索、并行/串行、glob 过滤
keys 1,490 Kitty 键盘协议
text 1,450 ANSI 感知宽度、截断、SGR 保留换行
summarize 1,040 tree-sitter 结构化源码摘要
ast 1,000 ast-grep 模式匹配和结构重写
其他 12 个模块 ~6,000 文件缓存、高亮、PTY、glob、workspace、图片、BPE 等

和 Pi 的关系

omp 是 Pi 的 fork,关系类似于 oh-my-zsh 和 zsh:

维度 Pi oh-my-pi
哲学 极简,提供原语 开箱即用,batteries included
内置工具 基础 5-6 个 32 个
LSP 扩展(安装) 13 个操作内置
调试器 27 个 DAP 操作内置
子 Agent 扩展(安装) 内置,类型化结果
浏览器 扩展(安装) 内置,Stealth 模式
代码审查 /review,P0-P3 优先级
Rust 核心 ~27k 行原生实现
扩展兼容 ✅ 继承 Pi 的扩展系统
规则兼容 Pi only 8 种格式(Cursor/Codex/Copilot/...)
包生态 3143 个社区包 继承 Pi 包 + 自有扩展

选择逻辑:喜欢从零搭建,选 Pi。想要开箱写代码,选 omp。

安装

# macOS / Linux
curl -fsSL https://omp.sh/install | sh

# Bun(推荐)
bun install -g @oh-my-pi/pi-coding-agent

# Windows PowerShell
irm https://omp.sh/install.ps1 | iex

适用场景

  • 想要开箱即用的开发者:32 个工具、LSP、调试器、子 Agent 全部内置
  • 多模型用户:40+ 供应商,角色路由,fallback chain
  • 代码审查:自动化 P0-P3 审查,不是格式化建议墙
  • 跨平台:macOS/Linux/Windows 同一份二进制,不依赖系统工具
  • IDE 集成:ACP 协议直接在 Zed 里跑

作者: itech001 来源: 公众号:AI人工智能时代 网站: https://www.theaiera.cn/ 每日分享最前沿的AI新闻资讯和技术研究。

本文首发于 AI人工智能时代,转载请注明出处。

觉得文章不错?分享给更多人!