oh-my-pi
AI Coding agent for the terminal — hash-anchored edits, optimized tool harness, LSP, Python, browser, subagents
这是什么?
oh-my-pi 是一款终端原生的 AI 编程 Agent,由安全研究员 can1357 开发。它专为命令行环境设计,提供了 hash 锚定编辑、LSP 集成、浏览器自动化、子 Agent 等独特能力。
核心价值:将 AI 编程能力直接嵌入终端工作流,无需离开命令行即可完成代码编写、调试、重构和部署。特别适合习惯在终端中工作的开发者和安全研究人员。
适合谁:
- 习惯终端操作的开发者
- 安全研究人员和渗透测试工程师
- 需要快速迭代代码的 AI 辅助编程者
- 偏好轻量级工具而非 IDE 的用户
前置条件:
- Node.js 18+ 或 TypeScript 运行时
- API Key(Claude、OpenAI 或兼容接口)
- 基本的终端操作能力
准备工作
1. 安装
npm install -g oh-my-pi
# 或使用 npx 直接运行
npx oh-my-pi
2. 配置 API Key
export ANTHROPIC_API_KEY=sk-ant-...
# 或
export OPENAI_API_KEY=sk-...
3. 初始化项目
cd /path/to/your/project
omp init
时间预算:安装 2 分钟,首次配置 5 分钟。
替代方案:如果 oh-my-pi 不适用,可考虑 Claude Code CLI(官方)或 Aider(终端编程)。
三步上手
第一步:启动 Agent
omp "分析这个项目的代码结构,找出潜在的安全漏洞"
oh-my-pi 会扫描项目文件,使用 LSP 理解代码语义,然后给出分析结果。
第二步:让 Agent 修改代码
omp "把 src/auth.ts 中的密码哈希算法从 SHA-256 升级到 bcrypt"
oh-my-pi 使用 hash 锚定编辑技术,精准定位修改位置,不会破坏其他代码。
第三步:验证修改
omp "运行测试并检查刚才的修改是否正确"
Agent 会自动执行测试、检查覆盖率,并报告结果。
核心特性
Hash 锚定编辑
oh-my-pi 给每个代码块生成内容 hash,修改时通过 hash 定位,确保编辑精准不漂移。这是它与传统 AI 编程工具的关键差异。
LSP 集成
集成了 Language Server Protocol,可以理解代码的类型系统、引用关系、诊断信息。这让 AI 的代码建议更加准确。
子 Agent 系统
可以启动多个子 Agent 并行处理不同任务:
omp --subagents 3 "同时重构 auth、api 和 database 模块"
浏览器自动化
内置 Playwright 集成,可以测试 Web 应用:
omp "打开 localhost:3000,填写登录表单,测试登录流程"
常见踩坑
踩坑 1:API Key 未配置导致启动失败
症状:运行 omp 后提示 API key not found。
原因:环境变量未正确设置,或使用的 shell 不兼容。
解决:确认 echo $ANTHROPIC_API_KEY 有输出。如果使用 fish shell,使用 set -x 而非 export。也可以创建 ~/.omp/config.yaml 文件写入 API Key。
踩坑 2:大项目内存占用过高
症状:处理 10 万行以上代码库时,系统内存飙升到 8GB+。
原因:oh-my-pi 默认加载整个项目的 LSP 索引。
解决:使用 .ompignore 文件排除不需要的目录(如 node_modules、dist)。对于超大项目,使用 --workspace 参数指定工作范围。
踩坑 3:Hash 锚定编辑在格式化后失效
症状:运行 Prettier 或 ESLint —fix 后,后续的 hash 锚定编辑失败。
原因:代码格式化改变了内容,导致 hash 值变化。
解决:先让 oh-my-pi 完成所有编辑,再统一运行格式化工具。或在 .omp/config.yaml 中配置 edit.auto_format: true。
踩坑 4:子 Agent 之间产生编辑冲突
症状:多个子 Agent 修改了同一文件的相邻行,产生合并冲突。
原因:子 Agent 并行编辑时没有文件锁机制。
解决:使用 --sequential 参数让子 Agent 串行工作,或手动指定各 Agent 的文件范围。
踩坑 5:浏览器自动化在无头环境失败
症状:在 SSH 或无显示器服务器上,浏览器自动化步骤报错。
原因:Playwright 需要虚拟显示器。
解决:安装 xvfb,运行 xvfb-run omp "..."。或在配置中设置 browser.headless: true。
踩坑 6:安全软件拦截 oh-my-pi 的代码修改
症状:oh-my-pi 的修改被安全软件拦截,文件被回滚。
原因:安全软件将大量的代码修改视为可疑行为。
解决:将项目目录加入安全软件的白名单。使用 --dry-run 先预览修改,确认无误后再执行。
FAQ
Q1: oh-my-pi 和 Claude Code CLI 有什么区别?
A: Claude Code CLI 是 Anthropic 官方工具,与 Claude API 深度集成,适合全面的代码开发。oh-my-pi 是社区工具,更轻量,提供 hash 锚定编辑、LSP 集成等独特功能,且支持多种 AI 后端。oh-my-pi 更偏向终端原生体验。
Q2: 支持哪些 AI 模型?
A: 支持 Anthropic Claude、OpenAI GPT、以及任何兼容 OpenAI API 接口的模型(包括本地 Ollama 模型)。可以通过 omp config set model 切换。
Q3: 是否有使用成本?
A: oh-my-pi 本身免费开源(MIT)。成本来自 AI API 调用。如果使用本地模型(Ollama),则完全免费。建议使用 Claude Sonnet 4.5 或 GPT-4o 以获得最佳效果。
Q4: 能否在 CI/CD 中使用?
A: 可以。oh-my-pi 支持非交互模式,可以在 CI/CD 管道中运行:omp --non-interactive "运行安全审计"。但建议在 CI 中使用 --dry-run 仅生成报告。
Q5: 如何处理 oh-my-pi 的错误修改?
A: oh-my-pi 使用 Git 进行版本控制。每次修改前会自动创建 checkpoint。使用 git diff 查看修改,git checkout 回滚。也可以使用 omp undo 命令。
初级用法
代码审查
omp "review src/ --focus security"
自动修复 lint 错误
omp "修复所有 ESLint 错误和 TypeScript 类型错误"
生成测试
omp "为 src/utils.ts 生成完整的单元测试,覆盖率 > 80%"
高级玩法
自定义 Agent 指令
创建 ~/.omp/prompts/security-audit.md:
你是安全审计专家。检查以下内容:
1. OWASP Top 10 漏洞
2. 敏感信息泄露
3. 不安全的依赖
4. 权限控制缺陷
使用:omp --prompt security-audit "审计整个项目"
管道模式
cat error.log | omp "分析这个错误日志,找出根因并给出修复建议" --stdin
小技巧
- 使用别名:
alias omp-fix="omp '修复这个错误'"快速调用 - 会话管理:
omp session save保存当前上下文,下次继续 - 查看 Token 用量:
omp status显示当前会话的 Token 消耗 - 模型热切换:
omp --model sonnet临时切换模型 - 离线模式:
omp --local使用本地 Ollama 模型,完全离线
进阶学习
掌握基础后,可以深入探索:
- 自定义 LSP 配置:为特定语言(如 Rust、Go)配置 LSP 以获得更好的代码理解
- 子 Agent 编排:学习如何设计多 Agent 协作策略,提高复杂任务的处理效率
- Hash 锚定原理:理解 hash 锚定编辑的底层实现,定制编辑策略
- 安全审计 Skill:结合 oh-my-pi 的 LSP 能力和安全研究背景,构建自动化安全审计流水线
参考链接
本文基于公开资料整理,AI 辅助生成,数据截至 2026-08-04。具体功能请以官方文档为准。
📊 评分与标签
评分说明
总分 8.5/10 · P_优选
📊 可观测社区指标(采集日期:2026-08-04)
- GitHub: can1357/oh-my-pi ★21,569, 🔱2,053
- 许可证: MIT
- 最近推送: 2026-08-03(活跃)
- 语言: TypeScript
⚙️ 功能完整度 2.2/2.5
- Hash 锚定编辑、LSP 集成、子 Agent 系统、浏览器自动化、管道模式
- 支持多种 AI 后端(Claude、OpenAI、Ollama 本地模型)
- CI/CD 集成和非交互模式
- 来源:GitHub
- 竞品对比 1(Claude Code CLI):Claude Code 官方工具,功能更全面但仅支持 Claude;oh-my-pi 多后端支持更灵活
- 竞品对比 2(Aider):Aider 专注代码编辑,oh-my-pi 额外提供 LSP、浏览器自动化、安全审计等能力
✨ 输出质量 2.1/2.5
- Hash 锚定编辑确保修改精准,减少 AI 漂移
- LSP 集成提供语义级代码理解
- 子 Agent 并行编辑存在冲突风险
- 竞品对比 1(Claude Code):Claude Code 的 Plan Mode 提供更严谨的修改审核
- 竞品对比 2(Cursor):Cursor 的 IDE 集成提供更好的可视化体验
🖐️ 易用性 1.3/1.5
- 终端原生,命令行开发者上手快
- npm 全局安装,配置简单
- 非交互模式支持 CI/CD
- 竞品对比 1(Cursor):Cursor 提供 IDE 图形界面,非终端用户更友好
- 竞品对比 2(GitHub Copilot):Copilot 直接嵌入 IDE,无需额外配置
💰 性价比 1.5/1.5
- 完全开源免费(MIT)
- 支持本地模型(Ollama),零 API 成本
- 社区活跃,21k+ Stars
- 来源:GitHub
- 竞品对比 1(Cursor):Cursor Pro $20/月
- 竞品对比 2(GitHub Copilot):$10/月或包含在 GitHub 订阅中
🔒 稳定性 0.8/1.0
- 21k+ Stars,社区反馈积极
- 大项目内存管理需优化
- 子 Agent 并发编辑冲突有改进空间
- 竞品对比 1(Claude Code):Anthropic 官方维护,稳定性更高
- 竞品对比 2(GitHub Copilot):Microsoft 维护,企业级稳定性
🛡️ 隐私安全 0.6/1.0
- 支持本地模型,完全离线运行
- MIT 开源,代码透明
- API Key 通过环境变量配置
- 来源:GitHub
- 竞品对比 1(Cursor):代码发送到云端处理
- 竞品对比 2(GitHub Copilot):代码发送到 Microsoft 服务器
🏷️ 标签说明
- AI编程: 核心定位为 AI 编程辅助工具,提供代码编辑、审查和生成能力
- 终端: 专为终端环境设计,原生 CLI 体验
- Agent: 具备子 Agent 系统和自主执行能力
- 开源: MIT 许可证,完全开放
- CLI: 命令行界面工具,适合终端工作流
📋 来源核实
- ✅ 已验证: GitHub — Stars 21,569,Forks 2,053,MIT 许可证
- ✅ API 验证: API — 仓库活跃度、语言分布
- ⚠️ 未实测: Hash 锚定编辑的精准度和子 Agent 系统的并发性能
评分依据可追溯至公开来源,每项分数均有明确理由和数据支撑。
⚠️ 局限与声明
- 实测限制:未在本地环境完整测试所有功能,数据基于官方文档和社区反馈
- 安全软件兼容:部分安全软件可能拦截 oh-my-pi 的自动化代码修改行为
- 大项目性能:处理 10 万行以上代码库时可能需要额外的内存优化
同分类推荐
AI编程 分类下的其他工具