10分钟认识repowise:给AI编码代理装上代码库记忆,告别重复grep的完整入门
10分钟认识repowise:给AI编码代理装上代码库记忆,告别重复grep的完整入门
repowise 是一款开源的代码库智能(codebase intelligence)工具:它把代码、依赖图、git 历史、测试、文档和架构决策一次性索引成本地知识图谱,再通过 MCP 协议交给 Claude Code、Codex、Cursor 等 AI 编码代理,同时提供代码健康评分、自动文档生成、git 分析、死代码检测和架构决策追溯。换句话说,你只需要索引一次,代理就再也不用每接一个任务都从 grep 读文件重新"认路"了。
为什么需要它?代理每接任务都在"重新发现"你的仓库
没有索引时,AI 代理回答"这个函数谁在调用?"或"改这个文件会破坏什么?"的唯一办法就是 grep、读文件、再读一遍、然后忘记。每次任务都重复一遍,既烧 token 又烧时间。
repowise 的思路是:一次索引,三处复用 —— 同一个本地索引同时服务于代理(MCP 工具)、开发者(仪表盘/编辑器)和 PR 审查(PR Bot):
| 场景 | repowise 做什么 |
|---|---|
| 🧠 理解代码 | 带引用的问答、架构与执行流探索、永远最新的文档、追溯代码背后的决策 |
| 🛡️ 安全修改 | 符号级影响范围、只跑 diff 真正触达的测试、合并前发现破坏性契约变更 |
| 📈 持续改进 | 找出易出缺陷的文件、分离可维护性与性能风险、清理死代码、生成图谱感知的重构计划 |
官方在 43 个 django/django 真实问题上实测:接入 repowise 后,代理自身输出减少 31.6%,平均工具调用从 7.2 次降到 3.8 次。这些核心分析(图、风险、健康度、测试、死代码、PR 审查)零 LLM 调用,数据全部留在你的机器上。
10分钟上手:四步完成 repowise 快速入门
第 1 步:安装(1分钟)
要求 Python 3.11+ 和 Git:
pip install repowise
repowise --version
第 2 步:索引你的仓库(几分钟)
cd /path/to/your/repo
repowise init --no-prose -y
--no-prose 模式免费、无需 API Key、无任何提问:解析全部文件到 AST、构建依赖图、读取 git 历史、给每个文件打代码健康分、找出死代码,并从代码结构渲染出完整 wiki。3000 文件的仓库,核心分析 30 秒内完成。
第 3 步:打开仪表盘
repowise serve
一个命令同时启动 MCP 服务器和本地 Web 仪表盘,无云端、无额外配置。
第 4 步:接上你的代理
- Claude Code:
init已自动写好.mcp.json并注册好服务器,开箱即用 - Codex CLI:在
~/.codex/config.toml加一段 MCP 配置即可 - VS Code:安装 Repowise 扩展(Marketplace 或 Open VSX 搜索),运行 Repowise: Set Up This Repository
- 其他 MCP 客户端:
repowise agents print-config claude-code会打印一段可直接粘贴的配置
然后直接对代理说:"用 repowise 的 get_overview 总结这个仓库",或 "改 src/auth.py 会破坏什么?" —— 拿到的就是图谱支撑的架构摘要和逐文件分诊,而不是一串 grep。
10个MCP工具:给代理的"任务形"记忆
repowise 只暴露 10 个刻意收敛的 MCP 工具,每个都围绕"任务"而非单个文件设计,一次调用批量返回完整上下文:
| 工具 | 回答什么问题 |
|---|---|
get_overview() |
架构摘要、模块地图、入口点 —— 陌生仓库的第一次调用 |
get_answer(question) |
混合检索 + PageRank + 图谱一跳扩展,一次往返给出带引用的答案 |
get_context(targets) |
文件/模块/符号的分诊卡:签名、热点位、治理决策、调用方 |
get_symbol("file.py::Name") |
单个符号的源码与精确行界 |
search_codebase(query) |
wiki 上的语义 + 全文混合搜索 |
get_risk(targets) |
热点、依赖方、共变更伙伴、测试缺口、bug 历史 |
get_change_risk(revspec) |
某个 commit/范围新引入了什么风险 |
get_why(query) |
架构决策及其原文证据 |
get_dead_code(...) |
按置信度分层的不可达代码 + 清理影响估算 |
get_health(targets) |
三个维度的逐文件健康标记 + 结构化重构计划 |
每个响应都带 _meta 信封(索引年龄、索引到的 commit、过期警告),代理永远知道自己读到的信息有多新鲜。完整参考见 docs/agent/MCP_TOOLS.md。
代码健康评分:不只有分数,还告诉你怎么修
很多工具停在"这个文件有风险",repowise 会定位风险集中在哪,并点名具体修复:Extract Class、Move Method、Break Cycle 等,附上精确的移动符号、调用方影响范围和图谱感知的优先级排序。51 个确定性检测器(圈复杂度、脑方法、LCOM4 内聚度、god class、克隆检测、未测试热点等),全程无 LLM、无云依赖。
更贴心的是自检机制:每次索引后,它拿自己的评分和你的 git 历史对质,报告类似"健康分最低的 20 个文件里 16 个近 6 个月有过 bug 修复,是 24% 基线的 3.3 倍"。数字在你的仓库上算出,不好用你会看得见。
自动生成的文档与Chat问答
索引完成后,每个模块和文件都有了 wiki 页面,带 Mermaid 图、新鲜度徽标,增量重建:
仪表盘里的 Chat 页面支持用自然语言直接问代码库,答案引用具体的文件和页面出处,还能追溯"这个架构决策是什么时候、为什么做的":
知识图谱视图则把 1500+ 节点、3000+ 边的依赖关系画成可缩放画布,社区聚类、热点与死代码一目了然:
合并前就知道危险:变更风险与PR审查
repowise risk main..HEAD一行命令,给 commit 或分支范围打 0-10 分,按你仓库自己的 commit 分布排名,返回may_break、missing_cochanges、missing_tests、tests_to_run等可执行指令- 测试智能:从调用图推断哪些测试真正触及你的 diff —— 没有覆盖率报告也能答
- PR Bot:每个 PR 一条评论(原地更新),符号级影响范围、漏掉的共变更伙伴、可门禁的 Check Run,零 LLM 调用,同一个 diff 永远得到同一份审查
支持的代理与语言
代理:Claude Code、Codex CLI 为 Full 档(MCP 工具 + 技能 + 斜杠命令 + hook 拦截 + 会话挖掘);VS Code、Cursor、OpenCode、Hermes 为 Good 档;其余任何 MCP 客户端粘贴一段配置即可接入。完整矩阵见 docs/agent/INTEGRATIONS.md。
语言:26 种语言完整 AST 解析(Python、TypeScript、JavaScript、Java、Kotlin、Go、Rust、C++、C#、Scala、Ruby、Svelte、Vue),40 种语言五级梯队,连 COBOL 都在内。SQL 的 ref()/source() 血缘、shell 函数级符号、OpenAPI/Protobuf/GraphQL/Dockerfile 处理器都有专属支持,详见 docs/layers/LANGUAGE_SUPPORT.md。
进一步探索
| 想深入了解 | 去哪里看 |
|---|---|
| 完整安装流程 | docs/start/QUICKSTART.md |
| 所有 CLI 命令 | docs/reference/CLI_REFERENCE.md |
| 各仪表盘页面说明 | docs/start/DASHBOARD.md |
| 代理集成与 hooks | docs/agent/HOOKS.md |
| 智能层原理 | docs/layers/INTELLIGENCE_LAYERS.md |
| Claude Code 插件 | plugins/claude-code/ |
| 核心分析引擎源码 | packages/core/src/repowise/ |
| 实战示例(风险/死代码/决策) | examples/ |
AGPL-3.0 开源,免费自托管,核心分析零云依赖 —— 跑一次 pip install repowise,10 分钟后你的代理就不再需要重复 grep 了。






