🔑 一句话定位

omp = 把 IDE 能力直接接进 AI Agent 的编程助手——不是”AI帮你写代码”,而是”AI拥有你IDE的一切能力”

📊 核心数据

维度数量说明
模型供应商40+Anthropic/OpenAI/Google/xAI/Mistral + Coding Plans + Local
内置工具32文件6 + 运行时3 + 代码智能2 + 协调5 + 外部5 + 记忆5 + 杂项6
LSP操作14references/rename/definition/hover/diagnostics/code actions…
DAP调试28breakpoints/step/threads/stack/variables/evaluate…
Rust核心~55k行ripgrep/glob/find/brush/bash/image/tokens 全链接进进程
核心能力20详见下方

🧠 20大核心能力速览

#能力一句话核心工具
01双核代码执行Python+JS双内核+工具回调桥eval
02LSP接入每次写入重命名自动更新所有引用lsp
03驱动真实调试器lldb/dlv/debugpy真debugdebug
04时间旅行流式规则流式中断→注入规则→重试TTSR
05一等子Agent隔离worktree并行→typed结果task
06Advisor监督第二模型每轮review--advisor
07实时协作分享链接+QR,队友加入/collab
08Web+PDF14供应商+arxiv论文直接读web_search+read
09原生实现ripgrep/bash进进程,Win原生native
10代码ReviewP0-P3优先级+Verdict/review
11Hashline编辑内容哈希锚定,省61%tokenedit
12GitHub即文件系统PR/Issue是路径,read统一接口pr:// issue://
13Hindsight记忆跨session记住项目知识retain/recall/reflect
14ACP编辑器集成Zed内直接驱动AgentACP
15继承其他Agent配置Cursor/Cline/Codex/Copilot 8种格式config
16原子化commit按依赖拆分→循环检测拒绝omp commit
1712种内部URIpr://issue://agent://skill://rule://…URI schemes
18冲突一行URLconflict://N → @theirs/@oursconflict://
19AST预览→接受结构化替换→预览→确认→原子写入ast_edit
20真浏览器+ElectronStealth反检测+驱动Slackbrowser
Oh My Pi · 内置IDE的AI编程智能体详解

🥧 Oh My Pi · 内置IDE的AI编程智能体详解

