[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-72350":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":23,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":39,"readmeContent":40,"aiSummary":41,"trendingCount":16,"starSnapshotCount":16,"syncStatus":42,"lastSyncTime":43,"discoverSource":44},72350,"we-mp-rss","rachelos\u002Fwe-mp-rss","rachelos","✨符合阅读习惯的微信公众号助手、微信公众号转MarkDown、微信公众号转PDF、定时更新订阅公众号文章、生成微信公众号RSS订阅源、导出微信公众号订阅源、支持微信公众号Webhook\u002F微信公众号API\u002FAI Agent接入微信公众号微信公众号、订阅微信公众号、微信公众号助手 、微信公众号阅读、微信公众号接口、微信公众号爬虫、微信公众号监测、标签订阅微信公众号、微信公众号源、微信公众号读书、微信公众号文章、微信公众号框架、微信公众号管理、微信公众号源、微信公众号平台、微信公众号代码、微信公众号系统、微信公众号源码","https:\u002F\u002Fwerss.csol.store",null,"Python",3473,590,16,8,0,70,170,379,210,110.31,"Other",false,"main",true,[27,28,29,30,31,5,32,33,34,35,36,37,38],"folo","mysql","rss-feed","rss-hub","rsshub","weichat","weixin","weread","werss","wexinrss","wx","wxsprider","2026-06-12 04:01:04","\u003Cdiv align=center>\n\u003Cimg src=\"static\u002Flogo.svg\" alt=\"We-MP-RSS Logo\" width=\"20%\">\n\u003Ch1>WeRSS - WeChat Official Account RSS Subscription Assistant\u003C\u002Fh1>\n\n[![Python Version](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fpython-3.13.1+-red.svg)]()\n[![License](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-green.svg)]()\n\n[中文](README.zh-CN.md)|[English](ReadMe.md)\n\nQuick Start\n```\ndocker run -d  --name we-mp-rss  -p 8001:8001 -v .\u002Fdata:\u002Fapp\u002Fdata  ghcr.io\u002Frachelos\u002Fwe-mp-rss:latest\n```\nVisit http:\u002F\u002F\u003Cyour-ip>:8001\u002F to get started\n\n# Quick Upgrade \n\n```\ndocker stop we-mp-rss\ndocker rm we-mp-rss\ndocker pull ghcr.io\u002Frachelos\u002Fwe-mp-rss:latest\n# If you added other parameters, please modify accordingly\ndocker run -d  --name we-mp-rss  -p 8001:8001 -v .\u002Fdata:\u002Fapp\u002Fdata  ghcr.io\u002Frachelos\u002Fwe-mp-rss:latest\n```\n\n# Official Image\n```\ndocker run -d  --name we-mp-rss  -p 8001:8001 -v .\u002Fdata:\u002Fapp\u002Fdata  rachelos\u002Fwe-mp-rss:latest\n```\n# Proxy Mirror for Faster Access (Faster access in China)\n```\ndocker run -d  --name we-mp-rss  -p 8001:8001 -v .\u002Fdata:\u002Fapp\u002Fdata  docker.1ms.run\u002Frachelos\u002Fwe-mp-rss:latest  \n```\n\n# Special Thanks (In no particular order)\ncyChaos, 子健MeLift, 晨阳, 童总, 胜宇, 军亮, 余光, 一路向北, 水煮土豆丝, 人可, 须臾, 澄明, 五梭,Jarvis,三三,哈基米,苹果 \n\n\n \u003Cbr\u002F>\n \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fcbe924f2-d8b0-48b0-814e-7c06ccb1911c\" height=\"60\" \u002F>\n    \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6997a236-3df3-49d5-98a4-514f6d1a02c4\" height=\"60\" \u002F>\n    \u003Cbr \u002F>\n    \u003Cbr \u002F>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FRSSNext\u002FFolo\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FRSSNext\u002FFollow?color=ffcb47&labelColor=black&style=flat-square&logo=github&label=Stars\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FRSSNext\u002FFolo\u002Fgraphs\u002Fcontributors\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fcontributors\u002FRSSNext\u002FFolo?style=flat-square&logo=github&label=Contributors&labelColor=black\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fstatus.follow.is\u002F\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fstatus.follow.is\u002Fapi\u002Fbadge\u002F18\u002Fuptime?color=%2344CC10&labelColor=black&style=flat-square\"\u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FRSSNext\u002FFolo\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002FRSSNext\u002FFolo\u002Ftotal?color=369eff&labelColor=black&logo=github&style=flat-square&label=Downloads\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fx.com\u002Fintent\u002Ffollow?screen_name=folo_is\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFollow-blue?color=1d9bf0&logo=x&labelColor=black&style=flat-square\" \u002F>\u003C\u002Fa>\n    \u003Ca href=\"https:\u002F\u002Fdiscord.gg\u002Ffollowapp\" target=\"_blank\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdynamic\u002Fjson?url=https%3A%2F%2Fdiscord.com%2Fapi%2Finvites%2Ffollowapp%3Fwith_counts%3Dtrue&query=approximate_member_count&color=5865F2&label=Discord&labelColor=black&logo=discord&logoColor=white&style=flat-square\"\u002F>\u003C\u002Fa>\n    \u003Cbr \u002F>\nA tool for subscribing to and managing WeChat Official Account content, providing RSS subscription functionality.\n\u003C\u002Fdiv>\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002FDIYgod\u002Fsponsors\">\n    \u003Cimg src=\"https:\u002F\u002Fraw.githubusercontent.com\u002FDIYgod\u002Fsponsors\u002Fmain\u002Fsponsors.wide.svg\" \u002F>\n  \u003C\u002Fa>\n\u003C\u002Fp>\n\n## Features\n\n- WeChat Official Account content scraping and parsing\n- RSS feed generation\n- User-friendly web management interface\n- Scheduled automatic content updates\n- Multiple database support (default SQLite, optional MySQL)\n- Multiple scraping methods support\n- Multiple RSS client support\n- Authorization expiration reminders\n- Custom notification channels\n- Custom RSS title, description, and cover\n- Custom RSS pagination size\n- Export to md\u002Fdocx\u002Fpdf\u002Fjson formats\n- API interface and WebHook support\n- HTML content filtering rules (global rules and MP-specific rules)\n- Multi-theme support (13 themes: Default Purple, Blue, Green, Orange, Rose, Teal, Pink, Indigo, Violet, Coffee, Navy, Dark Mode, Sepia)\n- Responsive pagination (PC: click navigation, Mobile: load more button)\n- **Cascade System**: Parent-child node architecture with intelligent task distribution for scaling collection capabilities\n- **Environment Exception Statistics**: Automatic tracking and statistics of environment exceptions when accessing WeChat articles\n- **Headers and Cookies Authentication**: Support custom headers and cookies in message tasks for authenticated webhook calls\n- **Configuration Cache**: Support Redis, Memcached, and memory caching for improved configuration read performance\n\n\n# ❤️ Sponsorship\nIf you find We-MP-RSS helpful, feel free to buy me a beer!\u003Cbr\u002F>\n\u003Cimg src=\"docs\u002F赞赏码.jpg\" width=180\u002F>\n[Paypal](https:\u002F\u002Fwww.paypal.com\u002Fncp\u002Fpayment\u002FPUA72WYLAV5KW)\n\n## Screenshots\n- Login Interface  \n\u003Cimg src=\"docs\u002F登录.png\" alt=\"Login\" width=\"80%\"\u002F>\u003Cbr\u002F>\n- Main Interface  \n\u003Cimg src=\"docs\u002F主界面.png\" alt=\"Main Interface\" width=\"80%\"\u002F>\u003Cbr\u002F>\n- QR Code Authorization  \n\u003Cimg src=\"docs\u002F扫码授权.png\" alt=\"QR Code Authorization\" width=\"80%\"\u002F>\u003Cbr\u002F>\n- Add Subscription  \n\u003Cimg src=\"docs\u002F添加订阅.png\" alt=\"Add Subscription\" width=\"80%\"\u002F>\u003Cbr\u002F>\n\n- Client Application\u003Cbr\u002F>\n\u003Cimg src=\"docs\u002Ffolo.webp\" alt=\"FOLO Client Application\" width=\"80%\"\u002F>\u003Cbr\u002F>\n\n\n\n## System Architecture\n\nThe project adopts a front-end and back-end separation architecture:\n- Backend: Python + FastAPI\n- Frontend: Vue 3 + Vite\n- Database: SQLite (default)\u002FMySQL\n\u003Cimg src=\"docs\u002F架构原理.png\" alt=\"Architecture Diagram\" width=\"80%\"\u002F>\n\nFor more project principles, please refer to the [Project Documentation](https:\u002F\u002Fdeepwiki.com\u002Frachelos\u002Fwe-mp-rss\u002F3.5-notification-system).\n\n## HTML Content Filtering Rules\n\nWeRSS supports custom HTML content filtering rules to automatically clean unwanted elements during article content collection, such as ads, recommendation links, etc.\n\n### Features\n\n- **Global Rules**: Apply to all official accounts when no specific account is selected\n- **MP-Specific Rules**: Configure different filtering rules for specific official accounts\n- **Priority Control**: Set rule priority (higher number = executed first)\n- **Multiple Filtering Methods**:\n  - Remove elements by ID\n  - Remove elements by CSS Class\n  - Remove elements by CSS Selector\n  - Filter elements by attribute\n  - Remove content by regular expression\n  - Remove common HTML elements (script, style, comments, etc.)\n\n### Usage\n\n1. Login to the admin interface, go to \"Filter Rules\" page\n2. Click \"Add Filter Rule\"\n3. Configure the rule:\n   - **Select Official Account**: Optional, leave empty for global rules\n   - **Rule Name**: A descriptive name for the rule\n   - **Priority**: Higher number means higher priority (0-100)\n   - **Filter Configuration**:\n     - Remove ID elements: One ID per line, e.g., `ad-banner`\n     - Remove Class elements: One class per line, e.g., `ad-container`\n     - CSS Selectors: e.g., `div.ad-wrapper`, `.recommend-list > li`\n     - Attribute filtering: e.g., `data-type=\"ad\"`\n     - Regular expressions: For precise content matching and removal\n\n### API Endpoints\n\n```bash\n# Get filter rules list\nGET \u002Fapi\u002Ffilter-rules\n\n# Create filter rule\nPOST \u002Fapi\u002Ffilter-rules\n{\n  \"mp_id\": \"[]\",  \u002F\u002F Empty array for global rules\n  \"rule_name\": \"Global Ad Filter\",\n  \"remove_ids\": [\"ad-banner\"],\n  \"remove_classes\": [\"ad-container\"],\n  \"priority\": 10\n}\n\n# Update filter rule\nPUT \u002Fapi\u002Ffilter-rules\u002F{rule_id}\n\n# Delete filter rule\nDELETE \u002Fapi\u002Ffilter-rules\u002F{rule_id}\n```\n\n## Installation Guide\n\n# Development\n## Environment Requirements\n- Python>=3.13.1\n- Node>=20.18.3\n### Backend Service\n\n1. Clone the project\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Frachelos\u002Fwe-mp-rss.git\ncd we-mp-rss\n```\n\n2. Install Python dependencies\n```bash\npip install -r requirements.txt\n```\n\n3. Configure database\nCopy and modify the configuration file:\n```bash\ncp config.example.yaml config.yaml\ncopy config.example.yaml config.yaml\n```\n3. Start the service\n```bash\npython main.py -job True -init True\n```\n\n## Frontend Development\n1. Install frontend dependencies\n```bash\ncd we-mp-rss\u002Fweb_ui\nyarn install\n```\n\n2. Start frontend service\n```bash\nyarn dev\n```\n3. Access frontend page\n```\nhttp:\u002F\u002Flocalhost:3000\n```\n\n# Environment Variable Configuration\n\nThe following are the environment variable configurations supported in `config.yaml`:\n\n| Environment Variable | Default Value | Description |\n|----------|--------|------|\n| `APP_NAME` | `we-mp-rss` | Application name |\n| `SERVER_NAME` | `we-mp-rss` | Server name |\n| `WEB_NAME` | `WeRSS微信公众号订阅助手` | Frontend display name |\n| `SEND_CODE` | `False` | Whether to send authorization QR code in expired notification (text-only notification by default) |\n| `CODE_TITLE` | `WeRSS授权二维码` | QR code notification title |\n| `ENABLE_JOB` | `True` | Whether to enable scheduled tasks |\n| `AUTO_RELOAD` | `False` | Auto-restart service on code changes |\n| `THREADS` | `2` | Maximum number of threads |\n| `DB` | `sqlite:\u002F\u002F\u002Fdata\u002Fdb.db` | Database connection string |\n| `DINGDING_WEBHOOK` | Empty | DingTalk notification webhook URL |\n| `WECHAT_WEBHOOK` | Empty | WeChat notification webhook URL |\n| `FEISHU_WEBHOOK` | Empty | Feishu notification webhook URL |\n| `CUSTOM_WEBHOOK` | Empty | Custom notification webhook URL |\n| `SECRET_KEY` | `we-mp-rss` | Secret key |\n| `USER_AGENT` | `Mozilla\u002F5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\u002F537.36\u002FWeRss` | User agent |\n| `SPAN_INTERVAL` | `10` | Scheduled task execution interval (seconds) |\n| `WEBHOOK.CONTENT_FORMAT` | `html` | Article content sending format |\n| `PORT` | `8001` | API service port |\n| `DEBUG` | `False` | Debug mode |\n| `MAX_PAGE` | `5` | Maximum scraping pages |\n| `RSS_BASE_URL` | Empty | RSS domain address |\n| `RSS_LOCAL` | `False` | Whether to use local RSS links |\n| `RSS_TITLE` | Empty | RSS title |\n| `RSS_DESCRIPTION` | Empty | RSS description |\n| `RSS_COVER` | Empty | RSS cover |\n| `RSS_FULL_CONTEXT` | `True` | Whether to display full text |\n| `RSS_ADD_COVER` | `True` | Whether to add cover images |\n| `RSS_CDATA` | `False` | Whether to enable CDATA |\n| `RSS_PAGE_SIZE` | `30` | RSS pagination size |\n| `TOKEN_EXPIRE_MINUTES` | `4320` | Login session validity duration (minutes) |\n| `CACHE.DIR` | `.\u002Fdata\u002Fcache` | Cache directory |\n| `ARTICLE.TRUE_DELETE` | `False` | Whether to truly delete articles |\n| `GATHER.CONTENT` | `True` | Whether to collect content |\n| `GATHER.MODEL` | `app` | Collection mode |\n| `GATHER.CONTENT_AUTO_CHECK` | `False` | Whether to automatically check uncollected article content |\n| `GATHER.CONTENT_AUTO_INTERVAL` | `59` | Time interval for automatically checking uncollected article content (minutes) |\n| `GATHER.CONTENT_MODE` | `web` | Content correction mode |\n| `SAFE_HIDE_CONFIG` | `db,secret,token,notice.wechat,notice.feishu,notice.dingding` | Configuration information to hide |\n| `SAFE_LIC_KEY` | `RACHELOS` | Authorization encryption key |\n| `LOG_FILE` | Empty | Log file path |\n| `LOG_LEVEL` | `INFO` | Log level |\n| `EXPORT_PDF` | `False` | Whether to enable PDF export functionality |\n\n\n\n\n","We-mp-rss 是一个用于订阅和管理微信公众号内容的工具，提供RSS订阅功能。其核心功能包括将微信公众号文章转换为Markdown或PDF格式、定时更新订阅的文章并生成RSS订阅源。技术上基于Python开发，并支持Docker部署，方便用户快速启动和使用。此外，它还支持通过Webhook\u002FAPI接入其他服务，增强了系统的灵活性与扩展性。适合需要集中管理和阅读多个微信公众号内容的个人或团队使用，在信息聚合、内容备份等场景下尤为适用。",2,"2026-06-11 03:41:27","high_star"]