← 返回目录
R

Repowise

社区
代码库智能层:为 AI 编码智能体和人类提供代码健康评分、自动文档、Git 分析、死代码检测和架构决策。
GitHub 源仓库 ↗
★ 6.2k Stars 分类 · 开发工具 非常热门 源版本 c2f915d07c11
66FMRS · C
可靠性
9/20
安全与权限
13/20
维护活跃度
15/20
文档质量
16/20
安装易用性
13/20

Repowise 是一个功能全面的代码库智能 MCP 服务器,提供丰富的工具集和深度分析。它特别适合希望减少 AI 智能体 token 消耗、获得代码健康评分和变更风险分析的团队。但需要注意其索引时间较长、隐私选项需仔细配置,以及部分功能依赖 LLM 提供商。总体上,它提供了明显的优势,尤其适合中大型代码库的自动化上下文提供。

查看 FMRS 评分方法 →

Repowise 是一个开源的代码智能引擎,通过 MCP 向 AI 编码智能体提供代码库的深度解析:一次索引构建依赖图、Git 历史、自动文档、架构决策和代码健康评分。它旨在减少 AI 智能体重复读取文件的 token 消耗,并提供基于缺陷验证的健康评分和具体的重构计划。支持自托管,代码完全本地处理,不强制上传。

工具能力

get_overview
获取整体架构摘要、模块地图、入口点和 Git 健康状态。这是了解任何陌生代码库的第一个调用。
get_answer
基于混合检索(全文+向量)和 PageRank 及一跳图扩展,返回带引用的回答,并附带校准的检索质量评分。
get_context
为文件、模块或符号生成分诊卡片:摘要、签名、热点位、治理决策和符号 ID。可批量传入多个目标。
get_symbol
获取单个索引符号的源码及其精确行范围。比直接读取文件加偏移计算更便宜更安全。
search_codebase
在 wiki 中进行语义搜索,可按类型(实现、测试、配置、文档)过滤,并标注每个结果的检索方法。
get_risk
分析热点、依赖方、共同变更伙伴、所有权、测试缺口和缺陷历史。传入 changed_files 可进入 PR 模式并返回指令块。
get_change_risk
基于 diff 形状对提交或范围进行合并前缺陷评分,以百分位排名并与仓库历史比较,同时给出测试覆盖证据。
get_why
获取架构决策、证据片段和替代传承。若无决策则回退到 Git 考古。
get_dead_code
按置信度分层返回不可达代码,附清理影响估计,工作区模式下支持跨仓库消费者检测。
get_health
返回每个文件在三个信号(缺陷风险、可维护性、性能)上的标记得分。可展开覆盖、趋势、自检和重构计划。

安装接入

  1. 运行 pip install repowise 安装,然后运行 cd /path/to/your/repo && repowise init 索引仓库(会询问索引模式,可用 --no-prose -y 免密钥无语言生成)。
  2. 启动 MCP 服务器:repowise mcp(从仓库目录运行),然后配置你的客户端:

- Claude Code:claude mcp add repowise -- repowise mcp 或使用插件 /plugin install repowise@repowise
- Codex CLI:在 ~/.codex/config.toml 添加 [mcp_servers.repowise] command = "repowise" args = ["mcp"]
- 其他 MCP 客户端可配置命令 repowise mcp

  1. 首选调用:让智能体使用 get_overviewget_context 开始。

选型与风险

适合谁

  • 希望在本地获得代码库深度解析的开发者,且不希望代码上传云端。
  • 团队想要在合并前获得变更风险评估和代码健康评分。
  • 希望为 AI 编码智能体提供结构化上下文、减少 token 消耗的团队。

不适合谁

  • 需要开箱即用、无需任何本地安装或索引的托管服务的用户(需使用 repowise.dev 托管版本)。
  • 仅需要简单调用图且对索引时间敏感的场景(索引速度较慢,约 22 倍于 CodeGraph)。
  • 希望零配置、无需任何终端命令的零基础用户。

所需权限

  • 读取指定仓库的文件系统(必须提供给 MCP 服务器)。
  • 可选:发送代码片段到 LLM 提供方生成 wiki 文案(仅在启用 AI 生成时)。
  • 可选:向 GitHub 或 Git 仓库写入(例如 PR 机器人发布评论,如果安装)。
  • 读取仓库的 Git 历史(用于分析)。

风险与副作用

  • 隐私风险:虽然支持本地运行,但如果配置了 LLM 生成 wiki 或使用托管版本,代码可能发送给第三方。
  • 性能风险:大型仓库索引可能耗时(示例中 Django 索引约 366 秒),影响初始使用体验。
  • 依赖风险:需要 Python 环境和 pip 安装,可能与其他包版本冲突。
  • 数据准确性:自动生成的文档和风险评分基于启发式算法,可能误判,尤其在语言支持不完整时。

常见排障

  1. 索引失败:确保仓库路径正确,运行 `repowise init --path /absolute/path` 并检查错误信息。
  2. MCP 连接问题:确认 `repowise mcp` 在仓库目录运行,且客户端配置命令正确。
  3. 索引过时:运行 `repowise update` 或 `repowise watch` 保持索引同步。
  4. 无搜索结果:检查 wiki 是否生成(`repowise generate`),且嵌入模型若未配置则语义搜索不可用。
  5. 安全审查:运行 `repowise doctor` 检查设置和 API 密钥。

使用场景

快速了解不熟悉的代码库:让 AI 智能体通过 get_overview 获取架构和入口点。
合并前评估风险:使用 get_risk 和 get_change_risk 识别高危文件和变更影响。
发现死代码和重构机会:使用 get_dead_code 和 get_health 获取具体重构计划。
自动生成文档:索引后生成 wiki 页面,并通过 MCP 搜索。
减少 AI 智能体 token 消耗:通过预计算的索引和命令蒸馏(repowise distill)节省成本。

支持客户端

Claude Code完整支持
Codex CLI完整支持
Cursor完整支持
VS Code完整支持