Skip to content

Repository files navigation

GitHub 趋势雷达

Deploy Python 3.11+ License Live Demo

每天更新的 GitHub Trending 中文技术榜单,并自动聚合 AI、开源和开发者生态一手资讯。用搜索、语言筛选、中文速览、跨榜标记、排名变化和多尺寸趋势卡片,帮你在十分钟内看懂开源世界正在发生什么。

在线体验 · 最新 JSON · 热榜 RSS · 资讯 RSS · 历史档案

界面预览

浅色模式 深色模式
GitHub 趋势雷达浅色首页 GitHub 趋势雷达深色首页

GitHub 趋势雷达移动端首页 一图看懂今日开源趋势卡片

页面不依赖前端框架,桌面与移动端共享同一份轻量 HTML、CSS 和原生 JavaScript。

为什么做这个项目

GitHub Trending 很适合发现项目,但原始页面缺少中文信息、跨周期对比、历史变化和可复用数据。GitHub 趋势雷达在保持零后端、零账户、零追踪的前提下,补齐这些能力:

  • 日榜、周榜、月榜每日自动更新
  • 中文 AI 摘要;没有 API Key 时自动使用本地摘要
  • AI、开源与开发者生态公开 RSS/Atom 资讯聚合和中文化
  • 自动生成竖版、方形、横版三种“今日开源趋势卡片”,支持 SVG/PNG 下载和分享
  • 搜索、语言筛选、排名变化、跨榜项目识别
  • 浏览器本地收藏和原生分享,不上传个人数据
  • 稳定 JSON、每日快照与 RSS 2.0
  • 深浅主题、移动端、键盘导航和 reduced-motion
  • 历史档案长期保存在 gh-pages 分支

快速开始

git clone https://github.com/Ibook000/GithubTrending.git
cd GithubTrending
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python github_trending_cards.py --mode full
# 仅刷新资讯和趋势卡片,不改变 GitHub 排名快照
python github_trending_cards.py --mode news
python -m http.server 8000 -d site

打开 http://localhost:8000。不配置任何密钥也能完整运行。

可选 AI 摘要

export LLM_API_KEY="your-api-key" # 自托管接口不需要鉴权时可省略
export LLM_BASE_URL="http://154.217.247.37:8317/v1"
export LLM_MODEL="deepseek-v4-flash"
python github_trending_cards.py --mode full

也可以继续使用 NVIDIA_API_KEYOPENROUTER_API_KEY。模型只处理新 URL,历史中文化结果会复用;密钥只在生成过程中使用,不会写入 HTML、JSON、RSS 或日志。

默认接口是明文 HTTP。请不要通过它发送敏感数据;生产环境建议改成 HTTPS,并通过 LLM_BASE_URLLLM_MODELLLM_API_KEY 覆盖默认配置。

开放数据

地址 内容
data/latest.json 最新完整日/周/月榜单
data/YYYY-MM-DD.json 每日不可变快照
feed.xml 每日日榜 RSS 2.0
data/news/latest.json 独立新闻接口(最近 72 小时)
data/news/YYYY-MM-DD.json 新闻每日快照
news-feed.xml AI 科技与开源资讯 RSS 2.0
cards/manifest.json 三种卡片的尺寸、哈希和下载路径
cards/latest-portrait.{svg,png} 竖版 1080×1440,Top 5 + 4 条资讯
cards/latest-square.{svg,png} 方形 1080×1080,Top 3 + 3 条资讯
cards/latest-og.{svg,png} 横版 1200×630,适合作为 Open Graph 分享图
today-card.{svg,png} 兼容旧链接的竖版卡片别名

JSON 顶层结构:

{
  "schema_version": "1.0",
  "generated_at": "2026-07-22T10:00:00+08:00",
  "news": [],
  "periods": {
    "daily": [],
    "weekly": [],
    "monthly": []
  }
}

每个仓库包含 rankprevious_rankmovementperiods、语言、Star、Fork、原始描述和中文摘要。首次记录或缺少可比较历史时明确标记为“新上榜”。newsdata/news/latest.json.items 包含 id、中英文标题/摘要、原文链接、来源、分类、标签、发布时间、抓取时间和 localized/stale 状态;新闻源暂时不可用会沿用其上一版有效内容,不会伪造事实。

默认新闻源为 GitHub Blog、Hugging Face Blog、OpenAI News、CNCF Blog、Linux Foundation 和 arXiv AI/ML/NLP。系统只收录最近 72 小时内容,按来源交错、URL 去重,每源限额;首页最多展示 24 条。新闻每天北京时间 04:00、10:00、16:00、22:00 刷新,其中 10:00 同时更新 GitHub 日/周/月榜。

工作原理

flowchart LR
    A[GitHub Trending] --> B[Python 抓取与解析]
    B --> C{可选 AI 摘要}
    C --> D[结构化榜单与排名变化]
    D --> E[JSON 快照]
    D --> F[RSS]
    D --> G[静态首页]
    D --> I[今日趋势卡片 SVG]
    J[公开 AI/开源 RSS] --> K[资讯聚合]
    K --> G
    K --> I
    E --> H[GitHub Pages]
    F --> H
    G --> H
Loading

核心源码位于 src/github_trending/,静态资源位于 assets/,维护脚本位于 scripts/,自动化测试位于 tests/。生成目录 site/ 和历史数据不会提交到 main

Fork 后自动部署

  1. Fork 仓库,在 Settings → Pages 中允许 GitHub Actions/gh-pages 发布。
  2. 在 Actions 中手动运行“自动生成 GitHub 趋势雷达”,可选择 fullnews;自动任务会在北京时间 10:00 完整更新,并在 04:00、16:00、22:00 刷新资讯。
  3. 如需 AI 摘要,在 Secrets and variables → Actions 添加 LLM_API_KEY,并可用仓库变量覆盖 LLM_BASE_URL / LLM_MODEL
  4. 可通过仓库变量 SITE_URL 覆盖 Pages 地址。

工作流会先测试和校验生成物;日榜抓取为空时会停止部署,避免空页面覆盖上一版。

开发与贡献

pip install -r requirements-dev.txt
pytest
ruff check .

欢迎提交抓取兼容性、无障碍、中文摘要或开放数据相关改进。开始前请阅读 贡献指南行为准则安全政策

路线图

  • 搜索、语言筛选、收藏与分享
  • 排名变化、跨榜标记和历史档案
  • 开放 JSON 与 RSS
  • AI / 开源资讯聚合与今日趋势卡片
  • 基于结构化历史的语言和主题趋势报告
  • 可选的每周技术趋势总结
  • 社区维护的高质量项目标签

License

Apache License 2.0 © 2026 Ibook000

About

每日更新 GitHub 热榜,聚合 AI 科技与开源资讯,生成可分享的多尺寸趋势卡片与开放数据。

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages