claudeers.
// DevOps & CI/CD

github-topics-trending

GitHub 话题趋势追踪工具 - 按主题监控热门项目,AI 智能分析,每日邮件报告,GitHub Pages 可视化

// DevOps & CI/CD[ cli ][ api ][ web ][ claude ]#claude#claude-ai#claude-code#github#monitoring#python#trending#devops$open-sourceupdated 2 months ago
Actively maintained
100/100
last commit 7 months ago
last release none
releases 0
open issues 0
// star history

Install with your AI

Paste into Claude Code, Cursor, or any agent — it reads the repo and wires the tool into your project.

Install and set up github-topics-trending (git-clone project) into my current project.
Found on https://claudeers.com/github-topics-trending
Repo: https://github.com/geekjourneyx/github-topics-trending
Homepage/docs: —
Detected install method: git-clone → git clone https://github.com/geekjourneyx/github-topics-trending
Category: devops. Platforms: cli, api, web.
Read the repo's README for exact setup and env vars, then install it and wire it into my project.

Claudeers Health Verdict:
active; community-verified: false. Confirm the source before running anything.
// or clone
git clone https://github.com/geekjourneyx/github-topics-trending

// compatibility

Platformscli, api, web
Operating systems
AI compatibilityclaude
License
Pricingopen-source
LanguagePython

GitHub Topics Trending

追踪 GitHub 话题下的热门项目,AI 智能分析,每日趋势报告邮件


目录


项目简介

GitHub Topics Trending 是一个自动化仓库趋势追踪系统。它每天通过 GitHub API 获取指定话题下的热门仓库,使用 Claude AI 对仓库进行智能分析和分类,计算星标变化趋势,并通过 Resend 发送专业的 HTML 邮件报告,同时生成 GitHub Pages 静态网站。

为什么需要这个项目?

  1. 开发者视角 - 快速了解特定话题下的热门项目
  2. 趋势洞察 - 捕捉新兴项目和工具的崛起
  3. 智能总结 - AI 帮你理解每个项目解决什么问题
  4. 自动化 - 无需手动查看网站,每天自动推送

功能特性

核心功能

功能说明
GitHub API 采集按话题获取热门仓库,支持自定义排序
README 获取自动获取仓库 README 摘要
AI 分析Claude AI 自动总结、分类、提取价值
趋势计算星标变化、新晋/掉榜、活跃项目检测
邮件报告专业 HTML 邮件,每个仓库可点击跳转
静态网站生成 GitHub Pages 可视化页面
数据存储SQLite 存储历史数据,支持趋势分析

邮件报告内容

GitHub Topics Daily - 2026-01-27
├── Top 20 经典榜单(含 AI 总结)
│   ├── 仓库名称(可点击跳转)、排名、星标数
│   ├── AI 一句话摘要
│   ├── 详细说明
│   └── 解决的问题标签
├── 星标增长 Top 5
├── 新晋项目
├── 活跃项目
└── 趋势统计

仓库分类

分类说明
插件Claude Code / VS Code 插件
工具开发工具、CLI 工具
模板项目模板、脚手架
文档教程、文档、书籍
示例Demo 项目、示例代码
集成集成工具、包装器
Python/JS/其他库
应用完整应用

系统架构

┌─────────────────────────────────────────────────────────────────┐
│                     GitHub Topics Trending                      │
└─────────────────────────────────────────────────────────────────┘

  ┌──────────────┐      ┌──────────────┐      ┌──────────────┐
  │   GitHub     │      │   GitHub     │      │    Claude    │
  │   Actions    │ ──▶ │   Fetcher    │ ──▶ │  Summarizer │
  │  (Cron Daily)│      │  (API)       │      │     AI       │
  └──────────────┘      └──────┬───────┘      └──────┬───────┘
                               │                     │
                               ▼                     │
                        ┌──────────────┐              │
                        │   README     │              │
                        │  Fetcher     │              │
                        └──────┬───────┘              │
                               │                       │
                               └───────┬───────────────┘
                                       │
                                       ▼
                               ┌──────────────┐
                               │  Database    │
                               │  (SQLite)    │
                               └──────┬───────┘
                                      │
                                      ▼
                               ┌──────────────┐
                               │   Trend      │
                               │  Analyzer    │
                               └──────┬───────┘
                                      │
                    ┌─────────────────┴─────────────────┐
                    ▼                                   ▼
             ┌──────────────┐                   ┌──────────────┐
             │   Email      │                   │    Web       │
             │  Reporter    │                   │  Generator   │
             └──────┬───────┘                   └──────┬───────┘
                    │                                   │
                    ▼                                   ▼
             ┌──────────────┐                   ┌──────────────┐
             │   Resend     │                   │  GitHub      │
             │   Sender     │                   │   Pages      │
             └──────┬───────┘                   └──────────────┘
                    │
                    ▼
                   ──────► 您的邮箱