20大核心能力 · 32内置工具 · 14 LSP操作 · 28 DAP操作 · 40+模型供应商 · ~55k行Rust核心
Oh My Pi (omp):一个把IDE完整接入的AI编程智能体——不只是写代码,而是理解代码结构(LSP)、驱动调试器(DAP)、并行子智能体、实时协作、浏览器自动化、跨会话记忆,开箱即用,全平台支持
20
核心能力
32
内置工具
14
LSP操作
28
DAP操作
40+
模型供应商
12
内部URI
55k
行Rust核心
🥧 20大核心能力详解
01
🔄 代码执行+工具回调
持久化Python和Bun worker,任一内核可回调agent工具(read/search/task)。一个cell里Python读CSV+JS画图表,无需离开。
Runtime
02
📡 LSP接入每次写入
rename走workspace/willRenameFiles,re-exports/barrel files/aliased imports自动更新。IDE知道的,agent也知道。
Code Intelligence
03
🐛 驱动真实调试器
C二进制segfault→attach lldb;Go服务hang→attach dlv;Python进程卡住→debugpy。不是sprinkle print,是真DAP协议。
Code Intelligence
04
⏳ 时间旅行流规则
规则平时休眠,模型跑偏时regex匹配中断stream,注入system reminder,同点重试。纠正不占context税,注入存活compaction。
Rules
05
🤖 一等子智能体
task展开到隔离worktree,各worker独立工具面,最终yield是schema-validated对象。无需解析prose,无兄弟merge冲突。
Coordination
06
👁️ 顾问模型实时监督
配对一个reviewer模型到advisor角色,它读取每回合,注入note(提醒/关切/硬阻塞)。独立上下文+独立模型,catch doer漏过的。
Collaboration
07
🔗 分享链接即协作
/collab放到relay→返回链接+QR。队友omp join或浏览器打开。read-write配对或view只读。帧客户端密封,relay不碰密钥。
Collaboration
08
🌐 读arxiv PDF
web_search串联14个provider→URL直接交给read。arxiv PDF/GitHub页面/SO帖子→结构化markdown。引用/跟进/引用源全保留。
Web
09
⚡ 原生实现·全平台
ripgrep/glob/find: in-process。brush是bash,session跨调用存活。同一binary跑macOS/Linux/Windows,无需WSL。
Native
10
📋 代码审查+优先级判定
/review派专有reviewer子智能体并行扫branch/单commit/uncommitted。每个issue排名P0-P3+置信度。先修阻塞发布的。
Review
11
✏️ Hashline: 内容哈希编辑
模型指向anchor而非重打行内容→空格战/string-not-found循环消失。文件过期时anchor偏移→拒绝patch防腐败。Grok 4 Fast省61% token。
Edit
12
📂 GitHub=文件系统
read already handles paths; PRs are paths. 一个接口教模型,一个surface保持正确。无gh_issue_view/gh_pr_view各自参数。
GitHub
13
🧠 Hindsight: 跨会话记忆
retain写入事实→recall搜索→reflect综合回答。每session压缩为心智模型→下次首轮加载。项目级隔离,repo学到的不泄露。
Memory
14
🖥️ ACP: 编辑器驱动agent
在Zed里跑omp=终端里同样的agent。读你正看的buffer,写走editor save路径,shell走editor terminal。破坏性工具弹权限。
Editor
15
📥 继承其他工具配置
原生读取8种格式:Cursor MDC/Cline .clinerules/Codex AGENTS.md/Copilot applyTo等。无需迁移脚本,团队上季度写的配置今晚照用。
Compatibility
16
📝 omp commit: 原子拆分
读working tree→按依赖排序拆分为原子commit。循环依赖拒绝。源文件>测试>文档>配置,headline commit是关键那个。lock file排除。
Git
17
🔗 12种内部URI Scheme
pr:///issue:///agent:///skill:///rule:///conflict://等。read pr://1428=read src/foo.ts同形态。search走diff如目录。agent://拉子智能体输出字段。
URI
18
🔀 冲突解决变URL
每个merge conflict→一个URL。write @theirs/@ours/@base到conflict://N→文件干净解决。批量: conflict://*
Git
19
👁️ 预览后接受
ast_edit返回(proposed)卡片+替换数→agent调resolve→TUI变Accept卡片→磁盘操作原子发生。all or nothing。
Edit
20
🌐 驱动真实浏览器
Stealth默认开→页面看正常用户而非headless bot。同一API驱动Electron app→指向Slack读DM。Puppeteer+CDP。
Browser
🎯 解决什么场景问题?
类别场景痛点Oh My Pi 解决核心能力效果
🧠 代码理解AI改了函数名但调用的地方没改→编译报错LSP wired rename:走workspace/willRenameFiles,barrel/alias全更新#02 LSP改名一次到位,零遗漏
🧠 代码理解AI不知道代码结构,到处找定义/引用LSP 14种操作:definition/references/hover/diagnostics/implementation…#02 LSPAI和IDE知道的一样多
🐛 调试AI遇到bug只会sprinkle print→加一行打一行→效率极低驱动真实DAP调试器:attach lldb/dlv/debugpy→设断点→步进→读变量#03 Debug从print调试进化为真正的IDE级调试
✏️ 编辑AI edit因空格/缩进差异频繁失败→string not found→重试→token浪费Hashline内容哈希anchor→不再重打行内容→空格战消失。文件过期拒绝patch#11 HashlineGrok 4 Fast省61%输出token
✏️ 编辑AI批量改代码→改错无法回滚→文件被损坏ast_edit预览→(proposed)卡片→resolve接受→原子apply。all or nothing#19 Preview改之前先看,确认后才写磁盘
🤝 协作AI一个人干所有活→慢→瓶颈task并行子智能体→隔离worktree→schema-validated结果→无merge冲突#05 Subagents多任务并行,结果结构化
🤝 协作AI犯错但没人及时发现→错误累积Advisor模型实时监督每回合→注入note/concern/blocker#06 Advisor第二个模型实时审查,catch doer漏过的
🤝 协作想让同事看AI在做什么→无法分享/collab→链接+QR→浏览器/终端join。read-write或view只读#07 Collab一键分享,实时协作
⚡ 约束AI写了不安全代码(Box::leak)但你没及时发现时间旅行流规则:regex匹配→中断stream→注入reminder→同点重试#04 Stream Rules跑偏立即纠正,不占context税
⚡ 约束切换AI工具要把配置全迁移→格式不兼容原生读8种格式(Cursor/Cline/Codex/Copilot等)→零迁移#15 Inherit团队现有配置直接用
🧠 记忆每次开新session AI对项目一无所知→重复问重复学Hindsight:retain写事实→recall搜索→reflect综合→跨session记忆#13 Memory项目知识跨会话保留
🌐 浏览器AI操作浏览器被反爬检测→headless bot被拦Stealth默认开→页面看正常用户。可驱动Electron app(Slack/Notion)#20 Browser绕过检测,真实浏览器体验
📂 Gitmerge conflict满屏<<<<<<<→手动解冲突又慢又错conflict://N URL→write @theirs/@ours/@base→文件干净解决#18 Conflict冲突解决变一个URL写入
📊 数据AI无法同时用Python+JS处理数据→要切换环境eval持久化Python+Bun worker→任一内核回调agent工具→跨语言协同#01 Eval一个cell里Python读+JS画
🔧 32个内置工具一览
分类工具功能默认
📂 文件与搜索read文件/目录/归档/SQLite/PDF/notebook/URL/内部scheme,一个path全搞定
write创建/覆盖文件、归档条目、SQLite行
editHashline补丁:内容哈希anchor+过期anchor恢复
ast_edit结构化重写:ast-grep驱动,预览后apply
ast_grep结构化代码查询:50+ tree-sitter语法
search正则搜索:文件/glob/内部URL,西部最快
findGlob路径查找(内容匹配用search)
🖥️ 运行时bash工作区shell,可选PTY/后台任务
eval持久化Python+JS cell,共享prelude+工具回调
ssh对配置主机的单条远程命令
📡 代码智能lsp14种操作:诊断/导航/符号/重命名/code actions/原始请求
debug28种DAP操作:断点/步进/线程/栈/变量/求值
🤝 协调task并行子智能体展开,可选workspace隔离
irc进程内agent间短消息
todosession todo list有序变更+阶段追踪
job等待/取消后台任务
ask交互式结构化追问
🌐 外部browserPuppeteer标签:headless Chromium或CDP附加应用
web_search跨provider搜索→答案+引用
githubGitHub CLI:repo/PR/issues/code search/Actions🔒
generate_image生成/编辑图片:Gemini/GPT/xAI Grok图像模型
inspect_image视觉模型分析本地图片🔒
tts文本转语音:xAI Grok Voice,5种内置语音🔒
🧠 记忆与状态checkpoint标记对话状态用于后续collapse-and-report🔒
rewind修剪探索性context,保留精简报告🔒
retain写入持久事实到Hindsight记忆库🔒
recall搜索Hindsight记忆库🔒
reflect让Hindsight综合回答记忆库🔒
🔧 杂项resolve应用/丢弃排队的预览操作
search_tool_bm25BM25搜索隐藏工具索引;mid-session激活🔒
🏗️ 大案例拆解:用Oh My Pi重构”电商平台支付服务”
📋 场景:电商平台支付服务需要从单体重构为微服务——拆分支付网关/退款/对账三个模块,同时修复一个生产segfault bug
Phase 1
🐛 生产bug:支付服务segfault — debug工具
#03 Debug #01 Eval
场景:生产环境支付二进制segfault,传统做法是sprinkle print→部署→等crash→看log→猜→改→再部署,循环数小时

