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