oh-my-pi: 一款具備深度 LSP 與 DAP 整合及精準雜湊編輯功能的編碼代理程式
oh-my-pi: 一款具備深度 LSP 與 DAP 整合及精準雜湊編輯功能的編碼代理程式
它解決了什麼問題
Oh-my-pi (omp) 是一款高能力的編碼代理程式,旨在彌合 LLM 與實際開發環境之間的差距。它解決了「工具架構問題」(harness problem),即代理程式在處理不精確的文件編輯、缺乏深度 IDE 整合以及運行時能力有限時,往往會面臨困難,進而導致編輯失敗或過度浪費 token。
運作原理
omp 以 Rust 為核心構建,直接與開發工具整合,而非僅依賴簡單的 shell scripts。它使用專門的「hashline」系統進行基於內容雜湊 (content-hash) 的編輯,以確保精準度並減少 token 使用量。該代理程式與 Language Server Protocol (LSP) 串接,以獲得 IDE 層級的程式碼智慧,並與 Debug Adapter Protocol (DAP) 串接,以驅動真實的除錯器 (例如 lldb, dlv, 和 debugpy)。它還具備一個持久的執行環境,包含 Python 和 Bun workers,可以回調至代理程式自身的工具。
適合對象
需要強大、基於終端機或透過編輯器 (經由 Zed) 整合的編碼代理程式的開發者,且該代理程式能執行複雜的重構、除錯原生二進位檔、管理 GitHub PRs,並能協調多個子代理程式來處理大型任務。
重點特色
- 深度 IDE 整合:完整支援 LSP 的重新命名與導航功能,以及支援 DAP 的程式碼逐行執行與變數檢查。
- 進階工具集:內建 32 種工具,包括透過
ast_edit進行結構化重寫、用於網頁互動的原生瀏覽器,以及橫跨 18 個供應商的web_search。 - 代理協調能力:能夠產生具備特定類型的子代理程式以進行平行工作,並具備獨立的「顧問」(advisor) 模型來即時審查對話輪次。
- 精準編輯:使用內容雜湊錨點 (Hashline) 來防止空白字元衝突並減少輸出 token。
- 廣泛的模型支援:相容於 40 多種供應商,包括尖端 API、訂閱制編碼方案 (Cursor, Copilot) 以及本地運行器 (Ollama, vLLM)。
- 事後記憶 (Hindsight Memory):一個專案範圍內的記憶庫,允許代理程式在不同的工作階段中保留並回想事實。
Sources
- undefinedcan1357/oh-my-pi