基于Claude Code SDK的单仓库知识库AI Agent系统
RepoMind是一个智能的单仓库知识库生成系统,通过深度分析代码仓库自动生成结构化的维基式知识库。该系统基于Claude Code SDK构建,采用多Agent协作的方式,能够智能理解代码语义、识别架构模式,并生成高质量的技术文档。
- 🤖 智能代码分析: 基于Claude Code SDK的深层语义理解,优于简单的语法匹配
- 📚 结构化知识库: 自动生成符合规范的维基式文档和Mermaid图表
- 🏗️ 多Agent协作: 6个专业分析Agent协同工作,覆盖项目分析的各个维度
- 📊 质量保证: 多维度质量评估、置信度计算和自动验证机制
- ⚡ 高性能执行: 并发控制、错误恢复、智能重试机制
- 🛠️ 完整工具链: CLI工具、编程接口、详细示例和使用指南
src/
├── types/ # 核心类型定义系统
│ └── index.ts # 完整的接口和类型定义
├── agents/ # 智能分析Agent集群
│ ├── base/ # Agent基础抽象层
│ │ └── BaseAnalysisAgent.ts
│ ├── scheduler/ # Agent调度系统
│ │ └── AgentScheduler.ts
│ ├── TaskListManager.ts # 核心任务管理器(统一调度)
│ ├── OverviewAnalysisAgent.ts # 项目概览分析
│ ├── ArchitectureAnalysisAgent.ts # 系统架构分析
│ ├── ComponentAnalysisAgent.ts # 组件设计分析
│ ├── ApiAnalysisAgent.ts # API接口分析
│ ├── DataModelAnalysisAgent.ts # 数据模型分析
│ └── WorkflowAnalysisAgent.ts # 业务流程分析
├── utils/ # 工具函数库
│ ├── index.ts # 文件操作、项目检测、YAML处理等
│ └── sdk-helper.ts # Claude Code SDK辅助工具
├── prompts/ # 专业化Prompt模板系统
│ ├── index.md # Prompt使用指南
│ ├── common-analysis-guide.md # 通用分析指南
│ ├── overview-analysis.md # 概览分析模板
│ ├── architecture-analysis.md # 架构分析模板
│ ├── system-architecture-analysis.md # 系统架构专项模板
│ ├── components-analysis.md # 组件分析模板
│ ├── apis-analysis.md # API分析模板
│ ├── api-reference-analysis.md # API参考文档模板
│ ├── data-models-analysis.md # 数据模型分析模板
│ ├── workflows-analysis.md # 工作流分析模板
│ ├── business-workflows-analysis.md # 业务流程专项模板
│ ├── dependencies-analysis.md # 依赖分析模板
│ └── unified-analysis-tasks.md # 统一分析任务模板
├── standard/ # 知识库规范文档
│ └── single-repo-knowledge-spec.md # 单仓库知识库标准规范
├── bin/ # 可执行文件
│ └── cli.ts # CLI主程序(package.json中的bin入口)
├── index.ts # 主入口文件和API导出
└── cli.ts # CLI工具兼容入口
# 使用npm全局安装
npm install -g @repomind/core
# 使用yarn全局安装
yarn global add @repomind/core# 作为项目依赖安装
npm install @repomind/core
# 使用yarn安装
yarn add @repomind/core安装后可以直接使用repomind命令:
# 为当前目录生成知识库
repomind generate
# 为指定项目生成知识库
repomind generate -p /path/to/repo
# 深度分析,不包含测试文件
repomind generate -d deep --no-tests
# 查看项目信息
repomind info
# 验证知识库质量
repomind validate
# 清理知识库文件
repomind clean
# 查看帮助
repomind --helpimport { generateKnowledgeBase } from '@repomind/core';
// 简单生成知识库
await generateKnowledgeBase({
repoPath: '/path/to/your/repo',
depth: 'normal'
});使用npx直接运行,无需安装:
# 直接使用npx运行
npx @repomind/core generate
# 为指定项目生成
npx @repomind/core generate -p /path/to/repoimport { AgentScheduler, AnalysisConfig } from './src';
const config: AnalysisConfig = {
repoPath: '/path/to/repo',
outputPath: '/path/to/repo',
depth: 'deep',
includeTests: true,
includeDocs: true,
customPatterns: {
services: ['**/*Service.ts', '**/services/**'],
controllers: ['**/*Controller.ts', '**/controllers/**'],
models: ['**/*Model.ts', '**/models/**']
}
};
const scheduler = new AgentScheduler(2); // 最多2个并发任务
const result = await scheduler.executeKnowledgeGeneration(config);
console.log(`生成状态: ${result.status}`);
console.log(`整体置信度: ${(result.overallConfidence * 100).toFixed(1)}%`);RepoMind采用统一任务管理的智能架构,基于TaskListManager实现高效的知识库生成:
- TaskListManager - 核心任务管理器,统一调度所有分析任务
- AgentScheduler - Agent调度器,负责任务分发和结果聚合
- 6个专业分析Agent - 分别负责不同维度的代码分析
- 概览分析Agent - 项目整体分析和核心概念提取
- 架构分析Agent - 系统架构模式识别和分层分析
- 组件分析Agent - 组件识别、职责分析和依赖关系
- API分析Agent - 接口发现、文档生成和示例提取
- 数据模型分析Agent - 数据实体识别和关系建模
- 工作流分析Agent - 业务流程识别和流程图生成
flowchart TD
A[用户请求] --> B[AgentScheduler]
B --> C[TaskListManager核心调度]
C --> D[统一任务编排]
D --> E[Claude Code SDK调用]
E --> F[多维度分析处理]
F --> G[结果聚合和验证]
G --> H[知识库文件生成]
H --> I[质量评估报告]
I --> J[生成完成]
生成的知识库完全符合单仓库知识库规范(基于src/standard/single-repo-knowledge-spec.md):
.repomind/
├── knowledge.yaml # 结构化知识库主索引(YAML格式)
├── meta/ # 元数据目录
│ ├── repo-info.yaml # 仓库基础信息和技术栈
│ ├── analysis-config.yaml # 分析配置记录
│ ├── generation-log.yaml # 生成过程详细日志
│ └── repo-relationships.yaml # 多仓库关联关系(预留)
├── docs/ # 维基式文档目录
│ ├── overview.md # 项目概览文档
│ ├── architecture.md # 系统架构文档(内嵌架构图表)
│ ├── components.md # 组件设计文档(内嵌组件关系图)
│ ├── apis.md # API接口文档
│ ├── data-models.md # 数据模型文档(内嵌实体关系图)
│ ├── workflows.md # 业务流程文档(内嵌工作流图)
│ └── dependencies.md # 依赖关系文档(内嵌依赖图)
└── knowledge-base/ # 分类知识库目录(预留扩展)
├── core/ # 核心概念知识
├── patterns/ # 设计模式知识
└── best-practices/ # 最佳实践知识
主索引文件包含以下关键信息:
- 版本和仓库信息: 项目基本信息和技术栈识别
- 内容索引: 各个文档的路径和关键信息引用
- 质量指标: 整体置信度、成功任务数、总任务数
- 元数据: 生成时间、配置参数、统计信息
系统支持灵活的配置选项:
const config: AnalysisConfig = {
repoPath: string; // 项目路径
outputPath: string; // 输出路径(默认为项目路径)
depth: 'shallow' | 'normal' | 'deep'; // 分析深度
includeTests: boolean; // 是否包含测试文件分析
includeDocs: boolean; // 是否包含现有文档分析
customPatterns?: { // 自定义匹配模式
[key: string]: string[];
}
};RepoMind相比传统RAG构建和手动调用Claude Code的优势分析:
| 对比维度 | RepoMind (本项目) | RAG构建方式 | 手动调用Claude Code |
|---|---|---|---|
| 智能程度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 6个专业Agent协作 深度语义理解 自动模式识别 |
基于向量相似性 缺乏深层语义 |
专业分析能力 但需要人工指导 |
|
| 自动化程度 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 一键生成完整知识库 全自动Agent调度 智能任务编排 |
需要预处理和索引 自动向量检索 |
需要人工编写提示词 手动分析每个模块 |
|
| 知识库结构 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 标准化维基式文档 结构化YAML索引 Mermaid图表集成 |
碎片化知识点 缺乏整体架构 |
高质量文档 但结构不统一 |
|
| 上下文理解 | ⭐⭐⭐⭐⭐ | ⭐⭐ | ⭐⭐⭐⭐ |
| 全仓库关联分析 跨文件依赖理解 业务流程识别 |
局限于向量窗口 缺乏全局视图 |
深度理解单个模块 但缺乏整体关联 |
|
| 准确性保证 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐⭐⭐ |
| 多维质量评估 置信度量化 交叉验证机制 |
检索准确性受限 可能存在幻觉 |
高准确性 但依赖人工验证 |
|
| 维护成本 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| 自动更新机制 增量分析支持 版本控制集成 |
需要重新索引 向量库维护 |
完全手工维护 成本极高 |
|
| 扩展性 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 模块化Agent设计 自定义分析模式 多仓库支持规划 |
易于扩展知识源 支持多种检索 |
需要重新设计 扩展困难 |
|
| 即时性 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ |
| 批量生成模式 适合定期更新 |
实时检索响应 即问即答 |
按需分析 响应较慢 |
|
| 资源消耗 | ⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐ |
| 集中式分析 CPU/内存密集 |
存储密集 检索高效 |
Token消耗大 成本较高 |
|
| 使用场景 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ | ⭐⭐⭐ |
| 完整知识库构建 项目文档生成 团队知识共享 |
代码搜索 快速问答 开发辅助 |
专项深度分析 特定模块研究 |
- 全面性: RepoMind提供端到端的知识库解决方案,从分析到生成一站式完成
- 专业性: 6个专业Agent分工协作,覆盖软件架构分析的各个维度
- 标准化: 基于规范的知识库格式,保证输出质量和一致性
- 自动化: 最小化人工干预,支持批量处理和定期更新
- 工程化: 完整的错误处理、质量保证和性能优化机制
- 语义理解: 基于Claude Code的深层代码理解,超越简单语法匹配
- 模式识别: 自动识别设计模式和架构模式
- 上下文关联: 理解文件间的逻辑关系和业务流程
- 多维评估: 从完整性、准确性、一致性等维度评估结果质量
- 置信度量化: 为每个分析结果提供置信度评分
- 自动验证: 交叉验证和一致性检查机制
- 错误恢复: 智能重试和错误处理机制
- 性能优化: 并发控制和资源管理
- 可观测性: 详细的日志记录和统计信息
- 进度显示: 实时显示分析进度和任务状态
- 结果总结: 清晰的结果统计和质量报告
- 灵活配置: 支持多种配置选项和自定义模式
查看完整的使用示例:
- 基础示例: 简单的知识库生成
- 高级配置: 自定义分析模式和参数
- 批量分析: 处理多个项目
- 监控日志: 详细的执行统计和性能分析
# 运行CLI工具
npm run cli generate # 使用开发环境CLI
npm run cli info # 查看项目信息
npm run cli validate # 验证知识库质量
npm run cli clean # 清理知识库文件import { BaseAnalysisAgent } from './src/agents/base/BaseAnalysisAgent';
import { AnalysisConfig } from './src/types';
class CustomAnalysisAgent extends BaseAnalysisAgent {
readonly name = 'custom-analysis';
readonly version = '1.0.0';
readonly capabilities = ['custom-feature'];
readonly dependencies = ['overview-analysis'];
protected async analyze(config: AnalysisConfig) {
// 实现自定义分析逻辑
const prompt = await this.loadPrompt('custom-analysis.md');
const customizedPrompt = this.customizePrompt(prompt, config);
// 使用Claude Code SDK分析
// ... 实现分析逻辑
return {
document: '分析结果文档',
metadata: { /* 元数据 */ },
references: []
};
}
protected calculateConfidence(result: any): number {
// 计算置信度
return 0.8;
}
protected getDocumentTitle(projectName: string): string {
return `自定义分析:${projectName}`;
}
}const customConfig: AnalysisConfig = {
repoPath: '/path/to/repo',
outputPath: '/path/to/output',
depth: 'deep',
includeTests: true,
includeDocs: true,
customPatterns: {
// 自定义匹配模式
'custom-components': ['**/*Widget.tsx', '**/*Panel.tsx'],
'business-logic': ['**/business/**', '**/domain/**'],
'integration-points': ['**/integrations/**', '**/external/**']
}
};- Fork项目
- 创建特性分支 (
git checkout -b feature/amazing-feature) - 提交更改 (
git commit -m 'Add amazing feature') - 推送到分支 (
git push origin feature/amazing-feature) - 开启Pull Request
MIT License
- 🎉 初始版本发布
- 🤖 实现了6个专业分析Agent集群
- 📋 完整的Agent调度系统和任务编排
- 📊 多维度质量保证和置信度评估
- ⚡ 并发执行、错误恢复和性能优化
- 🛠️ 完整的CLI工具和编程接口
- 📚 详细的文档和使用示例
- 🔧 基于Claude Code SDK的智能分析
✅ 核心功能已完成 - 系统已可投入实际使用
✅ Agent集群实现 - 6个专业Agent全部实现
✅ 质量保证机制 - 完整的评估和验证系统
✅ 工具链完整 - CLI、API、示例全部就绪
✅ 文档完善 - 详细的使用指南和技术文档
如有问题或建议,请在GitHub Issues中提出。
RepoMind v1.0 - 单仓库知识库AI Agent系统已就绪!🚀