5.7k stars! 终端里的 AI 编程神器:oh-my-pi(omp)深度解析!
终端里的 AI 编程神器:oh-my-pi(omp)深度解析
当 AI 编码助手遇上工程师的极致追求,会碰撞出什么火花?
一、它解决了什么问题?
现有的 AI 编码工具(Claude Code、Cursor、Copilot 等)普遍存在几个让工程师头疼的问题:
1. 编辑失败率高
模型生成的 diff/patch 经常因为空白字符、缩进、上下文对不上等原因直接失败,触发无意义的重试循环,既浪费 token,又耗费时间。
2. 读文件效率低
直接 dump 整个文件内容塞进上下文,对大文件而言既浪费 context 窗口,又让模型"找不到重点"。
3. 模型绑定严重
换一个模型,工具的表现就大打折扣,用户不得不在"好用的工具"和"想用的模型"之间妥协。
4. 终端体验割裂
很多 AI 工具是 IDE 插件或 Web 界面,对于深度依赖终端的工程师来说,体验断层明显。
oh-my-pi(命令行工具名 omp)正是为了系统性解决这些痛点而生。它是一个面向终端的 AI 编码 Agent,在 pi-mono 的基础上大幅扩展,目标是把编码工作流中所有关键环节都做到极致。
二、它是什么?
oh-my-pi 是一个开源的终端 AI 编码 Agent,GitHub 地址:github.com/can1357/oh-my-pi,命令行工具名为 omp。
用一句话概括:一个不依赖特定模型、深度集成终端工作流、高度可扩展的 AI 编程助手。
核心亮点一览
🔒 Hashline 编辑系统 —— 解决"编辑失败"的根本方案
这是 omp 最具技术含量的创新之一。
传统的 str_replace 编辑方式要求模型精确复现原文,一旦有空格、换行的细微差异就会失败。omp 为每一行内容生成一个短哈希锚点,模型通过引用锚点来定位编辑位置,而非复现原文。
效果立竿见影:
- Grok Code Fast 1:任务通过率从 6.7% 跃升至 68.3%,提升近 10 倍
- Gemini 3 Flash:比 Google 自己的最佳实现还高出 5 个百分点
- Grok 4 Fast:输出 token 减少 61%,彻底消灭了重试循环
- MiniMax:通过率翻倍
如果文件在上次读取后被修改,哈希不匹配,编辑会被直接拒绝,防止误操作。
🧠 模型角色系统 —— 用对的模型做对的事
omp 把模型拆分为多个"角色":
| 角色 | 用途 |
|---|---|
default |
日常实现工作 |
smol |
快速探索、轻量任务,省钱 |
slow |
深度推理,复杂调试/重构 |
plan |
开启 /plan 模式时使用 |
commit |
生成 commit 信息和 changelog |
每个角色可以独立配置任意模型(Claude、GPT、Gemini、Grok、本地模型均支持),还能通过 Ctrl+P 在 slow/default/smol 之间快速切换。
🤖 子 Agent 并行框架 —— 让 AI 自己调度 AI
/task 工具支持并行启动多个专门化子 Agent:
- 内置 6 种 Agent:
explore(探索)、plan(规划)、designer(设计)、reviewer(审查)、task(执行)、quick_task(快速任务) - 支持 git worktree 隔离,子 Agent 的修改不会干扰主工作区
- 实时流式输出,不用等到全部完成才能看结果
- 最多 100 个后台并发任务
⚡ TTSR —— 零消耗的"时间旅行"规则
Time Traveling Streamed Rules(TTSR)是一种节省 context 的规则注入机制。
规则定义一个正则触发器,平时完全不占用 context。只有当模型输出流匹配到该正则时,才"及时注入"提醒。注入后请求重试,每条规则只触发一次。
举例:一条"别用废弃 API"的规则,只在模型真的要写废弃 API 时才触发,而不是每次对话都把规则塞进 prompt。
🔧 LSP 集成 —— 终端里的 IDE 级代码智能
完整的 Language Server Protocol 支持,包含 11 种操作:诊断、跳转定义、类型定义、实现、引用、悬停信息、符号搜索、重命名、代码动作……
支持 40+ 语言开箱即用,写完自动格式化(rustfmt、gofmt、prettier 等),每次编辑后立即反馈语法/类型错误。
🦀 Rust 原生引擎 —— 不靠外部命令的极速工具
约 7500 行 Rust 代码编译为 N-API 原生模块,提供:
- grep:基于 ripgrep 内核,并行正则搜索
- shell:内嵌 bash,无需 fork 进程
- text:ANSI 感知的文本处理,UTF-16 优化
- glob:尊重 .gitignore 的文件系统发现
🔌 通用配置发现 —— 无缝继承已有的 AI 工具配置
首次运行时,omp 自动从 .claude、.cursor、.windsurf、.gemini、.codex、.cline、.github/copilot、.vscode 等目录继承规则、技能、MCP 服务器配置。
从其他工具迁移到 omp?零迁移成本。
三、怎么用?
安装
推荐方式(Bun,需 >= 1.3.7):
bun install -g @oh-my-pi/pi-coding-agent
一键脚本(Linux / macOS):
curl -fsSL https://omp.sh/install.sh | sh
Windows(PowerShell):
irm https://omp.sh/install.ps1 | iex
配置 API Key
export ANTHROPIC_API_KEY=sk-ant-xxx
export OPENAI_API_KEY=sk-xxx
export GEMINI_API_KEY=xxx
或者交互式登录(支持 OAuth):
omp
/login
支持的提供商包括:Anthropic、OpenAI、Google、Groq、Mistral、xAI、Cursor、GitHub Copilot、Ollama(本地)、LM Studio(本地)等 30+ 个。
快速上手(推荐的前 15 分钟)
第一步:配置模型角色
启动 omp 后,输入 /model,为 default、smol、slow、plan、commit 角色分别指定模型。
第二步:在大改动前使用 /plan
/plan
请帮我规划一下这个认证模块的重构方案
(和 AI 反复讨论,确认方案后)
好,开始执行
第三步:常用快捷键
| 快捷键 | 功能 |
|---|---|
Ctrl+P |
切换 slow/default/smol 模型 |
Ctrl+R |
搜索历史 prompt |
Ctrl+T |
展开/收起 Todo 列表 |
Shift+Tab |
切换思维深度(thinking level) |
!git status |
执行 shell 命令并把结果注入上下文 |
@path/to/file |
在 prompt 中内联注入文件内容 |
AI 辅助 Git Commit
这是 omp 的一个亮点功能:
omp commit
# 支持参数:--push --dry-run --no-changelog
omp 会:
- 分析 git diff,按关注点自动拆分为多个原子 commit
- 生成符合 Conventional Commits 规范的提交信息
- 自动更新
CHANGELOG.md - 过滤"空洞词汇"(fix bug、update code 之类的无意义描述)
代码审查
/review
交互式选择审查范围(与某分支对比 / 未提交改动 / 某次 commit),AI 会给出结构化的审查报告,按 P0-P3 优先级标注问题,最终给出 approve / request-changes / comment 结论。
自定义扩展
自定义 Slash 命令(Markdown):
# ~/.omp/agent/commands/refactor.md
---
description: 重构指定模块
---
请分析 $1 中的代码,识别可以重构的部分,
遵循 SOLID 原则给出重构建议并实现。
之后在 omp 中直接用 /refactor src/auth/ 即可。
自定义工具(TypeScript):
// .omp/tools/notify/index.ts
export default () => ({
name: "notify",
description: "Send desktop notification",
parameters: Type.Object({ message: Type.String() }),
async execute(_id, { message }) {
await exec(`notify-send "${message}"`);
return { content: [{ type: "text", text: "Sent" }] };
},
});
Hook 拦截(示例:sudo 确认):
omp.on("tool_call", async (event, ctx) => {
if (event.toolName === "bash" && /sudo/.test(event.input.command)) {
const ok = await ctx.ui.confirm("Allow sudo?", event.input.command);
if (!ok) return { block: true, reason: "Blocked by user" };
}
});
四、总结
oh-my-pi(omp)是目前终端 AI 编码 Agent 中工程化程度最高的开源项目之一。它不是另一个"套壳 ChatGPT",而是把 AI 编码流程中的每一个环节——文件编辑、代码搜索、LSP 集成、Git 工作流、多模型调度、子 Agent 并发——都做了有针对性的工程优化。
适合人群:
- 深度依赖终端工作流的工程师
- 对 AI 编码工具的编辑成功率、token 效率有较高要求的人
- 希望在多个 AI 模型之间灵活切换、不被单一厂商锁定的团队
- 已有 Claude Code / Cursor 配置、想平滑迁移的用户
不那么适合:
- 纯图形界面用户
- 只需要简单代码补全的轻度用户
目前项目在 GitHub 已有近 4k Star,更新非常活跃(CI 记录显示每天都有多次提交),Discord 社区也在快速增长。
如果你在终端里写代码,值得认真试一试。
项目地址: github.com/can1357/oh-my-pi
安装命令: bun install -g @oh-my-pi/pi-coding-agent
Discord: discord.gg/4NMW9cdXZa
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)