project
omp - 开源的 AI 终端编程智能体,能与 IDE 深度联动
omp(oh-my-pi) 是基于 Pi 项目二次开发的开源 AI 终端编程智能体,核心代码约 2.7 万行 Rust,支持 40+ 模型供应商与 32+ 内置工具。
omp是什么
omp(oh-my-pi) 是基于 Pi 项目二次开发的开源 AI 终端编程智能体,核心代码约 2.7 万行 Rust,支持 40+ 模型供应商与 32+ 内置工具。omp定位为能与 IDE 深度联动的终端编码工具,通过独创的 Hashline 哈希锚定编辑技术、LSP/DAP 协议集成以及真实浏览器驱动,将代码编辑、重构、调试、搜索等能力统一到一个终端界面中,打破当前 AI 编码工具隔着玻璃看代码的局限。
omp的主要功能
-
Hashline 智能代码编辑:用代码内容哈希作为锚点定位修改位置,替代传统文本匹配,解决空白符不匹配导致的编辑失败问题。
-
LSP 深度集成:对接语言服务器协议,实现符号引用查找、跨文件重构、函数重命名等 IDE 级代码分析能力。
-
DAP 调试器驱动:支持 LLDB、Delve、debugpy 等真实调试器,可设断点、读取变量值与调用栈,替代打印日志排查。
-
双内核代码执行:内置持久化 Python 与 Bun worker,支持从代码中回调 agent 自身的 read、search、task 等工具。
-
网页搜索与浏览:集成 14 个搜索供应商,可驱动真实浏览器并开启反爬规避模式,将网页内容结构化喂给模型。
-
子智能体并行执行:支持将复杂任务拆分为多个子任务,分配给不同子智能体并行处理后再合并结果。
-
跨会话记忆(Hindsight):智能体可在对话之间保留项目结构等记忆,新会话无需从头解释上下文。
-
模型动态路由:按任务类型自动切换不同模型,支持通过
/model命令或 Ctrl+P 快捷键手动循环切换。
omp的技术原理
-
Hashline 锚定算法:通过计算代码片段的内容哈希值生成唯一锚点,模型只需输出哈希锚点与修改内容,无需完整回写原代码片段。
-
LSP 协议桥接:作为 LSP 客户端与项目已有的语言服务器通信,将 workspace/willRenameFiles 等高级语义操作暴露给 AI Agent。
-
DAP 协议桥接:通过调试适配器协议与 LLDB-DAP、delve、debugpy 等后端交互,将断点状态、变量作用域、调用栈信息转化为模型可理解的结构化数据。
-
Loopback 工具桥:Python/Bun 执行环境通过本地回环接口反向调用 agent 的工具集,实现代码执行与文件系统、搜索能力的双向互通。
-
流规则时间旅行(Time-traveling stream rules):在模型输出流中实时正则匹配,触发规则即中断流、注入系统提醒并从同一点重试,无需为每轮对话支付额外上下文 Token。
-
记忆压缩持久化:Hindsight 机制将关键上下文压缩后持久化,在会话压缩后依然保留,实现跨会话的长期记忆。
如何使用omp
-
macOS / Linux 安装:在终端执行
curl -fsSL https://omp.sh/install | sh一键安装。 -
Bun 安装(推荐):执行
bun install -g @oh-my-pi/pi-coding-agent进行全局安装。 -
Windows 安装:在 PowerShell 执行
irm https://omp.sh/install.ps1 | iex,原生支持无需 WSL。 -
mise 版本管理:执行
mise use -g github:can1357/oh-my-pi锁定特定版本。 -
启动使用:安装后在项目目录运行
omp,通过自然语言描述需求即可开始编码、重构或调试。 -
模型切换:对话中输入
/model命令或按Ctrl+P循环切换当前使用的 AI 模型。 -
配置 API Key:首次使用需按提示配置所选模型供应商的 API 密钥,支持本地 Ollama/LM Studio 零密钥运行。
omp的核心优势
-
编辑成功率提升近十倍:Hashline 将 Grok Code Fast 1 的编辑成功率从 6.7% 提升至 68.3%,同时减少约 61% 的 Token 消耗。
-
IDE 级语义操作:不同于纯文本替换,omp 可调用 LSP 实现跨文件的精准重构,重命名后自动同步所有引用点。
-
真实调试而非猜错:通过 DAP 直接驱动调试器读取运行时状态,避免传统 AI 工具仅靠添加打印语句盲排查的低效方式。
-
模型无关与成本优化:支持 40+ 供应商与本地模型,自动路由不同任务到性价比最优的模型,降低 API 费用。
-
开箱即用的全家桶:内置搜索、浏览器、代码执行、子智能体、记忆等 32+ 工具,无需额外配置 MCP 或插件。
-
跨平台原生支持:Windows 原生运行无需 WSL,macOS 与 Linux 均提供一键安装脚本。
omp的项目地址
- GitHub仓库:https://github.com/can1357/oh-my-pi
omp的同类竞品对比
| 对比维度 | omp(oh-my-pi) | OpenCode | Aider |
|---|---|---|---|
| 定位 | 与 IDE 联动的终端编码智能体 | 终端原生开源编码 Agent | Git-native 终端结对编程助手 |
| 开源协议 | MIT | MIT | Apache 2.0 |
| 核心语言 | Rust(~2.7 万行核心) | Go + TypeScript + Rust + Tauri | Python |
| 模型供应商 | 40+(含本地 Ollama/LM Studio) | 75+(含本地 Ollama/LM Studio) | 任意 LLM(Claude/GPT/Gemini/本地) |
| 代码编辑技术 | Hashline 哈希锚定,减少 61% Token,编辑成功率提升近 10 倍 | 传统 diff/patch 文本编辑 | 传统 diff 编辑 + tree-sitter 代码库理解 |
| LSP 集成 | 深度集成,支持重构、引用查找、跨文件同步(13 个 LSP 操作) | 自动加载 LSP,实时诊断与类型感知 | 无原生 LSP 插件,纯文本层面操作 |
| 调试器支持 | DAP 驱动(LLDB/Delve/debugpy,27 个 DAP 操作),支持断点与变量读取 | 无原生调试器驱动 | 无原生调试器驱动 |
| Git 集成 | 基础文件操作 | 基础文件操作 | Git-first,每次修改自动提交并生成语义化 commit,支持 /undo 回滚 |
| 子智能体 / 并行 | 内置子智能体并行执行,任务拆分后合并结果 | 多会话并行(同一项目多 Agent) | 单 Agent 工具,无原生子智能体编排 |
| 跨会话记忆 | Hindsight,对话间保留项目结构记忆 | 单会话,无持久化跨会话记忆 | 单会话,无持久化跨会话记忆 |
| 代码执行环境 | 双内核(持久 Python + Bun worker),内核可回调 Agent 工具 | 支持 shell 执行与代码运行 | 支持 shell 执行,内置 linter 与测试运行器自动修复 |
| 网页搜索 / 浏览 | 14 个搜索供应商 + 真实浏览器驱动(反爬规避) | 支持 web fetching | 无内置浏览器驱动 |
| 流控制机制 | Time-traveling stream rules,正则匹配流并实时注入规则纠偏 | 无 | 无 |
omp的应用场景
-
大型项目重构:用 LSP 跨文件引用分析,安全重命名函数、提取接口并自动同步所有导入点。
-
复杂 Bug 调试:在 C/Rust/Go/Python 项目中直接设断点,让 AI 读取运行时变量与调用栈定位 segfault 或死锁。
-
多语言混合开发:通过自动模型路由,在日常对话使用轻量模型,遇到复杂算法时无缝切换至顶级推理模型。
-
调研与原型验证:驱动真实浏览器搜索 GitHub/Stack Overflow/arxiv,将结果结构化后直接生成可运行的原型代码。
-
长期维护型项目:借助 Hindsight 跨会话记忆,AI 持续记住项目架构与编码规范,避免每次新会话重复交代背景。