Skip to content
cccskills
FreePublished on GitHub

wechat-to-md

Convert WeChat Official Account (微信公众号) articles to clean Markdown files with locally downloaded images.

The English summary is being prepared. Showing the original description.

See how to install

Files included (15)

  • SKILL.md2.6 KB
  • .gitignore88 B
  • main.py114 B
  • mcp_server.py140 B
  • README.md7.8 KB
  • requirements.txt53 B
  • wechat_to_md/__init__.py406 B
  • wechat_to_md/cli.py7.6 KB
  • wechat_to_md/converter.py4.2 KB
  • wechat_to_md/downloader.py3.3 KB
  • wechat_to_md/errors.py455 B
  • wechat_to_md/mcp_server.py4.5 KB
  • wechat_to_md/parser.py6.5 KB
  • wechat_to_md/scraper.py3.1 KB
  • wechat_to_md/utils.py3.1 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

WeChat Article to Markdown Converter

What this tool does

Converts WeChat public account articles into clean Markdown files with:

  • YAML frontmatter (title, author, date, source URL)
  • Locally downloaded images
  • Preserved code blocks with language detection
  • Audio/video reference extraction
  • Clean formatting (no WeChat UI noise)

Prerequisites

  • Python 3.10+
  • Install dependencies: pip install -r requirements.txt
  • Camoufox browser will be auto-downloaded on first run

Usage

CLI (single article)

python main.py "https://mp.weixin.qq.com/s/ARTICLE_ID"

CLI (batch from file)

python main.py -f urls.txt -o ./output -v

CLI Options

FlagDescription
-f FILEText file with URLs (one per line)
-o DIROutput directory (default: ./output)
-c NImage download concurrency (default: 5)
--no-imagesSkip image download, keep remote URLs
--no-headlessShow browser (for solving CAPTCHAs)
--forceOverwrite existing output
--no-frontmatterUse blockquote metadata instead of YAML
-vVerbose/debug logging

MCP Server

Run as an MCP server for AI tool integration:

python mcp_server.py

Exposes two tools:

  • convert_article(url, output_dir, download_images, concurrency, use_frontmatter) — Convert a single article
  • batch_convert(urls, output_dir, download_images, concurrency) — Convert multiple articles

MCP Configuration (for claude_desktop_config.json or similar)

{
  "mcpServers": {
    "wechat-to-md": {
      "command": "python",
      "args": ["mcp_server.py"],
      "cwd": "<path-to-this-project>"
    }
  }
}

Output Structure

output/
  <article-title>/
    <article-title>.md    # Markdown file with YAML frontmatter
    images/
      img_001.png
      img_002.jpg
      ...

Common Issues

  • CAPTCHA/verification page: Run with --no-headless to manually solve the CAPTCHA in the browser window, then retry.
  • Empty content: WeChat may rate-limit requests. Wait a few minutes and try again.
  • Image download failures: Failed images keep their remote URLs in the markdown. Re-run with --force to retry.

Limitations

  • Only supports articles from mp.weixin.qq.com
  • Requires a working internet connection and the ability to run a headless browser
  • WeChat may block automated access; Camoufox helps evade detection but is not guaranteed

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

Report a problem with this skill