Docker 一键部署热搜聚合推送平台 HotPush,支持 Telegram/企业微信/飞书等 7 种推送渠道
·
一、项目简介
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 和通知方式:
| 渠道 | 协议 | 消息格式 |
|---|---|---|
| Telegram | Bot API | HTML |
| Discord | Webhook | Markdown |
| 企业微信 | Webhook | Markdown |
| 飞书 | Webhook | Markdown |
| 钉钉 | Webhook | Markdown |
| 邮件 | SMTP | HTML |
| Webhook | HTTP POST | JSON |
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 为例:
- 找 @BotFather 创建 Bot,获取 Token
- 找 @userinfobot 获取 Chat ID
- 在 Web 管理界面的「推送配置」中填入 Token 和 Chat ID
- 点击「测试推送」验证
其他渠道配置类似,在管理界面中操作即可,不需要修改配置文件。
4.4 配置 JWT 密钥(推荐)
防止容器重启后用户登录失效:
# 生成随机密钥
openssl rand -base64 32
将生成的字符串填入 docker-compose.yml 的 JWT_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
更多推荐
所有评论(0)