Files
Hermes-Skills/github-trending/references/github-api-browser-fallback.md
T
Hermes Skills Manager 6770bc9b9d Initial commit: Hermes Agent skills collection
- Trading skills (OKX, dividend, lottery, quantitative)
- Creative skills (ASCII art, diagrams, video)
- Development skills (GitHub, debugging, TDD)
- Research skills (arXiv, blog monitoring)
- Productivity skills (email, documents, notes)
- MCP integration skills
- Custom user skills
2026-07-05 02:31:15 -04:00

3.4 KiB
Raw Blame History

GitHub API Browser Fallback — 当 terminal/curl 不可用时

核心技巧

用 browser_navigate 直接访问 GitHub API(无需认证的公开端点),然后 browser_console 提取 JSON。

每次操作的三步模式

1. browser_navigate → API URL
2. browser_console  → JSON.parse(document.body.innerText).items.map(...)
3. 处理数据,再 navigate 下一个查询

推荐查询模板

查询 1:近7天新建高星项目(主力)⭐ 最重要

https://api.github.com/search/repositories?q=created:>YYYY-MM-DD+stars:>200&sort=stars&per_page=20

将 YYYY-MM-DD 替换为7天前日期。⚠️ 阈值不要低于 stars:>200,否则垃圾仓库淹没结果。

查询 2:老牌大项目近期活跃(补充上下文)

https://api.github.com/search/repositories?q=pushed:>YYYY-MM-DD+stars:>5000&sort=stars&per_page=15

发现大项目的重大更新(如新版本发布)。提供"老牌活跃"维度,与查询1的"新项目爆发"互补。

查询 3:近30天快速增长项目(可选)

https://api.github.com/search/repositories?q=created:>YYYY-MM-DD+stars:>500&sort=stars&per_page=20

查询 4:特定语言趋势(按需)

https://api.github.com/search/repositories?q=language:rust+created:>YYYY-MM-DD+stars:>100&sort=stars&per_page=15

⚠️ 避免:极新鲜 + 低阈值查询

❌ created:>2天前+stars:>50   → 几乎全是垃圾仓库

2026-06-19 实测:created:>2026-06-17+stars:>50 返回的20个结果中,18个是模板化垃圾仓库(Star数全是110-121,0 forks,描述模板化)。参见 references/spam-detection.md 中的实战案例。

JS 提取模板(每个查询复用,必须用 IIFE 包裹)

// ⚠️ 必须用 IIFE 包裹,避免变量重复声明错误(browser_console 共享 JS 上下文)
(function(){
  var d = JSON.parse(document.body.innerText);
  return d.items.map(function(r) {
    return {
      name: r.full_name,
      desc: (r.description||'').slice(0,200),
      stars: r.stargazers_count,
      lang: r.language,
      created: r.created_at.slice(0,10),
      forks: r.forks_count,
      topics: (r.topics||[]).slice(0,6)
    };
  });
})()

三查询实战 Playbook(2026-06-19 验证)

当 trending 页面完全不可用时,用以下三个查询组合获取完整日报数据:

步骤 查询 数据量 用途
① created:>7天前+stars:>200 ~15-20 个 新项目爆发(主数据源)
② pushed:>昨天+stars:>5000 ~15 个 老牌活跃项目(上下文补充)
③ created:>14天前+stars:>300 ~15 个 近两周中等阈值(补漏)

执行顺序:每个查询独立 browser_navigate → browser_console 提取 → 再下一个。

合并策略:三轮结果按 full_name 去重后,选 TOP 10 分析。查询①的新项目优先,查询②的大项目作为趋势补充。

注意:不要用 created:>2天前+stars:>50,该查询几乎全是垃圾仓库(见上方警告)。

注意事项

  • GitHub API 未认证限速:10 requests/minute,足够完成日报
  • 每个查询需要单独 browser_navigate,不要在同一个 page 做多次 fetch
  • API 返回的 stargazers_count 是总星数,不是日增——需要通过 created 日期和星数推算热度
  • 对于真正的"今日增速"数据,API 无法直接提供,需要对比不同时间点的查询结果