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 密钥。
相关
- 项目
- 项目
- 项目
- 项目