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 持續記住項目架構與編碼規範,避免每次新會話重複交代背景。
© 版權聲明
文章版权归作者所有,未经允许请勿转载。
相關文章
暫無評論...