Quick Upgrade

May 16, 2026 · View on GitHub

We-MP-RSS Logo

WeRSS - WeChat Official Account RSS Subscription Assistant

Python Version License

中文|English

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, 晨阳, 童总, 胜宇, 军亮, 余光, 一路向北, 水煮土豆丝, 人可, 须臾, 澄明, 五梭,Jarvis,三三,哈基米,苹果





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
  • HTML content filtering rules (global rules and MP-specific rules)
  • Multi-theme support (13 themes: Default Purple, Blue, Green, Orange, Rose, Teal, Pink, Indigo, Violet, Coffee, Navy, Dark Mode, Sepia)
  • Responsive pagination (PC: click navigation, Mobile: load more button)
  • Cascade System: Parent-child node architecture with intelligent task distribution for scaling collection capabilities
  • Environment Exception Statistics: Automatic tracking and statistics of environment exceptions when accessing WeChat articles
  • Headers and Cookies Authentication: Support custom headers and cookies in message tasks for authenticated webhook calls
  • Configuration Cache: Support Redis, Memcached, and memory caching for improved configuration read performance

❤️ Sponsorship

If you find We-MP-RSS helpful, feel free to buy me a beer!
Paypal

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.

HTML Content Filtering Rules

WeRSS supports custom HTML content filtering rules to automatically clean unwanted elements during article content collection, such as ads, recommendation links, etc.

Features

  • Global Rules: Apply to all official accounts when no specific account is selected
  • MP-Specific Rules: Configure different filtering rules for specific official accounts
  • Priority Control: Set rule priority (higher number = executed first)
  • Multiple Filtering Methods:
    • Remove elements by ID
    • Remove elements by CSS Class
    • Remove elements by CSS Selector
    • Filter elements by attribute
    • Remove content by regular expression
    • Remove common HTML elements (script, style, comments, etc.)

Usage

  1. Login to the admin interface, go to "Filter Rules" page
  2. Click "Add Filter Rule"
  3. Configure the rule:
    • Select Official Account: Optional, leave empty for global rules
    • Rule Name: A descriptive name for the rule
    • Priority: Higher number means higher priority (0-100)
    • Filter Configuration:
      • Remove ID elements: One ID per line, e.g., ad-banner
      • Remove Class elements: One class per line, e.g., ad-container
      • CSS Selectors: e.g., div.ad-wrapper, .recommend-list > li
      • Attribute filtering: e.g., data-type="ad"
      • Regular expressions: For precise content matching and removal

API Endpoints

# Get filter rules list
GET /api/filter-rules

# Create filter rule
POST /api/filter-rules
{
  "mp_id": "[]",  // Empty array for global rules
  "rule_name": "Global Ad Filter",
  "remove_ids": ["ad-banner"],
  "remove_classes": ["ad-container"],
  "priority": 10
}

# Update filter rule
PUT /api/filter-rules/{rule_id}

# Delete filter rule
DELETE /api/filter-rules/{rule_id}

Installation Guide

Development

Environment Requirements

  • Python>=3.13.1
  • Node>=20.18.3

Backend Service

  1. Clone the project
git clone https://github.com/rachelos/we-mp-rss.git
cd we-mp-rss
  1. Install Python dependencies
pip install -r requirements.txt
  1. Configure database Copy and modify the configuration file:
cp config.example.yaml config.yaml
copy config.example.yaml config.yaml
  1. Start the service
python main.py -job True -init True

Frontend Development

  1. Install frontend dependencies
cd we-mp-rss/web_ui
yarn install
  1. Start frontend service
yarn dev
  1. Access frontend page
http://localhost:3000

Environment Variable Configuration

The following are the environment variable configurations supported in config.yaml:

Environment VariableDefault ValueDescription
APP_NAMEwe-mp-rssApplication name
SERVER_NAMEwe-mp-rssServer name
WEB_NAMEWeRSS微信公众号订阅助手Frontend display name
SEND_CODEFalseWhether to send authorization QR code in expired notification (text-only notification by default)
CODE_TITLEWeRSS授权二维码QR code notification title
ENABLE_JOBTrueWhether to enable scheduled tasks
AUTO_RELOADFalseAuto-restart service on code changes
THREADS2Maximum number of threads
DBsqlite:///data/db.dbDatabase connection string
DINGDING_WEBHOOKEmptyDingTalk notification webhook URL
WECHAT_WEBHOOKEmptyWeChat notification webhook URL
FEISHU_WEBHOOKEmptyFeishu notification webhook URL
CUSTOM_WEBHOOKEmptyCustom notification webhook URL
SECRET_KEYwe-mp-rssSecret key
USER_AGENTMozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36/WeRssUser agent
SPAN_INTERVAL10Scheduled task execution interval (seconds)
WEBHOOK.CONTENT_FORMAThtmlArticle content sending format
PORT8001API service port
DEBUGFalseDebug mode
MAX_PAGE5Maximum scraping pages
RSS_BASE_URLEmptyRSS domain address
RSS_LOCALFalseWhether to use local RSS links
RSS_TITLEEmptyRSS title
RSS_DESCRIPTIONEmptyRSS description
RSS_COVEREmptyRSS cover
RSS_FULL_CONTEXTTrueWhether to display full text
RSS_ADD_COVERTrueWhether to add cover images
RSS_CDATAFalseWhether to enable CDATA
RSS_PAGE_SIZE30RSS pagination size
TOKEN_EXPIRE_MINUTES4320Login session validity duration (minutes)
CACHE.DIR./data/cacheCache directory
ARTICLE.TRUE_DELETEFalseWhether to truly delete articles
GATHER.CONTENTTrueWhether to collect content
GATHER.MODELappCollection mode
GATHER.CONTENT_AUTO_CHECKFalseWhether to automatically check uncollected article content
GATHER.CONTENT_AUTO_INTERVAL59Time interval for automatically checking uncollected article content (minutes)
GATHER.CONTENT_MODEwebContent correction mode
SAFE_HIDE_CONFIGdb,secret,token,notice.wechat,notice.feishu,notice.dingdingConfiguration information to hide
SAFE_LIC_KEYRACHELOSAuthorization encryption key
LOG_FILEEmptyLog file path
LOG_LEVELINFOLog level
EXPORT_PDFFalseWhether to enable PDF export functionality