Install
openclaw skills install github-repo-evaluatorGitHub 项目调研与对比工具。当用户要求'搜索 GitHub 项目'、'对比开源项目'、'选一个 XX 工具'、'哪个项目最受欢迎/活跃'、'评估哪个好'、'怎么选'等场景时使用。通过 GitHub API 搜索、采集数据、系统化对比,输出结构化推荐报告。
openclaw skills install github-repo-evaluator当用户提出以下类型需求时,激活本 skill:
每个项目从以下六个维度评估,最终输出对比表和推荐:
| 维度 | 权重 | 说明 |
|---|---|---|
| ⭐ Stars | 20% | 社区认可度,越大越成熟 |
| 🕐 最近更新 | 25% | 最后一次 commit 时间,越近越活跃 |
| 🐛 Issues | 15% | open issues 数量(太多说明不稳定) |
| 📖 功能完整性 | 25% | README 中功能列表的覆盖度 |
| 🔮 未来规划 | 15% | 有无 roadmap、changelog、release 说明 |
| 🏗️ 技术栈 | 加分项 | 技术栈是否现代、文档是否完整 |
# 基础搜索,按 stars 排序
curl -s "https://api.github.com/search/repositories?q=关键词&sort=stars&order=desc&per_page=15"
# 如果有多个相关关键词,用 + 连接
curl -s "https://api.github.com/search/repositories?q=openclaw+ui&sort=stars&order=desc"
# 也可用 GitHub CLI
gh search repos "openclaw dashboard" --sort=stars --limit 15
输出字段:full_name, description, stargazers_count, language, open_issues_count, pushed_at, updated_at
对候选项目逐个执行:
# 单项目基础信息
curl -s "https://api.github.com/repos/owner/repo"
# 最后一次 commit(判断活跃度)
curl -s "https://api.github.com/repos/owner/repo/commits?per_page=1"
# 最近 3 个 release
curl -s "https://api.github.com/repos/owner/repo/releases?per_page=3"
# 最近 5 个 open issues(用于判断维护状态)
curl -s "https://api.github.com/repos/owner/repo/issues?state=open&sort=created&per_page=5"
# 获取 README 内容
curl -s "https://api.github.com/repos/owner/repo/readme" | python3 -c "
import sys,json,base64
d=json.load(sys.stdin)
print(base64.b64decode(d['content']).decode('utf-8'))
"
解析要点:
构建对比表:
| 维度 | 项目A | 项目B | 项目C |
|----------|--------------------|--------------------|--------------------|
| Stars | 100+ | 1000+ | 500+ |
| 最后更新 | 近30天内 | 近7天内 | 近30天内 |
| 语言 | TypeScript/Node | TypeScript/Node | TypeScript/Node |
| Issues | <50 | <200 | <100 |
| 部署方式 | Docker/npm | App/Docker | Docker |
| 核心功能 | 监控/安全 | 全功能工作台 | 沙箱/协作 |
📌 上表为通用模板骨架,实际对比时替换为真实数据。
根据用户明确表达的需求和隐含需求,做功能匹配:
用户需求 → 必须有 → 最好有 → 加分项
示例: 用户说要"管理 agent","不用命令行","易扩展"
最终输出包含:
优先级顺序:
快速筛选公式:
# 查看 stars > 100 且 最后更新 < 30天 的项目
curl -s "https://api.github.com/search/repositories?q=关键词+stars:>100&sort=updated&order=desc" | \
python3 -c "import sys,json; d=json.load(sys.stdin); [print(f\"{r['full_name']} | {r['stargazers_count']}⭐ | {r['pushed_at'][:10]}\") for r in d['items'][:10]]"
直接抓两个项目的关键数据并列对比,重点看:
必查项:
# 📊 GitHub 项目调研报告
## 调研背景
用户需求:{用户说的话}
## 候选项目概览
| 项目 | ⭐ Stars | 🕐 最近更新 | 🐛 Issues | 语言 |
|------|----------|-------------|-----------|------|
| ... | ... | ... | ... | ... |
## 深度对比
### 1. [项目名]
**定位:** 一句话描述
**优点:**
**缺点:**
**适合场景:**
### 2. [项目名]
...
## 推荐结论
🥇 **最佳选择:项目名**
原因:针对用户需求的第一选择
🥈 **备选:项目名**
原因:适合 XX 场景
❌ **不推荐:项目名**
原因:维护状态不佳 / 功能不符合需求
---
## 下一步建议
- 如需安装,提供安装步骤
- 如需进一步调研,指出需要确认的问题
gh api 或等待