Repo 体检(免费版)
对任意 GitHub 公开仓库做六维体检,输出百分制评分 + 等级 + 许可证商用风险分级。
数据实时取自 GitHub 公开 API,本机计算,不上传任何数据。
何时使用
- 引入一个开源库之前,先看它健不健康(还活跃吗?有测试吗?许可证能商用吗?)
- 团队开源治理:批量盘点内部依赖的上游仓库状态
- 技术选型对比:把候选仓库各跑一遍,横向比较得分
六个维度怎么算分
| 维度 | 满分 | 看什么 |
|---|---|---|
| 活跃度 | 25 | 最近一次推送距今(<30 天满分) |
| 社区热度 | 25 | star / fork 数量 |
| 文档完备 | 20 | 有 README、有 LICENSE |
| 工程规范 | 20 | 有测试、有 CI、有依赖清单 |
| Issue 健康 | 10 | 未关闭 issue 与提交量之比 |
等级:A(≥80)/ B(≥60)/ C(≥40)/ D(<40)。
许可证风险分级:permissive(MIT/Apache 等,可放心商用)/
weak-copyleft(LGPL 等,注意传染边界)/ strong-copyleft(GPL/AGPL,包装商用需谨慎)/
unknown(没写许可证 = 默认保留所有权利,别乱用)。
怎么用
# 传 owner/repo
python3 scripts/repo_checkup_cli.py psf/requests
# 也支持完整 URL
python3 scripts/repo_checkup_cli.py https://github.com/psf/requests
输出 JSON(评分、分项、语言构成、许可证风险、体检备注),可直接交给 Agent 继续解读。
真实示例
$ python3 scripts/repo_checkup_cli.py psf/requests
{
"repo": "psf/requests",
"basic": {"stars": 54535, "license": "Apache-2.0", "last_push_days_ago": 11, ...},
"score": {"total": 100, "grade": "A"},
"deep": {"license_risk": "permissive", "issue_health": "healthy", ...}
}
octocat/Hello-World → 42 分 / C 级(issue_health=backlogged),区分度真实有效。
边界说明
- 只支持公开仓库;私有仓库、已被删除或改名的仓库会返回
not_found - 未设 GitHub Token 时受匿名限额约束(60 次/小时/IP),批量体检请分批
issue_health为粗略口径(open_issues 数含 PR)