快速开始

环境要求

  • Python 3.11+
  • GitHub Personal Access Token
  • Claude API Key(支持智谱代理)
  • Resend API Key

安装

# 克隆仓库
git clone https://github.com/geekjourneyx/github-topics-trending.git
cd github-topics-trending

# 安装依赖
pip install -r requirements.txt

配置

# 复制环境变量模板
cp .env.example .env

# 编辑 .env 文件,填入你的 API Keys
nano .env

运行

# 设置环境变量
export GH_TOKEN="your_github_token"
export ZHIPU_API_KEY="your_api_key"
export RESEND_API_KEY="your_resend_key"
export EMAIL_TO="[email protected]"

# 运行(完整流程)
python -m src.main

# 仅获取数据,不发送邮件
python -m src.main --fetch-only

注意: 环境变量已配置为使用 GH_TOKENTOPIC,避免以 GITHUB_ 开头的 Secret 名称。

# 设置环境变量
export GH_TOKEN="your_github_token"
export TOPIC="claude-code"

---

## 配置说明

### 环境变量

| 变量 | 必需 | 说明 | 默认值 |
|-----|------|------|--------|
| `GH_TOKEN` | Yes | GitHub Personal Access Token | - |
| `TOPIC` | No | 要追踪的 GitHub Topic | `claude-code` |
| `ZHIPU_API_KEY` | Yes | Claude API Key(智谱代理) | - |
| `ANTHROPIC_BASE_URL` | No | Claude API 地址 | `https://open.bigmodel.cn/api/anthropic` |
| `RESEND_API_KEY` | Yes | Resend API Key | - |
| `EMAIL_TO` | Yes | 收件人邮箱 | - |
| `RESEND_FROM_EMAIL` | No | 发件人邮箱 | `[email protected]` |
| `DB_PATH` | No | 数据库路径 | `data/github-trending.db` |
| `DB_RETENTION_DAYS` | No | 数据保留天数 | `90` |
| `SURGE_THRESHOLD` | No | 暴涨阈值(比例) | `0.3` |

### GitHub Token 配置

#### 申请 Personal Access Token (PAT)

1. 登录 GitHub
2. 点击头像 → **Settings**
3. 左侧菜单最下方 → **Developer settings**
4. **Personal access tokens** → **Tokens (classic)**
5. **Generate new token** → **Generate new token (classic)**
6. 配置 Token:
   - **Note**: 输入 `GitHub Topics Bot`
   - **Expiration**: 选择有效期(建议 `90 days` 或 `No expiration`)
   - **勾选权限**:
     - ☑️ `public_repo` (访问公共仓库)
   - 点击 **Generate token**
7. 复制 token(只显示一次!请妥善保存)

#### 在 GitHub Actions 中配置

1. 进入 GitHub 仓库页面
2. **Settings** → **Secrets and variables** → **Actions**
3. **New repository secret**
4. 配置:
   - **Name**: `GITHUB_TOKEN`
   - **Value**: 粘贴你的 token
5. 点击 **Add secret**

### Resend 配置

