快速运行
docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data ghcr.io/rachelos/we-mp-rss:latest
http://<您的ip>:8001/ 即可开启
docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data rachelos/we-mp-rss:latest
docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data docker.1ms.run/rachelos/we-mp-rss:latest docker.1ms.run/rachelos/we-mp-rss:latest


一个用于订阅和管理微信公众号内容的工具,提供RSS订阅功能。
- 微信公众号内容抓取和解析
- RSS订阅生成
- 用户友好的Web管理界面
- 定时自动更新内容
- 支持多种数据库(默认SQLite,可选MySQL)
- 支持多种抓取方式
- 支持多种RSS客户端
- 支持授权过期提醒
如果觉得 We-MP-RSS 对你有帮助,欢迎给我来一杯啤酒!
Paypal
项目采用前后端分离架构:
- 后端:Python + FastAPI
- 前端:Vue 3 + Vite
- 数据库:SQLite (默认)/MySQL
- 克隆项目
git clone https://github.com/rachelos/we-mp-rss.git
cd we-mp-rss
- 安装Python依赖
pip install -r requirements.txt
- 配置数据库 复制并修改配置文件:
cp config.example.yaml config.yaml
copy config.example.yaml config.yaml
- 启动API服务
uvicorn web:app --host 0.0.0.0 --port 8001 --reload
或 如果需要初始化数据库和数据,可以使用以下命令:
python3 main.py -job True -init True
- 进入web_ui目录
cd web_ui
- 安装Node.js依赖
npm install
- 启动开发服务器
npm run dev
配置定时抓取微信公众号内容:
python job.py
编辑config.yaml
文件配置以下参数:
- 数据库连接
- 微信公众号配置
- 抓取间隔时间
- API密钥等
API服务启动后,访问以下地址查看文档:
- Swagger UI: http://localhost:8001/api/docs
更多环境变量配置请查看config.example.yaml
文件
变量名 | 说明 | 默认值 |
---|---|---|
DB |
必填 数据库地址 例如: mysql+pymysql://<用户名>:<密码>@<数据库IP>/<数据库名> | sqlite:///data/db.db |
INTERVAL |
抓取间隔时间,单位秒 | 10 |
SECRET_KEY |
JWT授权加密KEY | 'we-mp-rss' |
DINGDING_WEBHOOK |
钉钉机器人Webhook地址 | - |
WECHAT_WEBHOOK |
微信机器人Webhook地址 | - |
FEISHU_WEBHOOK |
飞书机器人Webhook地址 | - |
CUSTOM_WEBHOOK |
自定义Webhook地址 | - |
USER_AGENT |
用户代理字符串 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 |
PORT |
API服务端口 | 8001 |
DEBUG |
调试模式 | False |
MAX_PAGE |
第一次添加时采集的最大页数 | 5 |
RSS_BASE_URL |
RSS域名地址 | "" |
RSS_LOCAL |
是否为本地RSS链接 | False |
RSS_TITLE |
RSS标题 | "" |
RSS_DESCRIPTION |
RSS描述 | "" |
RSS_COVER |
RSS封面图片URL | "" |
RSS_ADD_COVER |
是否添加封面图片 | True |
RSS_CDATA |
RSS正文是否启用CDATA | False |
RSS_PAGE_SIZE |
RSS分页大小 | 10 |
RSS_FULL_CONTEXT |
是否显示全文 | False |
TOKEN_EXPIRE_MINUTES |
登录会话有效时长(分钟) | 60 |
CACHE.DIR |
缓存目录路径 | ./data/cache |
ARTICLE.TRUE_DELETE |
是否真实删除文章(False为逻辑删除) | False |
GATHER.CONTENT |
是否采集内容 | True |
GATHER.MODEL |
采集模式(web模式可采集发布链接,api模式可采集临时链接) | web |
GATHER.CONTENT_AUTO_CHECK |
是否自动检查未采集文章内容 | False |
GATHER.CONTENT_AUTO_INTERVAL |
自动检查未采集文章内容的时间间隔(分钟) | 59 |
WEBHOOK.CONTENT_FORMAT |
文章内容的发送格式(默认使用html格式,可选text、markdown) | html |
SAFE_HIDE_CONFIG |
需要隐藏的配置信息(逗号分隔) | db,secret,token,notice.wechat,notice.feishu,notice.dingding |
LOG_FILE |
日志文件路径,默认为空字符串,表示不输出到文件。如果要输出到文件,可以指定一个路径如:/var/log/we-mp-rss.log | - |
LOG_LEVEL |
日志级别(DEBUG, INFO, WARNING, ERROR, CRITICAL) | INFO |
docker run -d \
--name we-mp-rss \
-p 8001:8001 \
-e DB=sqlite:///data/db.db \
-e USERNAME=admin \
-e PASSWORD=admin@123 \
-e DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx \
-v $(pwd)/data:/app/data \
ghcr.io/rachelos/we-mp-rss:latest
- Compose Yaml
services:
we-mp-rss:
image: ghcr.io/rachelos/we-mp-rss:latest
container_name: we-mp-rss
ports:
- "8001:8001"
environment:
- DB=sqlite:///data/db.db
- USERNAME=admin
- PASSWORD=admin@123
- DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx
volumes:
- ./data:/app/data
docker run -d \
--name we-mp-rss \
-p 8001:8001 \
-e DB=mysql+pymysql://<username>:<password>@<host>/<database>?charset=utf8mb4 \
-e USERNAME=admin \
-e PASSWORD=admin@123 \
-e DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx \
-v $(pwd)/data:/app/data \
ghcr.io/rachelos/we-mp-rss:latest
- Compose Yaml
services:
we-mp-rss:
image: ghcr.io/rachelos/we-mp-rss:latest
container_name: we-mp-rss
ports:
- "8001:8001"
environment:
- DB=mysql+pymysql://<username>:<password>@<host>/<database>?charset=utf8mb4
- USERNAME=admin
- PASSWORD=admin@123
- DINGDING_WEBHOOK=https://oapi.dingtalk.com/robot/send?access_token=xxx
volumes:
- ./data:/app/data
# 构建
docker build -t we-mp-rss .
# Docker运行
docker run -d --name we-mp-rss -p 8001:8001 we-mp-rss
- 安装开发依赖
pip install -r requirements-dev.txt
- 运行测试
pytest
-
修改环境变量 编辑
.env.development
文件 -
开发模式
npm run dev
- 构建生产版本
npm run build
欢迎提交Pull Request。在提交前请确保:
- 代码通过所有测试
- 更新相关文档
- 遵循代码风格指南
QQ:244538330
橙单中台化低代码生成器。可完整支持多应用、多租户、多渠道、工作流 (Flowable & Activiti)、在线表单、自定义数据同步、自定义Job、多表关联、跨服务多表关联、框架技术栈自由组合等。
全球一站式DevOps、自动化运维、完全开源的云管理平台、自动化运维平台
fastsearch 一个golang实现的全文检索引擎,支持持久化和单机亿级数据毫秒级查找
MIT License