Oh My Pi做法:agent用debug工具attach lldb-dap→设断点→步进到坏指针→读栈帧变量→定位根因
debug attach --adapter lldb-dap /usr/local/bin/payment-service
debug set_breakpoint --file payment.c:142
debug step_over → 读取变量 debug evaluate --expression "order->payment_ref"
发现空指针:payment_ref=NULL但代码没check→加null check→验证→修复完成

同时:用eval Python内核分析core dump histogram,JS内核画分布图→一个session两种语言协同
Phase 2
📡 重构前的代码理解 — lsp + ast_grep + read
#02 LSP #11 Hashline
场景:重构前需要理解支付服务的所有引用关系——谁调用了process_payment()?退款逻辑在哪些文件?

Oh My Pi做法
lsp references --symbol process_payment → 返回12处引用跨8个文件
lsp definition --symbol RefundService → 跳到定义src/refund.ts
lsp incoming_calls --symbol process_payment → 谁调用了它?3个caller
ast_grep --pattern "process_payment($$$)" --lang typescript → 结构化搜索所有调用点
read src/payment/ → 目录结构一览,不是dump内容而是summarized snippets

无需手动在IDE里一个个ctrl+click,agent一次拿到全部结构信息
Phase 3
🤖 并行拆分三个微服务 — task + irc
#05 Subagents #17 URI Scheme
场景:支付服务拆为3个独立模块:支付网关/退款服务/对账服务。每个模块独立,可并行开发。

