一、项目简介

HotPush 是一个开源的热搜聚合推送平台,能够将微博、知乎、B站、V2EX、Hacker News 等 13 个平台的热榜聚合到一个页面,并通过 Telegram、企业微信、飞书、钉钉、Discord、邮件、Webhook 等 7 种渠道自动推送到你的手机或电脑。

GitHub 地址https://github.com/JackyST0/hotpush

在线演示https://hotpush.dawenzaist.de5.net(测试账号:test / test123)

热搜榜

二、技术栈

组件技术
后端Python 3.11+ / FastAPI
前端Vue 3 / Vite / Tailwind CSS
数据库MySQL 8.0+
缓存Redis 6.0+
数据源RSSHub
定时任务APScheduler
部署Docker Compose

三、核心功能

3.1 热榜聚合

聚合 13 个主流平台的热榜数据,通过 RSSHub 统一获取,支持自定义添加任意 RSS 源:

  • 微博、知乎、B站、V2EX、Hacker News、Linux DO
  • 掘金、少数派、品玩、豆瓣、联合早报、澎湃新闻

3.2 多渠道推送

支持 7 种推送渠道,覆盖主流 IM 和通知方式:

渠道协议消息格式
TelegramBot APIHTML
DiscordWebhookMarkdown
企业微信WebhookMarkdown
飞书WebhookMarkdown
钉钉WebhookMarkdown
邮件SMTPHTML
WebhookHTTP POSTJSON

3.3 智能过滤

  • 关键词过滤:设置包含/排除关键词,只推送你关心的内容
  • 时间段限制:设置免打扰时段,避免深夜推送
  • 来源过滤:只接收指定平台的热搜
  • 去重机制:Redis 记录已推送条目,避免重复推送

3.4 Web 管理界面

Vue 3 + Tailwind CSS 构建的现代化管理界面,所有配置可视化操作:

  • 实时查看聚合热搜
  • 在线配置推送渠道
  • 管理过滤规则
  • 查看推送历史
  • 多用户权限管理

四、部署教程

4.1 环境要求

  • 安装 Docker 和 Docker Compose(V2)
  • 系统:Linux / macOS / Windows 均可

4.2 一键部署

# 克隆项目
git clone https://github.com/JackyST0/hotpush.git
cd hotpush

# 启动所有服务(MySQL + Redis + RSSHub + 后端 + 前端)
docker compose up -d

启动后访问 http://localhost:3001,默认管理员账号 admin / admin123

4.3 配置推送渠道

以 Telegram 为例:

  1. 找 @BotFather 创建 Bot,获取 Token
  2. 找 @userinfobot 获取 Chat ID
  3. 在 Web 管理界面的「推送配置」中填入 Token 和 Chat ID
  4. 点击「测试推送」验证

其他渠道配置类似,在管理界面中操作即可,不需要修改配置文件。

4.4 配置 JWT 密钥(推荐)

防止容器重启后用户登录失效:

# 生成随机密钥
openssl rand -base64 32

将生成的字符串填入 docker-compose.ymlJWT_SECRET 环境变量中。

五、项目架构

hotpush/
├── backend/                # 后端(FastAPI)
│   ├── app/
│   │   ├── main.py         # 应用入口
│   │   ├── routers/        # API 路由
│   │   ├── services/       # 业务逻辑
│   │   │   ├── rss_fetcher.py    # RSS 抓取(多实例容错)
│   │   │   ├── push_service.py   # 推送服务(7 种渠道)
│   │   │   ├── scheduler.py      # 定时任务调度
│   │   │   ├── database.py       # 数据库(MySQL)
│   │   │   └── cache.py          # 缓存(Redis)
│   │   ├── models/         # 数据模型(Pydantic)
│   │   └── middleware/     # 认证中间件(JWT)
│   └── tests/              # 测试用例(42 个)
├── frontend/               # 前端(Vue 3)
├── docker-compose.yml      # Docker 编排
└── README.md

六、后续计划

  • AI 摘要:接入大模型自动总结每日热点
  • PWA 移动端支持
  • 热搜趋势图表

七、总结

HotPush 是一个轻量级的热搜聚合推送平台,适合想要高效获取全网热点、同时又不想每天在各个平台之间来回切换的用户。Docker 一键部署,Web 界面管理,MIT 协议开源。

如果觉得有用,欢迎到 GitHub 点个 Star 支持一下:https://github.com/JackyST0/hotpush

更多推荐