关于 GitHub Hot Board
GitHub Hot Board 提供 GitHub 热门与趋势仓库的只读排行榜,包含快照、排名变化和历史名次。它基于公开数据,为跟踪开源项目的用户提供榜单和结构化数据,也可通过 MCP 服务访问。
主要功能
- 01查看十种排行与趋势榜
- 02浏览周榜、月榜和总榜
- 03追踪仓库名次与 Star 历史
- 04搜索仓库并查看详情
- 05查看排名变化和里程碑候选
适用场景
- 01发现近期热门的开源仓库
- 02追踪仓库排名随时间的变化
- 03比较仓库的周度和月度趋势
MCP 相关
其无状态 Streamable HTTP MCP 服务提供只读工具,用于列出和获取榜单、排名变化、仓库详情、库内搜索及仓库历史。请求使用服务存储的数据,不消耗 GitHub 配额。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://git.vaiox.xyz/api/mcpclaude mcp add --transport http jkwy01-github-hot-board https://git.vaiox.xyz/api/mcp{"mcpServers":{"jkwy01-github-hot-board":{"type":"http","url":"https://git.vaiox.xyz/api/mcp"}}}在 Cursor 中打开{"servers":{"jkwy01-github-hot-board":{"type":"http","url":"https://git.vaiox.xyz/api/mcp"}}}在 VS Code 中打开{"mcpServers":{"jkwy01-github-hot-board":{"type":"http","url":"https://git.vaiox.xyz/api/mcp"}}}{"mcpServers":{"jkwy01-github-hot-board":{"serverUrl":"https://git.vaiox.xyz/api/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
详细介绍
来自项目 READMEGitHub 火线榜 · GitHub Hot Board
GitHub 排行榜 · 趋势榜 · 飙升榜(周榜 / 月榜 / 总榜 / 黑马 / 里程碑),中英文双语界面,每小时自动更新:https://git.vaiox.xyz
十个视角的 GitHub 开源热榜。数据只有公开数据一种来源,口径贴在每一页上,中英文双语,站点刷新每 60 秒一次。
本周飙升 Top 10 · 打开完整榜单 →
| # | 项目 | 累计 Star | 本周新增 Star |
|---|---|---|---|
| 1 | cloudflare/security-audit-skill | 44.2k | 11.2k |
| 2 | morluto/rea | 378.1k | 88.2k |
| 3 | anthropics/claude-plugins-official | 44.3k | 4.3k |
| 4 | ruvnet/ruflo | 79.0k | 3.3k |
| 5 | stablyai/orca | 104.9k | 9.5k |
| 6 | anomalyco/opencode | 221.0k | 6.8k |
| 7 | cursor/plugins | 13.9k | 1.9k |
| 8 | android/skills | 9.6k | 1.5k |
| 9 | anthropics/knowledge-work-plugins | 32.6k | 2.6k |
| 10 | heygen-com/hyperframes | 71.4k | 5.6k |
本月飙升 Top 10 · 打开完整榜单 →
| # | 项目 | 累计 Star | 本月新增 Star |
|---|---|---|---|
| 1 | debpalash/VoiceStudio | 84.8k | 48.3k |
| 2 | heygen-com/hyperframes | 71.4k | 18.3k |
| 3 | cloudflare/security-audit-skill | 44.2k | 20.6k |
| 4 | paperclipai/paperclip | 106.9k | 25.5k |
| 5 | anthropics/knowledge-work-plugins | 32.6k | 6.6k |
| 6 | NVIDIA/OpenShell | 19.4k | 9.7k |
| 7 | vectorize-io/hindsight | 53.4k | 28.1k |
| 8 | mksglu/context-mode | 32.1k | 8.1k |
| 9 | cursor/plugins | 13.9k | 5.3k |
| 10 | NationalSecurityAgency/ghidra | 93.9k | 14.2k |
累计 Star Top 10 · 打开完整榜单 →
| # | 项目 | 累计 Star | 新增 |
|---|---|---|---|
| 1 | codecrafters-io/build-your-own-x | 556.0k | — |
| 2 | sindresorhus/awesome | 524.1k | — |
| 3 | public-apis/public-apis | 491.9k | — |
| 4 | freeCodeCamp/freeCodeCamp | 457.9k | — |
| 5 | EbookFoundation/free-programming-books | 400.0k | — |
| 6 | openclaw/openclaw | 393.0k | — |
| 7 | morluto/rea | 378.1k | — |
| 8 | donnemartin/system-design-primer | 375.5k | — |
| 9 | nilbuild/developer-roadmap | 370.3k | — |
| 10 | jwasham/coding-interview-university | 363.3k | — |
先说三件不掺假的事:
- 不伪造数据。榜单页面写的是哪种口径,数出来就是哪种口径;口径失效时页面明示,不悄悄换数。
- 不碰付费数据。只用 GitHub Search API 和官方 trending 页,不需要任何特殊权限。
- 不装没有的历史。往日榜从 2026-10-18 起积累,之前的日期不提供。
十个榜
| # | 榜单 | 来源 | 口径 |
|---|---|---|---|
| 1 | 总榜 · 史上最强 | Search API | 累计 Star 降序(排除 fork) |
| 2 | 周榜 · 本周点火 | 官方 Trending 周页 | 官方顺序 + 官方标注的本周新增星数 |
| 3 | 月榜 · 本月风潮 | 官方 Trending 月页 | 同上,月窗口 |
| 4 | 年度新星榜 | Search API | 今年创建,按累计 Star 排 |
| 5 | 潜力榜 · 90 天斜率 | Search API | 近 90 天创建、星数前 300 的工作集内,按 星/天 均速 |
| 6 | 黑马榜 · 被雪藏候选 | Search API | 90 天新仓 Star 30–1500 区间,按斜率取前 100 |
| 7 | 被忽视榜 · 活跃冷清 | Search API | 近 30 天持续 push、Star 100–800,升序 |
| 8 | 黑红榜 · 争议指数 | Search API 衍生 | (Fork×2 + Issue)÷Star,候选池 = 总榜前 300 中 ≥3000 星者。结构化启发式,不是情感分析 |
| 9 | Fork 之王 | Search API | 累计 Fork 降序 |
| 10 | 实时里程碑 · 破星直播 | Search API × 4 | 1k / 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 每 30 分钟一轮(.github/workflows/sync.yml)。 - 站点渲染路径对 GitHub 零请求。降级链:数据库 → 磁盘快照(本地
.data/,重建时不打 GitHub)→ 现场拉取。同步停太久时数据会旧,但不会假。 - Trending 页被风控挡住时,周榜/月榜内部自行换到 Search 口径补命,页面上如实标注,不糊弄。
往日榜
每次同步把完整榜单拍进 board_snapshots,所以任意一天切任意名字都能回看:
/zh/history/overall/2026-10-19
入口在 footer(往日榜 → 总榜)。历史拍只存排名、仓库和数字,不存实时简介;数据保留 SNAPSHOT_RETENTION_DAYS(默认 60 天)。页面 noindex,属工具页,不在 sitemap 里占道。
本地跑起来
npm install
cp .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。
部署
- 在 Neon 建个项目,拿 Pooled connection 连接串。
- Vercel 导入仓库,配四个环境变量(上表 +
CRON_SECRET自定义一个长随机串)。 - 仓库 Actions secrets 配
SYNC_URL(你的域名/api/sync)和CRON_SECRET,30 分钟一次的同步就转起来了。 https://域名/robots.txt里已有 sitemap 指向;搜索引擎控制台提交一次即可。
自托管也成立(本项目生产即此形态):npm run build && npm run start,数据面只要求能连上 Postgres——Neon 托管或自建实例(Docker/1Panel 等)均可,对 Host/Vercel 无偏好。自建库建议配每日 pg_dump 滚动备份,参考 scripts/ghb-backup.sh(每日一备、保留最近 7 份,cron 挂机即可)。
诊断与运维
npm run sync # 本地手动拉一轮(30 榜,~4 分钟,一次重试)
curl -H "Authorization: Bearer $CRON_SECRET" https://域名/api/dbcheck # 库状态:head 键数、明细行数
gh run watch # 看 Actions 同步跑完没有
同步是顺序慢跑(为控边界与限流),一轮约 4 分钟;30 分钟一次绰绰有余。明细行过 60 天自动清,board_head 只留最新,不需要人手干预。
徽章 · 状态页 · 跨线提醒
- 上榜徽章:
https://域名/api/badge/{owner}/{repo}.svg—— shields 风格三态(现役名次 / 曾上榜 / 未上榜),档案页有现成的 Markdown 嵌入代码,作者贴进 README 即回链档案页。 - 数据健康页:
/{lang}/status(footer 入口)—— 34 个键各自的来源、新鲜度、降级状态,与站点读路径同一张表,不涂脂抹粉。 - 跨线提醒(可选):配置
VAPID_PUBLIC_KEY/VAPID_PRIVATE_KEY后,关注页出现"跨线提醒"开关 —— 无账号 Web Push,关注的仓库向上跨过 1k/10k/50k/100k 时推送;未配置则整条链路静默不存在。订阅只存推送端点与关注列表,退订即刻删除。
市场分析(可选,与站点无关)
站点只服务榜单本身;历史维度的深挖走独立脚本 scripts/market.mjs,数据来自 GH Archive 公共镜像(约 10% 抽样,看形状用):
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 命令已处理。
如何新增一个榜
lib/boards.ts:写一个getXxxData(),在getBoardData分发,BOARD_META登记排行与排序语义。app/[lang]/dictionaries.ts:补BoardCopy(名称 / 口径 / FAQ,中英都要)。- 想有语言分面就在
BOARD_META开facets。 - 路由、导航、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 数字在缓存期内(同步后 ≤30 分钟)可能与官方页面存在偏差。
- Search API 单查询 1000 条上限;总榜展示 Top 500,头部故事全覆盖。
- 潜力榜(90 天斜率)的候选池先按星数取 90 天新仓的前 300 名,再按斜率重排——Search API 工作集内的排序,不是全量扫描;斜率本身也天然偏爱更年轻的仓库。
- 黑红榜的候选池是总榜(前 300)中 ≥3000 星的仓库,即"明星仓内部"的争议对比;
open_issues口径含 PR(GitHub 字段如此,页面已明示)。请勿读成"情感评分"。 - 黑马榜按斜率取前 100(页面口径文案同此)。
- 里程碑跨线检测发生在页面停留期间,服务器不留历史状态;想看"历史上谁跨过 1k",等往日榜攒几天再回看。
- 往日榜当前只存基准口径(全语言),语言分面的历史拍在库里,页面上还没有入口。
- 本项目与 GitHub 无官方关系,榜单仅为研究参考。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。