Oh My Pi做法:用task并行派发3个子智能体
task --name PaymentGateway --isolate "拆分支付网关模块,迁移路由和handler"
task --name RefundService --isolate "拆分退款服务,迁移退款逻辑和退款API"
task --name Reconciliation --isolate "拆分对账服务,迁移FCS对接和对账逻辑"

3个子智能体在隔离worktree中并行工作,各自有独立工具面
子智能体间需要协调?用irc发消息:RefundService告诉PaymentGateway”退款回调接口改了”
结果是schema-validated对象,parent直接读取字段:agent://PaymentGateway/findings.0.path
Phase 4
⏳ 重构时的安全约束 — Stream Rules
#04 Stream Rules #06 Advisor
场景:重构时agent可能引入不安全模式(硬编码密钥/忽略错误处理/用Box::leak等)

Stream Rules:预设规则,agent跑偏时即时纠正
规则:no-hardcoded-secrets: /password|secret_key|api_key/i → "禁止硬编码密钥,使用环境变量"
规则:no-unchecked-error: /catch\s*\(\s*\)/ → "禁止空catch,必须处理或日志"

agent写到password = "abc123"时 → stream中断 → 注入规则 → 同点重试 → 改为password = process.env.PAYMENT_PASSWORD
不占context税,注入存活compaction

Advisor模型:配对GPT-5.5为advisor → 读取agent每回合 → 注入concern/blocker
agent对process_payment只catch ENOENT → advisor注入”这个fix不再匹配用户的验收标准” → agent扩展catch范围
Phase 5
📡 LSP驱动重命名+ast_edit批量改 — LSP + Hashline + Preview
#02 LSP #11 Hashline #19 Preview
场景:process_payment重命名为process_order_payment,同时批量替换所有console.log为structured logger

LSP renamelsp rename --symbol process_payment --new_name process_order_payment
→ 走workspace/willRenameFiles → barrel files/aliased imports/re-exports全部自动更新 → 5处修改跨3文件 ✅

ast_edit批量改ast_edit --pattern "console.log($$$ARGS)" --replacement "logger.info($$$ARGS)"
→ 返回(proposed)卡片:3 replacements · 1 file → resolve --accept → 原子apply ✅

