ripwire 针对的是一个很贵的习惯:智能体在仓库里到处 grep、整文件通读,只为回答一个调用图本来就能回答的问题。项目自称「AI 上下文的 ripgrep」。把它指向一个仓库,它会输出带排序的符号地图:这次任务真正相关的符号、谁调用它们、哪些测试能覆盖到。
第一方仓库 创建于 2026-07-29,许可证 Apache-2.0。2026-09-20 GitHub 显示 2,277 star、145 fork,当时发布的版本线是 0.6.1。二进制是单文件 C++23,没有运行时依赖;包括 25 个 tree-sitter 语法在内的全部依赖都 vendored 进仓库,断网也能完成源码构建。这里的 star 是热度信号,不是访问量。
命令行被有意设为主入口。ripwire 放在 PATH 上,智能体不调用就不花任何上下文;而 MCP 的工具 schema 无论是否被调用,都会在每次会话里占着上下文窗口。
核心功能
- 先给地图,再读代码:
ripwire . --for="给上传路径加重试"返回排序后的符号、调用方,以及能覆盖到的测试。 - 改之前先看影响面:
--callers、--uses、--impact、--affected直接回答「改这里会炸到哪」,不需要编辑器插件。 - 25 个 tree-sitter 语法:Rust、C++、Objective-C/C++、C、Python、Go、Swift、TypeScript、JavaScript、Java、Ruby、PHP、Lua、Elixir、Dart、Kotlin、GDScript、Bash、C#,外加 JSON、TOML、YAML、Markdown。
- 想用 MCP 就用:
ripwire wrap <agent>只把 Claude、Codex、OpenCode 的注册写法打印出来,不替你改配置;--mcp --listen=HOST:PORT是为数不多会开网络端口的模式之一。 - 17 个按任务切分的技能:
skills/install.sh教智能体在什么时机用哪个动词,避免把 182 个长参数当成菜单。
项目自己公布过一轮对比:对上一款基于图数据库的代码上下文 MCP 服务,在 django、webpack 和自身仓库的 48 道匹配问题上 胜 27、负 7、平 14,整轮消耗约 77K token,对手约 486K。这些数字属于厂商自测,不是独立审计。
适用场景
- 冷启动熟悉代码:在新会话里直接拿到关键的两三个文件,而不是先吃一遍目录树。
- 改前评审:智能体动手之前,先问影响面和该跑哪些测试。
- 控制 token 预算:用任务相关的符号地图替代「全读一遍再决定」的循环。
限制:ripwire 只给建议,不会替你改代码或执行命令,「这件事直接 grep 就行」也是它认可的答案。历史相关命令需要 git 在 PATH 上,并且得是真实 checkout。它度量复杂度,但不负责把复杂度降下来。
定价方案
| 方案 | 价格 | 说明 |
|---|---|---|
| ripwire | $0 | Apache-2.0 源码与预编译二进制,无需账号和 API key。 |
| 技能与 hook | $0 | 同一个仓库里安装,hook 需要显式加参数才会注册。 |
截至 2026-09-20,没有付费档位,也没有托管服务。
快速开始
RIPWIRE_REPO=redhat-et/ripwire bash -c "$(curl -fsSL https://raw.githubusercontent.com/redhat-et/ripwire/main/scripts/install.sh)"
export PATH="$HOME/.local/bin:$PATH"
cd your-repo
ripwire . --for="<你接下来要做的改动,用一句话描述>"
然后在会话里说一句「Use ripwire on this repo.」。第一方入口是 INSTALL.md、docs/COMMANDS.md 和 docs/LIMITS.md。
常见问题
它和代码搜索有什么区别?
搜索找字符串,ripwire 面向任务给符号排序,并给出调用方、能覆盖到的测试和影响面。
需要服务端、向量库或索引吗?
不需要 API key、embedding、守护进程或索引服务。只有 git URL 输入和 --mcp --listen 会碰网络。
能在 CI 里构建吗?
构建只要求 CMake 3.24+ 和 C++23 编译器,其他依赖都已内置,流水线里可以离线构建。
替代方案
- Serena:基于 LSP 的语义代码工具集,经 MCP 暴露给智能体。
- Chrome DevTools MCP:管智能体循环里的浏览器那一半,而不是仓库这一半。
- Claude Code:宿主智能体本身,ripwire 是你在它动手读书之前递给它的东西。
使用技巧
- 只装二进制不够,技能也要装。没有技能,智能体会每次都去拿全量地图,包括不该拿的时候。
--for=用调用方的原话写。排序质量取决于这句任务描述。- 大重构之后重新跑一次。地图是即时推导的,不会给你过期结论。
总结
ripwire 是大型仓库里给编程智能体用的一步便宜且确定的前置动作:先建调用图,再按任务排序,然后少读字节。如果你的智能体进入新仓库的第一动作还是列目录加整文件通读,值得试一下。
评论
还没有评论。成为第一个评论的人!
相关工具
相关洞察
锁死 Codex 的不是模型,是选择器
你已经为 OpenCode Go、Grok、Z.ai 付过钱了,但 Codex 的 picker 默认只露出 GPT。社区项目 codex-router 做的不是再教一遍安装步骤,而是把已经买过的模型能力接回选择器:密钥不出本机,原生 GPT 也不动。
Windows 上把 OpenCode Go 接进 Codex,别再新开一套工具
ChatGPT 登录的 Codex 桌面版,默认选择器几乎只露出 GPT。Windows 上只开 OpenCode Go 这一家,就能把已经付过钱的 Grok、GLM、Kimi、DeepSeek、MiniMax 接回同一个 picker。密钥不出本机,原生 GPT 也不动。
7 款 AI 编程 CLI 用了半年,我悟出一个道理:模型再强,干活也要有监督
Claude Code、Codex、opencode、pi、omp、DeepSeek Harness 各有性格。半年深度使用后我总结出一套分工矩阵:pi 做最省事的 CR、omp 审复杂 PR、DeepSeek Harness 配 V4 Flash 高频低成本审查、Claude Code 与 Qoder 写代码。模型再强,干活也要有监督,而且最好是独立第三方。