oh-my-pi
终端里的 AI 编程 Agent,用 Hash 锚定 + LSP 集成让代码修改精准无误,支持 Cl
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
终端里的 AI 编程 Agent,用 Hash 锚定 + LSP 集成让代码修改精准无误,支持 Cl
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。

图1:Oh My Pi 在多个主流模型上的评测数据,表现远超同类工具
作为一名开发者,你是否有过这样的经历?每次想重构一段代码,都要先花半小时找到那个改了三遍的文件;每次想让 AI 帮改 bug,都要手动把报错信息复制粘贴到聊天框;每次想用上最新的代码规范,都要翻遍 Stack Overflow 才敢下手。
这些重复性的「苦力活」,正在蚕食开发者最宝贵的东西——专注力。
can1357 的 Oh My Pi(简称 OMP)正是为了解决这个痛点而生。它是一个运行在终端里的 AI 编程 Agent,通过将 IDE 的语言服务器协议(LSP)、持久化执行环境、多模型统一适配层全部串联起来,让开发者只需要用自然语言下指令,AI 就能直接操作用户的编辑器、读写文件、执行代码。
简单来说:它是给命令行披上了一层 AI 外衣,让 Terminal 变成了一个会思考、会动手的智能助手。
传统的 AI 编程工具修改代码时,靠的是「找相似行」来定位要改的位置。一旦代码里有多处相似的逻辑,AI 很容易「眼神不好」改错地方。OMP 的做法是给每段代码打上内容哈希指纹(Hash Anchoring),AI 每次修改都精确到具体的字符区间,确保改的一定是你想要的那个位置。
这带来的实际效果是惊人的:Grok Code Fast 的通过率从 6.7% 一跃升至 68.3%,Tenstorrent 模型更是提升了 2.4 倍。同一套权重、同样的 prompt,只是换了一个编辑格式,差距就是这么大。
LSP(Language Server Protocol)是现代 IDE 的语言服务基础设施,VSCode、Neovim、Emacs 底层都在用它理解代码结构。OMP 深度集成了 LSP,所以 AI 工具能直接「看到」:
这意味着 AI 给出的建议不再是盲人摸象,而是基于完整代码上下文的精准诊断。
大多数 AI 编程工具每次调用都是独立的沙盒环境,无法记住上一次的状态。OMP 反其道而行之:它维护一个持久的 Python 和 Bun(TypeScript runtime)工作区,AI 可以在里面累积变量、加载数据、跑测试,再把结果直接反馈给下一轮对话。
形象地说:普通工具像是每次都重新开一台新电脑,而 OMP 是一台一直开着、记忆连贯的工作站。

图2:OMP 的 LSP 集成界面,AI 实时感知代码上下文
在 OMP 里切换不同的大语言模型,不需要改配置、重新训练prompt。作者为每个支持的模型(Claude、Gemini、Grok、MiniMax 等)精心调校了专属的工具调用格式。开发者只需一条命令 omp --model claude,立刻切换到 Claude 的能力。
这种「一次适配,到处运行」的架构,是 OMP 区别于单模型绑定的开源项目的核心差异。
从技术实现来看,OMP 的架构可以分成三层:
前端交互层:由 TypeScript 实现,提供 CLI 命令行界面和对话交互逻辑,支持 Bun 和 Node.js 运行环境。它负责解析用户指令、渲染输出、管理会话状态。
核心执行层:由 Rust 编写的高性能组件(crates/pi-* 系列)构成,包括:
pi-shell:自定义 shell 解释器,处理命令执行和管道pi-ast:抽象语法树模块,支撑代码分析和转换pi-natives:原生函数绑定,提供文件 I/O、网络等系统调用pi-iso:隔离执行环境,确保工具调用安全可控AI 适配层:Python 的 robomp 包负责与各大模型 API 通信、工具格式转换、结果解析。其中 omp-rpc 子模块提供了 Python ↔ Bun 之间的 RPC 通信通道,让两端可以互相调用对方的函数。
整体来看,OMP 是一个用 Rust 保证性能、用 TypeScript 提供交互、用 Python 连接 AI 生态的多语言混合架构项目。代码质量整体较高,有完整的 Biome 代码格式化配置、Rust Analyzer 支持和详细文档。
OMP 的安装简单到令人发指:
# macOS / Linux
curl -fsSL https://omp.sh/install | sh
# Windows PowerShell
irm https://omp.sh/install.ps1 | iex
# 或者用 Bun
bun install -g @oh-my-pi/pi-coding-agent

图3:OMP 进行 GitHub PR 评审的效果展示
项目提供了三套 Dockerfile:
Dockerfile:标准镜像Dockerfile.robomp:包含 Python 完整生态的镜像Dockerfile.robomp.dockerignore:专门针对 Docker 构建优化的版本不过值得注意的是,OMP 没有提供 docker-compose.yml,对于想快速容器化一键部署的用户来说,还需要自己编写 docker-compose.yaml。这算是唯一一个部署层面的遗憾。
硬件需求方面,由于主要依赖 CPU 计算(没有 GPU 训练或推理),最低 1GB 内存、500MB 磁盘即可运行,属于典型的「轻量级」工具。安装后首次运行需要配置 API Key(支持 Anthropic、OpenAI、Google 等多平台),之后即可正常使用。
| 用户类型 | 推荐指数 | 理由 |
|---|---|---|
| 终端重度用户 | ⭐⭐⭐⭐⭐ | 命令行原住民,OMP 就是为你设计的 |
| Vim/Neovim 用户 | ⭐⭐⭐⭐ | LSP 集成天然适配,配合 Telescope 使用体验极佳 |
| VSCode 用户 | ⭐⭐⭐ | 已有 Copilot 等方案,但 OMP 的深度定制值得一试 |
| GUI 偏好者 | ⭐⭐ | 纯 CLI 工具,界面不如 Copilot直观 |
pi-iso 做了沙盒隔离,但生产环境使用仍需谨慎。Oh My Pi 在 GitHub 上已收获 8400+ Stars,远超同类项目。它的出现代表了一种趋势:未来的 AI 编程工具,不再是简单的 Chat-to-Code,而是深度集成到开发流程每个环节的 Agent 系统。
从 Hash 锚定编辑解决「改错位」问题,到 LSP 原生集成实现「上下文感知」,再到多模型统一适配打破生态壁垒——这些设计选择,正在被更多开源项目借鉴和跟进。可以预见,「Terminal + AI」会成为专业开发者工具链中的标准配置。
增长亮点:项目 Star 增长曲线陡峭,README 中引用的评测数据证明了它在真实模型上的有效性。随着 Claude、MiniMax 等模型的 API 生态持续扩大,OMP 的实用价值有望进一步释放。