Hashline编辑:用内容哈希anchor精确定位 → 空格/缩进差异不再导致失败 → 文件过期时anchor偏移→拒绝patch
Phase 6
📋 代码审查+原子提交 — /review + omp commit
#10 Review #16 Commit
场景:重构完成,需要审查代码质量→修复问题→提交

/review:派发reviewer子智能体并行扫branch
→ 返回P0-P3分级+置信度:P0(退款金额未校验, confidence:0.95) / P1(缺少重试逻辑) / P2(注释过时) / P3(命名可改善)
P0阻塞发布→先修P0→再修P1→P2/P3后续处理

omp commit:读working tree→按依赖排序拆分为原子commit
→ commit 1: feat: 拆分支付网关模块 (源文件优先)
→ commit 2: feat: 拆分退款服务模块
→ commit 3: feat: 拆分对账服务模块
→ commit 4: test: 添加微服务集成测试
→ lock file排除分析,循环依赖拒绝
Phase 7
🔗 PR+冲突解决+跨会话记忆 — URI + Conflict + Hindsight
#12 GitHub=FS #18 Conflict #13 Memory
PR操作read pr://1428 = 读源码同形态 → search pr://1428/diff 走diff如目录

冲突解决:merge时3个conflict → read src/payment.ts (⚠ 3 conflicts)
write conflict://1 @theirs / write conflict://2 @ours / write conflict://3 @base → 全部解决 ✅
批量: write conflict://* @theirs

跨会话记忆retain "支付服务已拆分为3个微服务:payment-gateway/refund/reconciliation"
retain "退款回调接口改为POST /refund/callback"
下次session:recall "退款服务架构" → 找回 → reflect "当前支付服务架构" → Hindsight综合回答
项目级隔离:支付项目学到的不泄露到其他项目
Phase 8
🌐 浏览器验证+协作 — Browser + Collab
#20 Browser #07 Collab
浏览器验证:agent用browser打开支付页面 → Stealth默认开→页面看正常用户
→ 导航到结算页→点击支付→验证新微服务是否正常→截图确认
→ 可驱动Electron app:指向Slack→读DM通知→确认支付告警通道正常

实时协作/collab→放到relay→返回链接+QR
→ 队友omp join或浏览器打开→看到agent实时工作
→ read-write配对编程,或view只读旁听
帧客户端密封,relay不碰密钥
🔗 12种内部URI Scheme
pr://
读PR如同读文件
read pr://1428
issue://
读Issue如同读文件
read issue://925
agent://
拉子智能体输出字段
agent://X/findings.0
skill://
读取技能定义
read skill://debug
rule://
读取规则定义
read rule://box-leak
conflict://
解决merge冲突
write conflict://1 @theirs
diff://
搜索diff如目录
search pr://1428/diff
commit://
读取commit详情
branch://
读取分支信息
action://
读取GitHub Actions
review://
读取代码审查结果
session://
读取会话状态
📡 LSP 14种操作
references rename definition hover diagnostics code actions implementation type_definition document_symbol workspace_symbol incoming_calls outgoing_calls folding_range selection_range
🌐 40+模型供应商
Frontier APIs
AnthropicOpenAIOpenAI CodexGoogle GeminiGoogle AntigravityxAIMistralGroqCerebrasFireworksTogetherHugging FaceNVIDIAOpenRouterSyntheticVercel AICloudflare AIWaferPerplexity
Coding Plans
CursorGitHub CopilotGitLab DuoKimi CodeMoonshotMiniMaxAlibaba/QwenZ.AI/GLMXiaomi MiMoQianfanNanoGPTVeniceKiloZenMuxOpenCode
Local
OllamavLLMLM Studio
一句话总结:Oh My Pi 是唯一把IDE完整接入的AI编程智能体——LSP让AI和IDE知道的一样多,DAP让AI能真调试而非sprinkle print,Hashline让编辑不再因空格失败,Stream Rules让约束即时生效而非事后发现,Hindsight让项目知识跨会话保留。不是”AI写代码”,而是“AI用IDE写代码”

https://github.com/can1357/oh-my-pi