GitHub Hot Board

io.github.JKWY01由 GitHub 账号 JKWY01 发布v2.1.0更新于 Oct 31, 2026

GitHub hot-repo leaderboards: snapshots, movers, rank history. Read-only JSON, hourly batches.

已验证Streamable HTTP可网页运行网页搜索与抓取开发者工具数据与分析

概览

AI 生成的概览

以只读方式通过 MCP 获取 GitHub 火线榜的热门仓库榜单、排名变动、仓库档案与逐小时名次和星数历史。

可以做什么
  • 列出十个榜单及其口径、页面地址与 JSON 接口
  • 获取某个榜单的前 N 名,含名次、Star、Fork、Issue、语言与描述
  • 查看过去 24 小时内在某榜单上真实发生名次变动的仓库
  • 查询单个仓库的 Star、Fork、多语言描述、当前总榜名次与数据新鲜度
  • 按 owner/name 或关键词搜索站点收录的仓库库
  • 读取某仓库在某榜单上的逐小时名次与星数时间序列
适用场景
适合让助手汇报 GitHub 开源趋势、周榜月榜涨星、名次变动或某仓库的名次历史,而无需抓取网页,也不消耗 GitHub API 配额。
运行要求
远程 Streamable HTTP 端点;未声明需要认证、环境变量或请求头。数据来自站点自有数据集,客户端无需 GitHub 令牌。
安装前请注意
只读且不索取凭据,但数据来自站点自有快照,批次约每 30 分钟至 6 小时刷新一次,数字可能落后于 GitHub 实时页面。部分榜单在采用兜底口径时会标注降级,黑红榜是结构化启发式而非情感分析。从未上榜的仓库不会出现在搜索与查询中。限流为每 IP 每分钟 60 次。

安装

在 SourceWeft 中

  1. 打开 控制台中的 GitHub Hot Board,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.JKWY01%2Fgithub-hot-board/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "github-hot-board": {
      "type": "http",
      "url": "https://git.vaiox.xyz/api/mcp"
    }
  }
}

README

GitHub 火线榜 · GitHub Hot Board

English

GitHub 排行榜 · 趋势榜 · 飙升榜(周榜 / 月榜 / 总榜 / 黑马 / 里程碑),中英文双语界面,每 6 小时自动更新:https://git.vaiox.xyz

十个视角的 GitHub 开源热榜。数据只有公开数据一种来源,口径贴在每一页上,中英文双语,站点刷新每 60 秒一次。

本周飙升 Top 10 · 打开完整榜单 →

#项目累计 Star本周新增 Star
1morluto/rea407.6k34.5k
2debpalash/VoiceStudio94.2k11.0k
3cloudflare/security-audit-skill52.7k10.7k
4Gathin23/cleanyourtv37.6k9.8k
5pbakaus/impeccable95.2k9.7k
6deepseek-ai/deepseek-harness265.8k6.3k
7stablyai/orca110.1k6.3k
8Zagitta/gpu-unlock8.5k5.6k
9affaan-m/ECC292.7k5.4k
10DietrichGebert/ponytail180.1k5.3k

本月飙升 Top 10 · 打开完整榜单 →

#项目累计 Star本月新增 Star
1morluto/rea407.6k41.7k
2Gathin23/cleanyourtv37.6k13.7k
3cloudflare/security-audit-skill52.7k13.4k
4debpalash/VoiceStudio94.2k12.5k
5pbakaus/impeccable95.2k10.2k
6peach-mitao/peach12.0k9.8k
7deepseek-ai/deepseek-harness265.8k7.6k
8Ebony-Vinyl/dsh-our-free-model44.2k7.5k
9stablyai/orca110.1k7.4k
10DietrichGebert/ponytail180.1k6.8k

累计 Star Top 10 · 打开完整榜单 →

先说三件不掺假的事:

  • 不伪造数据。榜单页面写的是哪种口径,数出来就是哪种口径;口径失效时页面明示,不悄悄换数。
  • 不碰付费数据。只用 GitHub Search API 和官方 trending 页,不需要任何特殊权限。
  • 不装没有的历史。往日榜从 2026-10-18 起积累,之前的日期不提供。

十个榜

