oh-my-pi (omp)
Pi coding agent 的增强 fork,将 IDE 能力深度集成到 Agent 工具链中,5.6k stars。基于 Mario Zechner 的 Pi 构建,TypeScript + Rust 实现,约 27k 行 Rust 核心。
官网:omp.sh
核心定位
“A coding agent with the IDE wired in.”
不是在 Agent 上加工具,而是把 IDE 的全部能力(LSP、DAP、AST、Git)直接接入 Agent 的工具表面。
关键特性(18 项)
工具层
- 32 个内置工具,统一命名空间,支持
--tools按需 pin 活跃集 - 13 个 LSP 操作:rename、references、go-to-definition 等,走
workspace/willRenameFiles,re-exports 和 barrel 文件自动更新 - 27 个 DAP 操作:支持 lldb(C/C++)、dlv(Go)、debugpy(Python),Agent 可直接 attach 调试器
编辑层
- Hashline 编辑:用内容 hash 锚点定位,而非重复行内容,减少 61% 输出 token(Grok 4 Fast 实测)
- ast_edit:结构化重写,先预览再 apply,原子操作
- ast_grep:50+ tree-sitter 语法的结构化代码查询
执行层
- 代码执行 + 工具回调:Python 和 Bun 两个持久 kernel,可在 kernel 内部回调 Agent 的 read/search/task 工具
- 原生实现:ripgrep、glob、find 直接链接进进程,无 fork-exec 开销;brush 是内置 bash,session 跨调用持久
记忆层
- Hindsight:Agent 用
retain写入事实,recall取回,每次 session 压缩成 mental model,下次 session 首轮加载
协作层
- First-class subagents:
task分发到隔离 worktree,typed 结果直接返回,无需解析 prose - ACP 支持:在 Zed 编辑器内运行,读写走编辑器 save path,破坏性工具暂停等待权限确认
其他
- 时间旅行流规则(TTSR):规则 dormant 直到模型偏轨,regex 匹配中止 stream,注入规则后从同一点重试
- omp commit:原子拆分 + 依赖排序,lock file 排除分析
- 冲突解决:每个 merge conflict 变成一个 URL(
conflict://N),写@theirs/@ours/@base即解决 - GitHub 即文件系统:
read pr://1428和read src/foo.ts返回同一形状 - 继承已有配置:原生读取 Cursor MDC、Cline .clinerules、Codex AGENTS.md、Copilot applyTo 等 8 种格式
性能数据
| 模型 | 指标 | 提升 |
|---|---|---|
| Grok Code Fast 1 | SWE-bench | 6.7% → 68.3%(10 倍) |
| Gemini 3 Flash | vs str_replace | +5 pp |
| Grok 4 Fast | 输出 token | −61% |
| MiniMax | pass rate | 2.1× |
安装
# macOS/Linux
curl -fsSL https://omp.sh/install | sh
# Bun(推荐)
bun install -g @oh-my-pi/pi-coding-agent关联项目
- CLI-Anything — 同样支持 Pi 的 CLI 生成工具
- agent-harness-anatomy — Agent Harness 六大组件解剖
- agentmemory — 跨 Agent 持久化记忆引擎