feat: add WeChat Official Account channel (#54) (#67)

New channel: wechat (微信公众号文章)
- Backend: wechat-article-for-ai (Camoufox stealth browser)
- Can read mp.weixin.qq.com article URLs → clean Markdown
- Bypasses WeChat anti-bot detection via stealth Firefox
- Doctor checks for camoufox package availability
- SKILL.md updated with usage examples

Co-authored-by: Panniantong <panniantong@users.noreply.github.com>
This commit is contained in:
Pnant
2026-03-04 17:53:39 +08:00
committed by GitHub
parent 561b248a2b
commit 4f4ad99d49
3 changed files with 52 additions and 1 deletions
+32
View File
@@ -0,0 +1,32 @@
# -*- coding: utf-8 -*-
"""WeChat Official Account articles — check if wechat-article-for-ai is available."""
import shutil
import subprocess
from .base import Channel
class WeChatChannel(Channel):
name = "wechat"
description = "微信公众号文章"
backends = ["wechat-article-for-ai (Camoufox)"]
tier = 2
def can_handle(self, url: str) -> bool:
from urllib.parse import urlparse
d = urlparse(url).netloc.lower()
return "mp.weixin.qq.com" in d or "weixin.qq.com" in d
def check(self, config=None):
try:
import camoufox # noqa: F401
except ImportError:
return "off", (
"需要 wechat-article-for-ai。安装:\n"
" pip install camoufox[geoip] markdownify beautifulsoup4 httpx mcp\n"
" # 或完整安装:\n"
" git clone https://github.com/bzd6661/wechat-article-for-ai.git\n"
" cd wechat-article-for-ai && pip install -r requirements.txt\n"
" 详见 https://github.com/bzd6661/wechat-article-for-ai"
)
return "ok", "可读取微信公众号文章(URL → Markdown"