#榜单来源口径
1总榜 · 史上最强Search API累计 Star 降序(排除 fork)
2周榜 · 本周点火本站快照自算 + 官方 Trending 周页互证近 7 天真实星增量降序(自有 6 小时快照差);与官方页重叠者标"官方同款",官方有而本站缺的列"新面孔"
3月榜 · 本月风潮本站快照自算 + 官方 Trending 月页互证同上,月窗口
4年度新星榜Search API今年创建,按累计 Star 排
5潜力榜 · 本周真涨本站快照自算近 7 天真实星增 Top 300(不论新旧),行内附增速百分比;星速层不可用时退旧日均口径并标注
6黑马榜 · 被雪藏候选本站快照自算近 7 天增速百分比 Top 100(同涨 1000 星,500 星仓 +200% 排在 10 万星仓 +1% 前);首日 <10 星剔除
7被忽视榜 · 活跃冷清Search API近 30 天持续 push、Star 100–800,升序
8黑红榜 · 争议指数Search API 衍生(Fork×2 + Issue)÷Star,候选池 = 总榜前 300 中 ≥3000 星者。结构化启发式,不是情感分析
9Fork 之王Search API累计 Fork 降序
10实时里程碑 · 破星直播Search API × 41k / 10k / 50k / 100k 阈值 ±80 星的冲刺者,前端 60 秒轮询,跨线撒彩带

总榜、周榜、月榜有语言分榜(javascript / typescript / python / go / rust / java / c / c++),URL 形如 /zh/boards/weekly/python。c++ 在路径里写成 /cpp,因为 + 进路径段会在路由匹配层直接死掉——查询时仍用 GitHub 原生语言名,旧链接由 proxy.ts 在路由前 308 归一。

站点语言(16 种)

/en /zh /zh-TW /ja /ko /de /fr /es /pt /it /ru /uk /pl /tr /vi /id,根路径默认进英文(带 Accept-Language 时按浏览器语言挑)。全部 UI 文案逐语种成套(app/[lang]/dict/),SEO 每页带全语 hreflang + canonical,sitemap 覆盖 16 语 × 全榜。

行描述与抽屉 README 按站点语言取仓库自身的本地化版本(切换器解析 + 命名候选两级),读不到就诚实回退仓库原文。描述缓存在 repo_desc 表(仓库粒度),两条填充通道:浏览行为驱动(访客打开哪个语言就近补上,60 秒轮询自动送达)与同步期主动收割(每轮同步尾部按热度序扫描全部榜头仓库,一次拿齐 15 种语言,探测结论 30 天免重试;站点读取路径依旧只查库)。

The site ships in 16 languages (default English). UI copy is fully translated per locale; row descriptions and the in-drawer README follow the repo's own localized files when available, falling back to the original text. Descriptions are cached per repo (repo_desc) and filled two ways — on demand by visitors, and proactively at the tail of every sync run (one sweep per repo covers all 15 locales; resolved probes are skipped for 30 days). The serving path always reads from the database only.

数据架构

一句话:卖货的通道不进货。

GitHub ──(只有同步任务碰)──> Postgres(Neon 或自托管)──(站点只 SELECT)──> 访客
  • 同步任务(lib/sync.ts)顺序抓全部 34 个键(10 榜 + 语言分面),写两张表:
    • board_head:每个键的最新一拍,站点读它。插新的,前拍自然被覆盖。
    • board_snapshots:逐仓逐名次的明细行,本次同步是历史事实的存档。
  • 触发方式:npm run sync(本地,需站点在跑)、POST /api/sync(带 CRON_SECRET)、 GitHub Actions 每 6 小时一轮(.github/workflows/sync.yml)。
  • 站点渲染路径对 GitHub 零请求。降级链:数据库 → 磁盘快照(本地 .data/,重建时不打 GitHub)→ 现场拉取。同步停太久时数据会旧,但不会假。
  • Trending 页被风控挡住时,周榜/月榜内部自行换到 Search 口径补命,页面上如实标注,不糊弄。

往日榜

每次同步把完整榜单拍进 board_snapshots,所以任意一天切任意名字都能回看:

/zh/history/overall/2026-10-19

入口在 footer(往日榜 → 总榜)。历史拍只存排名、仓库和数字,不存实时简介;数据保留 SNAPSHOT_RETENTION_DAYS(默认 60 天)。页面 noindex,属工具页,不在 sitemap 里占道。

