RepoReaper / README_zh.md
GitHub Actions Bot
deploy: auto-inject hf config & sync
4e98fb0
RepoReaper Logo

RepoReaper

Harvest Logic. Dissect Architecture. Chat with Code.

English简体中文

License Python FastAPI Vue 3 Hybrid Search

Global Demo Seoul Demo

RepoReaper Demo

RepoReaper 是一个面向 GitHub 仓库的证据化智能分析 Agent,服务于需要快速吃透陌生代码库的工程师、评审者和研究者。它会把仓库沉淀为可复用的调查工作台,让后续追问、评审和验证始终基于同一仓库上下文。它不是一次性总结工具,而是可持续复用的分析、问答、可复现评估与论文对齐工作流。

为什么选择 RepoReaper

  • 先证据,后结论:回答和判断都绑定可检索的仓库证据,而不是只给抽象总结。
  • 可复用工作台,而非一次性结果:每个仓库对应持久会话,分析上下文、报告和 artifacts 可持续复用。
  • 为复杂问题设计的检索链路:向量检索 + BM25 + RRF + 查询改写 + JIT 补文件,在首轮证据不足时继续补召。
  • 验证与可检查性内建:Reproducibility Score、Paper Align 与白盒 tracing 让结论可追溯、可复核。

你会得到什么

  • 一个以仓库为单位的分析工作台,包含可复用会话状态、索引上下文和分析产物。
  • 在同一会话中完成架构理解与实现细节追问的 Repo Chat。
  • Issues NotebookCommit Roadmap 两条并行视图,分别观察社区压力与交付方向。
  • Reproducibility Score:结构化风险、证据引用与本地化摘要输出。
  • Paper Align:按 claim 输出 alignedpartialmissinginsufficient_evidence 判定。
  • Suggested Questions:返回三类锚定追问,覆盖架构、实现与复现路径。
  • 分析、洞察、问答、对齐全链路流式回传,无需等待全量完成再开始判断。

实际使用场景

场景 结果
新仓库接手与快速入门 分析一次后,持续复用中英报告与索引上下文。
深入实现细节排查 Chat 先改写问题并检索关键片段,证据不足时触发 JIT 补文件。
项目节奏与维护状态审查 Issues Notebook 与 Commit Roadmap 并行呈现维护压力和交付方向。
可复现性交接评估 Reproducibility Score 给出结构化风险、证据引用和本地化摘要。
论文 claim 与代码实现核验 Paper Align 对 claim 逐条比对代码证据,并流式暴露 partial/missing。
规划下一步问题 Suggested Questions 给出架构、实现、复现三类锚定追问。

RepoReaper 如何工作

  • 会话化状态模型:每个仓库映射到稳定会话,分析上下文、报告和 artifacts 可跨访问复用。
  • 分层检索链路:向量检索与 BM25 通过 RRF 融合,再结合查询改写与 JIT 补文件,提升复杂问题的证据召回。
  • 流式执行为默认:分析、洞察、问答、对齐按阶段回传,用户可边看边判断。
  • 显式缓存层次:issues/roadmap/questions 等产物可缓存复用;可复现评分采用 core 与 localized 分层缓存。
  • 并发写入可控:仓库级锁支持 memory / file / redis 后端,避免同会话写冲突。
  • 模型层可插拔:可在 openaideepseekanthropicgemini 间切换,不改变工作流语义。

可观测与质量闭环

  • 请求路径可追踪:核心 chat 会话绑定 tracing,分析过程可检查而非黑箱。
  • 评估不阻塞主链路:auto-eval 以 sidecar 异步执行,回答延迟与评分延迟解耦。
  • 质量判断可复核:异常评估样本进入 review queue,支持稳定的 approve/reject 操作。
  • 运行态指标可见:可观测指标与评估统计反映队列状态、分数分布和失败面。
  • 失败默认 fail-open:观测或评估异常不会阻断主分析与问答流程。

Paper Align 在评审中的用法

  • 先拆 claim:将论文文本拆解为可核验的技术 claims。
  • 逐 claim 证据检索:每个 claim 扩展为检索友好查询,并与仓库片段匹配。
  • 判定结果有边界:明确区分 alignedpartialmissinginsufficient_evidence,并给出证据摘录。
  • 困难样本可回退:证据不足时触发候选文件 JIT 拉取与再判定,而不是直接终止。
  • 诊断过程可流式观察:claim 进度、检索轨迹、回退动作与最终置信度都可被检查。

快速开始

本地运行(最短路径)

前置:Python 3.10-3.12、至少一个 LLM API Key(必需)、GITHUB_TOKEN(推荐)、Embedding Key(推荐)。

git clone https://github.com/tzzp1224/RepoReaper.git
cd RepoReaper

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

cp .env.example .env
# 必填:LLM_PROVIDER + 对应 API Key
# 支持:openai | deepseek | anthropic | gemini
# 推荐:GITHUB_TOKEN 与 SILICON_API_KEY
# 可选:LANGFUSE_ENABLED=true + Langfuse keys

python3 -m app.main

打开 http://localhost:8000

Docker Compose(App + Qdrant)

cp .env.example .env
docker compose up -d --build

可选观测栈(Langfuse)

docker compose -f docker-compose.yml -f docker-compose.observability.yml up -d --build

兼容性提示:

  • 推荐 Python 3.10-3.12
  • Python 3.14 当前有已知兼容风险(Langfuse SDK 与部分 legacy asyncio 测试模式)。

Star History

Star History Chart