OpenCollab-Insight 是一个基于 OpenDigger 数据和 EasyGraph 图分析能力的开源协作网络分析平台。通过深度挖掘开发者协作关系,结合 MaxKB 智能知识库,为开源社区管理者提供:
- 直观的社区健康度分析
- 核心贡献者识别与排名
- 协作网络可视化图谱
- 智能问答助手
本项目是 "OpenRank杯"开源数字生态分析与应用创新赛 的参赛作品。
- 力导向图展示开发者协作关系
- 节点大小反映 OpenRank 贡献度
- 支持拖拽、缩放、高亮关联节点
- 多种布局模式(力导向/环形)
- PageRank 算法识别关键贡献者
- 介数中心性分析识别"桥梁"节点
- 多维度雷达图对比 Top 贡献者
- 贡献趋势追踪
- 综合健康度评分(0-100)
- 五维度分析:活跃度、多样性、可持续性、响应速度、增长趋势
- Bus Factor 风险预警
- 优化建议生成
- 自然语言查询社区状态
- 基于 MaxKB 的知识库问答
- 快捷问题模板
- 实时分析结果解读
┌─────────────────────────────────────────────────────────────┐
│ Frontend │
│ React 18 + TailwindCSS + ECharts + Lucide Icons │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Backend API │
│ FastAPI + Pydantic + HTTPX │
└─────────────────────────────────────────────────────────────┘
│
┌───────────────┼───────────────┐
▼ ▼ ▼
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ OpenDigger │ │ EasyGraph │ │ MaxKB │
│ (数据源) │ │ (图分析) │ │ (智能问答) │
└─────────────────┘ └─────────────────┘ └─────────────────┘
| 层级 | 技术 | 说明 |
|---|---|---|
| 前端 | React 18, TailwindCSS, ECharts | 现代化响应式 UI |
| 后端 | FastAPI, Python 3.11+ | 高性能异步 API |
| 数据源 | OpenDigger API | 开源项目指标数据 |
| 图算法 | EasyGraph | PageRank, 社区发现等 |
| 智能问答 | MaxKB | 知识库问答系统 |
| 部署 | Docker, Nginx | 容器化一键部署 |
# 克隆项目
git clone https://github.com/your-username/OpenCollab-Insight.git
cd OpenCollab-Insight
# 一键启动
docker-compose up -d
# 访问应用
# 前端: http://localhost:3000
# API: http://localhost:8000/docs# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,填入你的 API 密钥
# GEMINI_API_KEY=your_actual_api_key_here
# GEMINI_BASE_URL=https://api.example.com/v1
# GEMINI_MODEL=gemini-pro- 请勿将
.env文件提交到 Git - API 密钥应通过环境变量传递
.env已被.gitignore排除
cd backend
pip install -r requirements.txt
# 确保 .env 文件在项目根目录
python main.py
# 或使用 uvicorn
uvicorn main:app --reload --port 8000前端已集成到后端,直接访问:
http://localhost:8000
OpenCollab-Insight/
├── backend/ # 后端服务
│ ├── api/ # API 路由
│ ├── services/ # 业务逻辑
│ │ ├── opendigger_service.py # OpenDigger 数据服务
│ │ └── graph_service.py # EasyGraph 图分析
│ ├── main.py # FastAPI 入口
│ ├── requirements.txt # Python 依赖
│ └── Dockerfile
├── frontend/ # 前端应用
│ ├── src/
│ │ ├── components/ # React 组件
│ │ │ ├── Dashboard.js # 总览仪表盘
│ │ │ ├── NetworkGraph.js # 协作网络图
│ │ │ ├── ContributorRanking.js # 贡献者排行
│ │ │ ├── HealthMetrics.js # 健康度分析
│ │ │ └── ChatAssistant.js # 智能助手
│ │ ├── data/ # 模拟数据
│ │ └── App.js # 主应用
│ ├── package.json
│ └── Dockerfile
├── docs/ # 文档
│ └── design_proposal.md # 设计方案
├── docker-compose.yml # Docker 编排
├── LICENSE # MIT 许可证
├── CONTRIBUTING.md # 贡献指南
└── README.md
本项目使用以下开源数据源:
- OpenDigger: https://github.com/X-lab2017/open-digger
- OpenRank 指标
- 开发者活跃度
- 仓库协作数据
本项目基于以下开源项目构建:
| 项目 | 用途 |
|---|---|
| OpenDigger | 开源数据指标 |
| EasyGraph | 图算法分析 |
| MaxKB | 智能问答 |
本项目采用 MIT 许可证。
欢迎贡献!请查看 贡献指南。
OpenCollab-Insight 2025
Made with ❤️ for OpenSODA 2025