# we-mp-rss **Repository Path**: rachel_os/we-mp-rss ## Basic Information - **Project Name**: we-mp-rss - **Description**: ✨符合阅读习惯的微信公众号助手、微信公众号转MarkDown、微信公众号转PDF、定时更新订阅公众号文章、生成微信公众号RSS订阅源、导出微信公众号订阅源、支持微信公众号Webhook/微信公众号API/AI Agent接入微信公众号微信公众号、订阅微信公众号、微信公众号助手 、微信公众号阅读、微信公众号接口、微信公众号爬虫、微信公众号监测、标签订阅微信公众号、微信公众号源、微信公众号读书、微信公 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: https://werss.csol.store - **GVP Project**: No ## Statistics - **Stars**: 70 - **Forks**: 31 - **Created**: 2025-06-04 - **Last Updated**: 2025-12-09 ## Categories & Tags **Categories**: weixin-app **Tags**: None ## README
We-MP-RSS Logo

WeRSS - WeChat Official Account RSS Subscription Assistant

[![Python Version](https://img.shields.io/badge/python-3.13.1+-red.svg)]() [![License](https://img.shields.io/badge/license-MIT-green.svg)]() [中文](README.zh-CN.md)|[English](ReadMe.md) 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 # Quick Upgrade ``` 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 ``` # Official Image ``` docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data rachelos/we-mp-rss:latest ``` # Proxy Mirror for Faster Access (Faster access in China) ``` docker run -d --name we-mp-rss -p 8001:8001 -v ./data:/app/data docker.1ms.run/rachelos/we-mp-rss:latest ``` # Special Thanks (In no particular order) cyChaos, 子健MeLift, 晨阳, 童总, 胜宇, 军亮, 余光, 一路向北, 水煮土豆丝, 人可, 须臾, 澄明, 五梭



A tool for subscribing to and managing WeChat Official Account content, providing RSS subscription functionality.

## Features - 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 # ❤️ Sponsorship If you find We-MP-RSS helpful, feel free to buy me a beer!
[Paypal](https://www.paypal.com/ncp/payment/PUA72WYLAV5KW) ## Screenshots - Login Interface Login
- Main Interface Main Interface
- QR Code Authorization QR Code Authorization
- Add Subscription Add Subscription
- Client Application
FOLO Client Application
## System Architecture The project adopts a front-end and back-end separation architecture: - Backend: Python + FastAPI - Frontend: Vue 3 + Vite - Database: SQLite (default)/MySQL Architecture Diagram For more project principles, please refer to the [Project Documentation](https://deepwiki.com/rachelos/we-mp-rss/3.5-notification-system). ## Installation Guide # Development ## Environment Requirements - Python>=3.13.1 - Node>=20.18.3 ### Backend Service 1. Clone the project ```bash git clone https://github.com/rachelos/we-mp-rss.git cd we-mp-rss ``` 2. Install Python dependencies ```bash pip install -r requirements.txt ``` 3. Configure database Copy and modify the configuration file: ```bash cp config.example.yaml config.yaml copy config.example.yaml config.yaml ``` 3. Start the service ```bash python main.py -job True -init True ``` ## Frontend Development 1. Install frontend dependencies ```bash cd we-mp-rss/web_ui yarn install ``` 2. Start frontend service ```bash yarn dev ``` 3. Access frontend page ``` http://localhost:3000 ``` # Environment Variable Configuration 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 |