1. 注册 [Resend](https://resend.com)
2. 创建 API Key
3. 配置发件人域名(或使用默认的 `[email protected]`)

---

## 使用方法

### 命令行运行

```bash
# 完整流程(获取数据 + AI 分析 + 发送邮件 + 生成网站)
python -m src.main

# 仅获取数据
python -m src.main --fetch-only

数据库查询

# 查看最新数据日期
sqlite3 data/github-trending.db "SELECT date FROM repos_daily ORDER BY date DESC LIMIT 1;"

# 查看今日排行榜 Top 10
sqlite3 data/github-trending.db "SELECT rank, repo_name, stars FROM repos_daily WHERE date = '2026-01-27' ORDER BY rank LIMIT 10;"

# 查看仓库详情
sqlite3 data/github-trending.db "SELECT repo_name, summary, category FROM repos_details WHERE repo_name = 'anthropics/claude-code';"

GitHub Pages 配置

启用 GitHub Pages

第一步:配置 Pages

  1. 进入仓库 SettingsPages

  2. Build and deployment 配置:

    • Source: Deploy from a branch
    • Branch: gh-pages 分支
    • Folder: / (root)
    • 点击 Save

第二步:确保仓库为 Public

  1. 仓库 SettingsGeneral
  2. 滚动到底部 Danger Zone
  3. Change repository visibility → 选择 Public
  4. 确认更改

第三步:访问网站

https://geekjourneyx.github.io/github-topics-trending/

⚠️ 注意:首次部署后需要等待 5-10 分钟才能访问。


GitHub Actions 配置

Secrets 配置

  1. SettingsSecrets and variablesActionsNew repository secret

  2. 添加以下 Secrets:

Name必需Value
GH_TOKEN你的 GitHub PAT
TOPIC-claude-code(追踪的话题)
ZHIPU_API_KEY智谱 API Key
RESEND_API_KEYResend API Key
EMAIL_TO接收日报的邮箱

Actions 权限配置

  1. SettingsActionsGeneral
  2. Workflow permissions → 选择 Read and write permissions
  3. 点击 Save

手动触发

  1. 点击 Actions 标签
  2. 选择 GitHub Topics Trending workflow
  3. 点击 Run workflowRun workflow

定时执行

默认每天 UTC 02:00(北京时间 10:00)自动运行。


故障排查

问题解决方案
404 错误确保仓库为 Public,等待 5-10 分钟让 GitHub Pages 生效
403 Permission denied检查 Workflow permissions 是否为 Read and write
Actions 失败查看 Actions 日志,检查 Secrets 是否配置正确
网站内容不是最新GitHub Pages 有缓存,强制刷新 Ctrl+Shift+R 或加 ?v=123

数据模型

repos_daily - 每日快照

字段类型说明
idINTEGER主键
dateTEXT日期 (YYYY-MM-DD)
rankINTEGER当日排名
repo_nameTEXT仓库名称 (owner/repo)
ownerTEXT拥有者
starsINTEGER星标数
stars_deltaINTEGER星标变化
forksINTEGERFork 数
issuesINTEGERIssue 数
languageTEXT主要语言
urlTEXT仓库链接

repos_details - 仓库详情

字段类型说明
idINTEGER主键
repo_nameTEXT仓库名称(唯一)
summaryTEXTAI 一句话摘要
descriptionTEXT详细描述
use_caseTEXT使用场景
solvesTEXTJSON:解决的问题列表
categoryTEXT分类(英文)
category_zhTEXT分类(中文)
topicsTEXTJSON:GitHub topics
languageTEXT主要语言
readme_summaryTEXTREADME 摘要
ownerTEXT拥有者
urlTEXT仓库链接

repos_history - 历史趋势

字段类型说明
idINTEGER主键
repo_nameTEXT仓库名称
dateTEXT日期
rankINTEGER当日排名
starsINTEGER星标数
forksINTEGERFork 数

开发指南

项目结构

github-topics-trending/
├── .github/workflows/
│   └── github-trending.yml     # GitHub Actions 配置
├── src/
│   ├── config.py               # 配置管理
│   ├── database.py             # SQLite 操作
│   ├── github_fetcher.py       # GitHub API 采集
│   ├── readme_fetcher.py       # README 获取
│   ├── claude_summarizer.py    # AI 分析
│   ├── trend_analyzer.py       # 趋势计算
│   ├── email_reporter.py       # 邮件生成
│   ├── web_generator.py        # 网站生成
│   ├── resend_sender.py        # 邮件发送
│   └── main.py                 # 主入口
├── plugins/
│   └── github-topics/          # Claude Code Skill
├── docs/                       # GitHub Pages 输出
├── data/
│   └── github-trending.db      # 数据库(运行时生成)
├── requirements.txt
├── .env.example
├── CHANGELOG.md
└── README.md

核心模块说明

模块功能
github_fetcher.py使用 GitHub API 按话题获取仓库
readme_fetcher.py获取仓库 README 内容
claude_summarizer.py调用 Claude API 分析仓库
trend_analyzer.py计算星标变化、新晋/掉榜、活跃检测
email_reporter.py生成专业 HTML 邮件
web_generator.py生成 GitHub Pages 静态网站
database.pySQLite 数据库操作

扩展开发

新增话题

# 修改 .env 或环境变量
export GITHUB_TOPIC="python"

新增分析维度

# 修改 trend_analyzer.py
def calculate_trends(self, today_repos, date, ai_summary_map):
    # 添加新的分析逻辑
    pass

自定义邮件样式

# 修改 email_reporter.py
def _get_header(self, date: str) -> str:
    # 修改样式和布局
    pass

常见问题

邮件没有收到?

  1. 检查 Resend API Key 是否正确
  2. 确认收件人邮箱地址
  3. 查看垃圾邮件箱
  4. 检查 GitHub Actions 日志

GitHub API 速率限制?

  • 认证用户:5000 requests/hour
  • 未认证用户:60 requests/hour
  • 使用 GITHUB_TOKEN 环境变量可提高限制

数据库文件在哪里?

默认位置:data/github-trending.db

如何查看历史数据?

sqlite3 data/github-trending.db
.tables
SELECT * FROM repos_daily ORDER BY date DESC LIMIT 10;

如何更改运行时间?

编辑 .github/workflows/github-trending.yml

schedule:
  - cron: '0 2 * * *'  # UTC 时间,每天 02:00

如何更换追踪的话题?

修改环境变量 TOPIC

export TOPIC="your-topic"

打赏 Buy Me A Coffee

如果该项目帮助了您,请作者喝杯咖啡吧

WeChat

微信打赏码

作者

关注公众号,获取更多 AI 编程、AI 工具与 AI 出海建站的实战分享:

公众号:极客杰尼


License

MIT


致谢

// faq

What is github-topics-trending?

GitHub 话题趋势追踪工具 - 按主题监控热门项目,AI 智能分析,每日邮件报告,GitHub Pages 可视化 . It is open-source on GitHub.

Is github-topics-trending free to use?

github-topics-trending is open-source, so it is free to use.

What category does github-topics-trending belong to?

github-topics-trending is listed under automation in the Claudeers registry of Claude-compatible tools.

0 views
78 stars
unclaimed
updated 2 months ago

// embed badge

github-topics-trending on Claudeers
[![Claudeers](https://claudeers.com/api/badge/github-topics-trending.svg)](https://claudeers.com/github-topics-trending)

// retro hit counter

github-topics-trending hit counter
[![Hits](https://claudeers.com/api/counter/github-topics-trending.svg)](https://claudeers.com/github-topics-trending)

// reviews

// guestbook

0/500

// related in DevOps & CI/CD

🔓

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI…

// devopssansan0/Python61,486GPL-3.0[ claude ]
🔓

Use Claude Code as the foundation for coding infrastructure, allowing you to decide how to interact with the model while enjoying updates from Anthropic.

// devopsmusistudio/TypeScript36,683MIT[ claude ]
🔓

Professional Antigravity Account Manager & Switcher. One-click seamless account switching for Antigravity Tools. Built with Tauri v2 + React (Rust).专业的 Antig…

// devopslbjlaq/Rust30,371NOASSERTION[ claude ]
→ see how github-topics-trending connects across the ecosystem