一个 MCP 服务器,将代码、文档与基础设施索引为本地知识图谱,让 AI 编程代理查询结构而非反复读取文件。
redhat-et/ripwire
一个零依赖的 C++23 命令行工具和 MCP 服务器,为编程代理提供排序后的代码地图,并检查修改的影响范围、需运行的测试和质量退化。
- Star
- 2,464
- Fork
- 158
- 未关闭 Issue
- 70
- 最近提交
- 7小时前
这是什么?
ripwire 是面向编程代理的命令行工具和 MCP 服务器。代理读取仓库之前,可以先运行 ripwire 获得排序后的确定性调用图,包括主要子系统、入口点、最重要的符号及其调用者。--for、--expand、--callers、--path 等查询会在指定 token 预算内返回精简结果,减少反复 grep 和整文件读取。
修改代码后,同一工具会报告改动的影响范围、覆盖相关代码的测试、只列出退化项的质量差异、遗漏的同步修改文件,以及公开符号的接口变化。不确定的结果会被明确标注,例如置信度或 HTML 图中的虚线边;输出被截断时,会给出取回剩余内容的下一条命令。
项目使用 C++23 编写,没有运行时依赖,通过 tree-sitter 支持 Rust、Python、Go、TypeScript、Java 等多种语言。安装只需一行 shell 命令,并可为 Claude Code、Codex、Cursor、Gemini 等代理配置技能。
核心功能
- 01生成排序后的确定性仓库地图,列出子系统、入口点和关键符号。
- 02回答具体查询,如某个概念在哪里处理、谁调用了某函数、某函数的函数体是什么。
- 03修改后报告影响范围、覆盖改动代码的测试以及质量退化项。
- 04对不确定的调用边和被截断的输出做明确标注,不把猜测当作事实。
- 05以单个 C++ 二进制文件发布,无运行时依赖,也可作为 MCP 服务器运行。
适用场景
- 让编程代理在陌生的大型仓库中快速建立上下文,再开始修改代码。
- 提交 PR 前确认该运行哪些测试,以及改动可能影响哪些其他代码。
- 审查 diff,查找分散修改和遗漏的同步文件。
- 生成独立 HTML 调用图,按复杂度或变更频率着色观察代码结构。
快速上手
- 1
使用 README 中的一行安装脚本安装 ripwire
- 2
将安装目录添加到 PATH
export PATH="$HOME/.local/bin:$PATH" - 3
在你的仓库中运行 ripwire,并描述你要做的修改
ripwire . --for="<the change you are about to make, in words>"
使用前须知
- 快速安装方式会通过管道将远程脚本交给 bash 执行,如有顾虑请先审查脚本内容。
标签
常见问题
- ripwire 是什么?
- 一个零依赖的 C++23 命令行工具和 MCP 服务器,为编程代理提供排序后的代码地图,并检查修改的影响范围、需运行的测试和质量退化。 ripwire 是面向编程代理的命令行工具和 MCP 服务器。代理读取仓库之前,可以先运行 ripwire 获得排序后的确定性调用图,包括主要子系统、入口点、最重要的符号及其调用者。--for、--expand、--callers、--path 等查询会在指定 token 预算内返回精简结果,减少反复 grep 和整文件读取。
- ripwire 可以免费使用吗?用的什么许可证?
- ripwire 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- ripwire 还在维护吗?
- 活跃维护中。ripwire 最近一次提交是在 2026年10月22日。
- ripwire 适合用来做什么?
- 让编程代理在陌生的大型仓库中快速建立上下文,再开始修改代码。 提交 PR 前确认该运行哪些测试,以及改动可能影响哪些其他代码。 审查 diff,查找分散修改和遗漏的同步文件。 生成独立 HTML 调用图,按复杂度或变更频率着色观察代码结构。
- ripwire 怎么安装和运行?
- 使用 README 中的一行安装脚本安装 ripwire 将安装目录添加到 PATH: export PATH="$HOME/.local/bin:$PATH" 在你的仓库中运行 ripwire,并描述你要做的修改: ripwire . --for="<the change you are about to make, in words>"
- 在哪里获取 ripwire?
- 源代码和安装说明在 GitHub 上:https://github.com/redhat-et/ripwire
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
把代码、文档、SQL 表结构和 PDF 转成可查询的知识图谱,供 AI 编程助手使用。
将代码库索引为依赖、调用链与执行流程的知识图谱,并通过 MCP 工具供 AI 编程助手调用。
将多语言代码库解析为知识图谱,通过 AI 智能体或 MCP 服务用自然语言查询、检索和编辑代码。
Ix 将代码仓库解析为持久化的符号、调用与导入关系图,供开发者和 AI 编程代理查询结构。
用 Rust 编写的静态分析引擎,将源码转为紧凑的程序图,并生成 19 种 UML 与编译器中间表示图。