本地跑起来

bash
npm installcp .env.example .env.local# 填 GITHUB_TOKEN / NEXT_PUBLIC_SITE_URL / DATABASE_URL(见下表)npm run dev
环境变量必填?说明
GITHUB_TOKENS可选多账号池:GITHUB_TOKENS=ghp_a,ghp_b,ghp_c(逗号/空白分隔),一枚烧完自动换下一枚,取数节奏随池子规模等比放宽;不填则回落单枚 GITHUB_TOKEN,都没有走匿名降速
GITHUB_TOKEN建议填classic PAT(不勾任何权限)或多枚时令其作为单枚兜底。Search API 从 60 次/时升到 5000 次/时
NEXT_PUBLIC_SITE_URL部署时填canonical / sitemap / OG 用的最终域名
DATABASE_URL部署时填Neon Postgres 连接串。表首次写入时自动建
CRON_SECRET部署必填/api/sync /api/snapshot /api/refresh /api/dbcheck 的门锁,只认 Authorization: Bearer <secret> 头(常数时间比较;不再支持 ?secret= query,密钥不该进访问日志)。不配置时这些端点仅本地回环可用——公网部署务必配上;?only=榜名 单榜重灌、?boards=0 只跑描述收割照旧

本地调试开关:GHB_FILL_DEBUG=1 看读路(数据库命中还是水合),GHB_SQL_DEBUG=1 看发往库的 SQL。

部署

  1. 在 Neon 建个项目,拿 Pooled connection 连接串。
  2. Vercel 导入仓库,配四个环境变量(上表 + CRON_SECRET 自定义一个长随机串)。
  3. 仓库 Actions secrets 配 SYNC_URL(你的域名 /api/sync)和 CRON_SECRET,6 小时一次的同步就转起来了。
  4. https://域名/robots.txt 里已有 sitemap 指向;搜索引擎控制台提交一次即可。

自托管也成立(本项目生产即此形态):npm run build && npm run start,数据面只要求能连上 Postgres——Neon 托管或自建实例(Docker/1Panel 等)均可,对 Host/Vercel 无偏好。自建库建议配每日 pg_dump 滚动备份,参考 scripts/ghb-backup.sh(每日一备、保留最近 7 份,cron 挂机即可)。

诊断与运维

bash
npm run sync                       # 本地手动拉一轮(30 榜,~4 分钟,一次重试)curl -H "Authorization: Bearer $CRON_SECRET" https://域名/api/dbcheck   # 库状态:head 键数、明细行数gh run watch                       # 看 Actions 同步跑完没有

同步是顺序慢跑(为控边界与限流),一轮约 4 分钟;6 小时一次绰绰有余。明细行过 60 天自动清,board_head 只留最新,不需要人手干预。

