Quick Start
docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data ghcr.io/rachelos/we-mp-rss:latest
Visit http://:8001/ to get started
docker stop we-mp-rss
docker rm we-mp-rss
docker pull ghcr.io/rachelos/we-mp-rss:latest
# If you added other parameters, please modify accordingly
docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data ghcr.io/rachelos/we-mp-rss:latest
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
cyChaos, 子健MeLift, 晨阳, 童总, 胜宇, 军亮, 余光, 一路向北, 水煮土豆丝, 人可, 须臾, 澄明, 五梭
A tool for subscribing to and managing WeChat Official Account content, providing RSS subscription functionality.
- WeChat Official Account content scraping and parsing
- RSS feed generation
- User-friendly web management interface
- Scheduled automatic content updates
- Multiple database support (default SQLite, optional MySQL)
- Multiple scraping methods support
- Multiple RSS client support
- Authorization expiration reminders
- Custom notification channels
- Custom RSS title, description, and cover
- Custom RSS pagination size
- Export to md/docx/pdf/json formats
- API interface and WebHook support
If you find We-MP-RSS helpful, feel free to buy me a beer!
Paypal
The project adopts a front-end and back-end separation architecture:
- Backend: Python + FastAPI
- Frontend: Vue 3 + Vite
- Database: SQLite (default)/MySQL
For more project principles, please refer to the Project Documentation.
- Python>=3.13.1
- Node>=20.18.3
- Clone the project
git clone https://github.com/rachelos/we-mp-rss.git
cd we-mp-rss- Install Python dependencies
pip install -r requirements.txt- Configure database Copy and modify the configuration file:
cp config.example.yaml config.yaml
copy config.example.yaml config.yaml- Start the service
python main.py -job True -init True- Install frontend dependencies
cd we-mp-rss/web_ui
yarn install- Start frontend service
yarn dev- Access frontend page
http://localhost:3000
The following are the environment variable configurations supported in config.yaml:
| Environment Variable | Default Value | Description |
|---|---|---|
APP_NAME |
we-mp-rss |
Application name |
SERVER_NAME |
we-mp-rss |
Server name |
WEB_NAME |
WeRSS微信公众号订阅助手 |
Frontend display name |
SEND_CODE |
True |
Whether to send authorization QR code notifications |
CODE_TITLE |
WeRSS授权二维码 |
QR code notification title |
ENABLE_JOB |
True |
Whether to enable scheduled tasks |
AUTO_RELOAD |
False |
Auto-restart service on code changes |
THREADS |
2 |
Maximum number of threads |
DB |
sqlite:///data/db.db |
Database connection string |
DINGDING_WEBHOOK |
Empty | DingTalk notification webhook URL |
WECHAT_WEBHOOK |
Empty | WeChat notification webhook URL |
FEISHU_WEBHOOK |
Empty | Feishu notification webhook URL |
CUSTOM_WEBHOOK |
Empty | Custom notification webhook URL |
SECRET_KEY |
we-mp-rss |
Secret key |
USER_AGENT |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36/WeRss |
User agent |
SPAN_INTERVAL |
10 |
Scheduled task execution interval (seconds) |
WEBHOOK.CONTENT_FORMAT |
html |
Article content sending format |
PORT |
8001 |
API service port |
DEBUG |
False |
Debug mode |
MAX_PAGE |
5 |
Maximum scraping pages |
RSS_BASE_URL |
Empty | RSS domain address |
RSS_LOCAL |
False |
Whether to use local RSS links |
RSS_TITLE |
Empty | RSS title |
RSS_DESCRIPTION |
Empty | RSS description |
RSS_COVER |
Empty | RSS cover |
RSS_FULL_CONTEXT |
True |
Whether to display full text |
RSS_ADD_COVER |
True |
Whether to add cover images |
RSS_CDATA |
False |
Whether to enable CDATA |
RSS_PAGE_SIZE |
30 |
RSS pagination size |
TOKEN_EXPIRE_MINUTES |
4320 |
Login session validity duration (minutes) |
CACHE.DIR |
./data/cache |
Cache directory |
ARTICLE.TRUE_DELETE |
False |
Whether to truly delete articles |
GATHER.CONTENT |
True |
Whether to collect content |
GATHER.MODEL |
app |
Collection mode |
GATHER.CONTENT_AUTO_CHECK |
False |
Whether to automatically check uncollected article content |
GATHER.CONTENT_AUTO_INTERVAL |
59 |
Time interval for automatically checking uncollected article content (minutes) |
GATHER.CONTENT_MODE |
web |
Content correction mode |
SAFE_HIDE_CONFIG |
db,secret,token,notice.wechat,notice.feishu,notice.dingding |
Configuration information to hide |
SAFE_LIC_KEY |
RACHELOS |
Authorization encryption key |
LOG_FILE |
Empty | Log file path |
LOG_LEVEL |
INFO |
Log level |
EXPORT_PDF |
False |
Whether to enable PDF export functionality |





