这是一个本地可运行的 Python CLI 工程,用来从 GitHub 搜索热门的 Codex / AI skills 仓库,评估安全风险,自动分类,并生成 Markdown 榜单和 JSON 数据。
- 搜索 GitHub 上与
skill、codex、agent、ai相关的仓库 - 过滤明显不相关的结果
- 计算热门度分数
- 扫描公开内容中的安全风险信号
- 按用途自动分类
- 生成总榜、分类榜和结构化 JSON 输出
- Windows PowerShell
- Python 3.11 及以上
- 当前项目已验证可通过
py启动器运行
检查 Python:
py --versioncd D:\code\自动skills搜索复制示例文件并填写 token:
Copy-Item .env.example .env然后编辑 .env,填入:
GITHUB_TOKEN=github_pat_xxxxxxxxxxxxxxxxxxxx说明:
- 公开仓库场景建议使用
Fine-grained personal access token - 当前项目只读 GitHub 数据,不需要写权限
- 没有 token 也能运行,但 GitHub 限流会让搜索覆盖变少
更详细的 token 说明见 TOKEN_SETUP.md。
这是最稳妥的运行方式,不依赖安装:
$env:PYTHONPATH='src'
py -m hot_skills_search --limit 20 --per-category-limit 5 --include-risk-details运行成功后会在 output/ 目录生成:
hot-skills.mdhot-skills.json
$env:PYTHONPATH='src'
py -m hot_skills_search --help$env:PYTHONPATH='src'
py -m hot_skills_search$env:PYTHONPATH='src'
py -m hot_skills_search --limit 30 --per-category-limit 8$env:PYTHONPATH='src'
py -m hot_skills_search --include-risk-details$env:PYTHONPATH='src'
py -m hot_skills_search --candidate-pool-size 60$env:PYTHONPATH='src'
py -m hot_skills_search --output-dir custom-output如果你希望在独立环境里执行:
py -m venv .venv
.\.venv\Scripts\Activate.ps1
py --version然后继续用上面的 py -m hot_skills_search 方式运行。
如果你希望使用脚本命令 search-skills:
py -m pip install -e .
search-skills --limit 20 --per-category-limit 5 --include-risk-details如果本机没有启用 pip,可以继续使用 py -m hot_skills_search,不影响功能。
文件:output/hot-skills.md
包含:
- 生成时间
- 全局热门总榜
- 分类总览
- 各分类 Top 榜单
- 风险说明和评分说明
文件:output/hot-skills.json
每条记录至少包含:
- 仓库名和链接
- Stars / Forks
- 更新时间
- 热门度分数
- 风险等级和风险原因
- 分类和分类依据
- 命中的相关性关键词
默认配置文件位于:
config/default_profile.json
可以在这里调整:
- 搜索关键词
- 排除词
- 热门度权重
- 风险规则与阈值
- 分类关键词
如果你新增了其他配置文件,例如 config/custom.json,可以这样运行:
$env:PYTHONPATH='src'
py -m hot_skills_search --query-profile custom$env:PYTHONPATH='src'
py -m unittest discover -s tests -v常见原因:
- 没有配置
GITHUB_TOKEN - GitHub 未认证限流
- 当前搜索词比较严格
- 候选池过小
可以尝试:
- 配置
.env中的GITHUB_TOKEN - 增大
--candidate-pool-size - 调整
config/default_profile.json
当前分类采用关键词规则,不是模型推理。可以直接修改 config/default_profile.json 里的 categories。
当前风险判断只基于公开文本中的静态信号。你可以在 config/default_profile.json 中调整:
risk_rulesrisk_thresholds
这是 PowerShell 编码显示问题,通常不影响程序生成的文件内容。可以优先直接打开 output/hot-skills.md 查看结果。