徽章 · 状态页 · 跨线提醒

  • 上榜徽章:项目被任何一张榜收录后,维护者都可以把名次徽章贴进自家 README——徽章自动显示当前最好名次(现役 / 曾上榜 / 未上榜三态),点击回到站内档案页。这也是本站唯一的外链请求:

    markdown
    [![GitHub 火线榜](https://git.vaiox.xyz/api/badge/{owner}/{repo}.svg)](https://git.vaiox.xyz/zh/repo/{owner}/{repo})

    档案页(任意 /zh/repo/{owner}/{repo})顶部有徽章预览与一键复制的嵌入码。

  • 数据健康页:/{lang}/status(footer 入口)—— 34 个键各自的来源、新鲜度、降级状态,与站点读路径同一张表,不涂脂抹粉。

  • 跨线提醒(可选):配置 VAPID_PUBLIC_KEY / VAPID_PRIVATE_KEY 后,关注页出现"跨线提醒"开关 —— 无账号 Web Push,关注的仓库向上跨过 1k/10k/50k/100k 时推送;未配置则整条链路静默不存在。订阅只存推送端点与关注列表,退订即刻删除。

市场分析(可选,与站点无关)

站点只服务榜单本身;历史维度的深挖走独立脚本 scripts/market.mjs,数据来自 GH Archive 公共镜像(约 10% 抽样,看形状用):

bash
node scripts/market.mjs repo vercel/next.js --days 60   # 单仓库爆发日/拐点(自动兼容改名)node scripts/market.mjs track agent --months 12          # 赛道趋势(新星数/活跃仓库数)node scripts/market.mjs risers --days 30 --limit 15      # 涨星火箭榜

顺带一个探明的平台事实(2026-10):GitHub 已把 REST stargazers/subscribers 明细端点平台级撤下,逐星时间线只存在于事件归档里。仓库改名后归档仍按旧名存,查询需新旧名都算——repo 命令已处理。

如何新增一个榜

  1. lib/boards.ts:写一个 getXxxData(),在 getBoardData 分发,BOARD_META 登记排行与排序语义。
  2. app/[lang]/dictionaries.ts:补 BoardCopy(名称 / 口径 / FAQ,中英都要)。
  3. 想有语言分面就在 BOARD_META 开 facets。
  4. 路由、导航、footer、sitemap 随 BOARD_ORDER 自动生效,不手改。

MCP server(agent-native 数据口)

榜单数据以 MCP 协议直供 agent,不依赖爬虫路径:

  • URL:https://git.vaiox.xyz/api/mcp(Streamable HTTP,无状态 JSON,最新 protocolVersion 2026-07-28,老客户端自动降档)
  • 工具(只读 + 结构化输出):list_boards / get_board / get_board_movers / get_repo / search_library(库内关键词搜索)/ get_repo_history(仓库级小时名次 + 星数时间线,自有无一物快照序列独供,别的服务拿不出这份数)
  • 全部零 GitHub 配额消耗;限流 60 次/分钟/IP;数据一小时一拍,别连点
  • 接入示例:Claude Code claude mcp add --transport http github-hot-board https://git.vaiox.xyz/api/mcp

已知限制,如实说

  • Trending 数字在缓存期内(同步后 ≤6 小时)可能与官方页面存在偏差。
  • Search API 单查询 1000 条上限;总榜展示 Top 500,头部故事全覆盖。
  • 潜力/黑马榜主口径 = 本站快照实测(近 7 天星数差 / 增速百分比,星速层随总榜收盘);旧"90 天斜率"口径降为兜底,启用时会标注 degraded。
  • 黑红榜的候选池是总榜(前 300)中 ≥3000 星的仓库,即"明星仓内部"的争议对比;open_issues 口径含 PR(GitHub 字段如此,页面已明示)。请勿读成"情感评分"。
  • 黑马榜按斜率取前 100(页面口径文案同此)。
  • 里程碑跨线检测发生在页面停留期间,服务器不留历史状态;想看"历史上谁跨过 1k",等往日榜攒几天再回看。
  • 往日榜当前只存基准口径(全语言),语言分面的历史拍在库里,页面上还没有入口。
  • 本项目与 GitHub 无官方关系,榜单仅为研究参考。

来源:README.md,提交 fb48747

工具

6

list_boards

List boards

The 10 leaderboards on GitHub Hot Board: what each ranks, its canonical page URL and its JSON API endpoint.

无需输入参数。

get_board

Get board snapshot

Top-N rows of one leaderboard (rank, stars, forks, issues, language, description). Refreshes in hourly batches; generatedAt is the batch stamp (fetch once per hour).

输入参数slug必填limitlanguage

get_board_movers

Get 24h movers

Repositories that genuinely moved rank on a board within the last 24 hours, from our own hourly snapshot series (the same data as the on-site movers strip). Positive climb = went up.

输入参数slug必填limit

get_repo

Get repository record

Library record for one repository: stars, forks, description in up to 16 UI languages (keys are locale codes), current overall-board rank if listed, pushedAt, and asOf freshness stamps. Served from our own dataset (no live GitHub API call); repos outside the library return not-in-library.

输入参数lgfull必填

search_library

Search the library

Search repositories tracked by this site, by owner/name (exact wins) or by keyword over descriptions (16 languages). Library-only: repos never listed on a board are not here. No live GitHub calls.

输入参数q必填limit

get_repo_history

Get rank history

Time series of one repository on one board (default overall): hourly rank + star points from our own snapshot series. Our unique moat — this data exists on no other service. Empty result means the repo was not tracked in the window.

输入参数daysfull必填board

版本历史

1
  1. v2.1.0最新Oct 24, 2026

评分

已满足适用检查项的 90%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。