redhat-et/ripwire

The ripgrep of AI context: a zero-dependency C++23 CLI + MCP server for coding agents. Find what you want without reading the repo, then check you built what you meant — blast radius, tests-to-run, quality deltas. Signatures at 74.7% fewer bytes than bodies; every guess labelled, every loss published. Paddle out with a map.

解決的問題

Ripwire 為 AI 編碼代理提供了一種高精度、低 Token 消耗的方案,用於導航與理解大型程式碼庫。它不依賴於簡單的 grep 搜尋或讀取整個檔案——這些方法會消耗大量 Token 並引入雜訊——而是生成一個排序的、決定性的呼叫圖。這使得代理能精確識別需要修改的符號、變更的潛在影響範圍(blast radius),以及需要執行的測試,同時嚴格控制在 Token 預算內。

工作原理

Ripwire 是一個獨立運行的本地離線二進位工具。它使用內嵌的 tree-sitter 語法解析器支援 21 種不同語言的程式碼。無需 API 金鑰、嵌入向量或背景守護程序。

當接收到查詢時,它會產生一個壓縮的 XML 輸出,包含:

  • 排序的符號:與任務相關的符號,按重要性排序,並附帶複雜度、git churn、變更放大率等元資料。
  • 一跳呼叫上下文:所識別符號的直接呼叫者與被呼叫者。
  • 置信度分數:工具對結果的確定性評分。

它還可以產生一個自包含的 HTML 程式碼庫地圖,透過節點顏色可視化呼叫圖,顏色依據循環複雜度或 git churn 等指標。

適用對象

使用 AI 編碼代理(如 Claude Code、Cursor、Windsurf、Gemini 或 Aider)的開發者,希望減少 Token 成本並提升代理程式碼修改的準確性,透過提供倉儲的結構化「地圖」來達成目標。

核心亮點

  • Token 高效:與簡單的讀取和 grep 方法相比,常見任務中可減少高達 90% 的 Token 使用量。
  • 廣泛語言支援:支援 Rust、C++、Python、Go、TypeScript、Java 等 21 種語言。
  • 高性能量:倉儲索引時間僅需幾分之一秒(中位數 0.31 秒),並支援快速熱查詢。
  • 決定性與透明性:明確標註所有推測,並在輸出中揭露所有截斷,拒絕透過省略或改寫來誤導。
  • 零基礎設施:無需索引伺服器、無需嵌入向量、無需 API 金鑰。

相關

  • 專案
  • 專案
  • 專案
  • 專案