Communitygithub.com

bzd6661/wechat-article-for-ai

微信公众号記事をクリーンなMarkdownファイルに変換し、画像をローカルにダウンロードします。

wechat-article-for-ai とは?

このスキルは、AIエージェントや開発者が微信公众号(WeChat Official Account)の記事を取得し、構造化されたMarkdownファイルに変換するためのツールです。記事のタイトル、著者、日付、ソースURLをYAMLフロントマターとして保持し、画像はローカルにダウンロードして埋め込みます。コードブロックの言語検出や音声・動画の参照抽出もサポートしており、不要なUIノイズを取り除いたクリーンな出力を提供します。CLIツールとして単一記事の変換やバッチ処理が可能で、さらにMCPサーバーとして動作させることで、Claude CodeやCursorなどのAIエージェントから直接ツールを呼び出すことができます。Camoufoxブラウザを用いて自动化アクセスを実現していますが、WeChatのアクセス制限やCAPTCHA対策には注意が必要です。

対応✓Claude Code~Codex CLI~Cursor
npx skills add bzd6661/wechat-article-for-ai

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

WeChat Article to Markdown Converter

このツールの機能

WeChatの公開アカウント記事をクリーンなMarkdownファイルに変換します。

  • YAMLフロントマター(タイトル、作者、日付、ソースURL)
  • ローカルにダウンロードされた画像
  • 言語検出付きのコードブロック保持
  • 音声/動画の参照抽出
  • クリーンなフォーマット(WeChat UIのノイズ除去)

前提条件

  • Python 3.10+
  • 依存関係のインストール: pip install -r requirements.txt
  • 初回実行時にCamoufoxブラウザが自動ダウンロードされます

使い方

CLI(単一記事)

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

CLI(ファイルからバッチ処理)

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

CLIオプション

フラグ説明
-f FILEURLが1行ずつ書かれたテキストファイル
-o DIR出力ディレクトリ(デフォルト: ./output)
-c N画像ダウンロードの並行数(デフォルト: 5)
--no-images画像ダウンロードをスキップし、リモートURLを保持
--no-headlessブラウザを表示(CAPTCHA解決用)
--force既存の出力を上書き
--no-frontmatterYAMLの代わりにblockquote形式のメタデータを使用
-v詳細/デバッグログ

MCPサーバー

AIツール連携のためのMCPサーバーとして実行:

python mcp_server.py

2つのツールを公開:

  • convert_article(url, output_dir, download_images, concurrency, use_frontmatter) — 単一記事を変換
  • batch_convert(urls, output_dir, download_images, concurrency) — 複数記事を変換

MCP設定(claude_desktop_config.jsonなど)

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

出力構造

output/
  <article-title>/
    <article-title>.md    # YAMLフロントマター付きMarkdownファイル
    images/
      img_001.png
      img_002.jpg
      ...

よくある問題

  • CAPTCHA/検証ページ: --no-headless を使用してブラウザを表示し、手動でCAPTCHAを解決してから再試行してください。
  • 空のコンテンツ: WeChatがリクエストをレート制限している可能性があります。数分待ってから再試行してください。
  • 画像のダウンロード失敗: 失敗した画像はMarkdown内でリモートURLのまま残ります。--force を指定して再実行すると再試行できます。

制限事項

  • mp.weixin.qq.com の記事のみサポート
  • 動作するインターネット接続とヘッドレスブラウザの実行環境が必要
  • WeChatが自動アクセスをブロックする可能性があります。Camoufoxは検出を回避するのに役立ちますが、保証はされません。

関連スキル