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 1SWE-bench6.7% → 68.3%(10 倍)
Gemini 3 Flashvs str_replace+5 pp
Grok 4 Fast输出 token−61%
MiniMaxpass rate2.1×

安装

# macOS/Linux
curl -fsSL https://omp.sh/install | sh
 
# Bun(推荐)
bun install -g @oh-my-pi/pi-coding-agent

关联项目