repowise-dev/repowise

Codebase intelligence for AI and humans: code health scores, auto-generated docs, git analytics, dead code detection, and architectural decisions via MCP.

Repowise – 基于证据的代码库智能

是什么 – Repowise 是一个基于 Python 的工具,可构建本地、持续更新的仓库索引。该索引整合了语言无关的调用图、Git 历史、测试覆盖率信息、文档以及记录的架构决策。从这一单一事实源出发,它为开发者或 AI 驱动的编码代理通常需要通过 grep、阅读代码或运行昂贵模型提示来发现的问题,提供 确定性(无需 LLM 调用)的答案。

为何重要 – 现代 AI 编码助手在每次请求时都会花费大量时间“重新发现”代码库的结构,这会增加 token 使用量、降低代理速度,并可能导致上下文丢失。Repowise 一次性完成繁重工作,然后以远少的工具调用和大幅减小的负载(例如,典型提交上下文从 13,984 个 token 减少到 393 个 token)提供 带引用 的、图感知的结果。该项目还提供具体、可操作的重构建议和每个文件的健康评分,所有计算均在本地完成且开源。


核心功能

领域 Repowise 提供的内容
代码图 支持 25 种语言的 AST 解析依赖关系,带置信度标记的调用解析,社区检测,中心性度量,执行流追踪。
Git 信号 热点检测、所有权、共变更统计、巴士因子、缺陷修复历史 – 全部源自仓库自身的提交日志。
文档维基 为每个模块/文件自动生成、增量式维基页面;可选择性地为每页添加 LLM 编写的段落。
架构决策 从五个来源(如提交信息、代码注释)确定性提取,加上手动捕获;每个决策均链接到证据。
代码健康分析 49 个确定性检测器(复杂度、内聚性、克隆检测、未测试热点、变更熵等)为每个文件生成 1–10 的健康评分,并提供具体重构计划(提取类/方法、移动方法、拆分文件等)。
测试智能 通过调用图找出哪些测试 触及 一个文件(当覆盖率报告缺失时的回退方案),并可列出差分所触发的最小测试集。
变更风险 使用图和 Git 信号对差分或 PR 进行 0–10 分的评分,返回可操作指令如 may_breakmissing_tests
MCP 工具 十个任务型“模型-控制-协议”端点(图、Git、文档、决策、健康、风险、受影响测试、提炼等),任何 MCP 兼容代理(Claude Code、Codex、Cursor、VS Code 等)均可调用。
提炼 在命令输出(如长 pytest 日志)到达代理前进行压缩,保留错误和退出码的同时,将 token 使用量减少 60–90 %。
PR 机器人 GitHub 应用,为每个 PR 发布一条持续更新的评论,包含影响范围、测试影响、风险评分、健康警报以及详细分析页面链接。

典型工作流程

  1. 安装pip install repowise
  2. 初始化 – 在目标仓库内运行 repowise init --no-prose -y。此操作解析代码、构建图、提取 Git 信号、创建维基,并运行健康检测器。
  3. 服务repowise serve 启动本地 HTTP 端点,暴露 MCP 工具。
  4. 连接 – 将你的编码代理(Claude Code、Codex、Cursor 等)指向该端点,或打开内置仪表板探索健康评分、变更风险和重构建议。
  5. 迭代 – 随着仓库变化,Repowise 会增量更新索引,无需重新运行完整分析即可保持所有答案最新。

适用人群

使用场景 Repowise 如何帮助
AI 辅助开发 代理通过单次调用即可获得预计算、带引用的上下文(例如“谁调用了 auth.validate?”),减少 token 消耗和延迟。
安全的拉取请求审查 自动风险评分、测试影响列表和影响范围图直接显示在 PR 评论中,让审查者专注于真实破坏风险。
持续代码健康改进 健康评分揭示缺陷高发文件;具体重构计划可输入代理或手动应用。
大型多仓库工作区 单个 MCP 端点可服务多个仓库,支持跨服务契约检查和架构强制。
企业部署 核心分析完全在本地运行,无需 API 密钥,AGPL-3.0 许可,企业可选付费支持、安全扩展和 SLA 保证。

安装与快速入门

pip install repowise               # 获取 CLI 和库
cd /path/to/your/repo
repowise init --no-prose -y        # 构建索引(无需 LLM)
repowise serve                     # 启动本地 MCP 服务器
# 示例查询
repowise risk main..HEAD           # 当前 PR 的变更风险评分
repowise health --refactoring-targets  # 列出低健康文件及具体修复方案
repowise impacted-tests main..HEAD   # 差分的最小测试集

完整说明见 docs/start/QUICKSTART.md


证据与基准测试

  • 代理效率 – 在 django/django 仓库上对 43 个问题的研究显示,Repowise 将代理输出减少 31.6 %,工具调用次数从 7.2 → 3.8(p < 0.0001)。
  • 负载减少 – 典型提交上下文从 13,984 → 393 个 token(减少 97.2 %)。
  • 缺陷预测 – 健康引擎的 49 个检测器基于真实缺陷语料库校准;仓库内验证显示,最低健康文件中最近缺陷的富集度为 3.3×
  • 图准确性 – 在 37,853 个 Oracle 边上与 5 个其他工具对比;Repowise 在所有 7 个编译器评分单元中均达到最高精度。
  • 所有基准数据、方法和局限性均在 docs/BENCHMARKS.md 中公开。

许可与可用性

  • 开源 – AGPL-3.0(源码在 GitHub,PyPI 包 repowise)。
  • 自托管 – 核心分析在本地运行,无需外部 API 密钥或云服务。
  • 商业选项 – 企业可选付费支持、安全扩展和 SLA 保证。

学习更多


总结 – Repowise 将仓库转变为一个确定性知识库,AI 代理和开发者可即时查询,降低 token 成本,提升安全性,并在不向远程 LLM 发送代码的情况下提供具体、可执行的修复方案。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目