Communitygithub.com

bzd6661/wechat-article-for-ai

Convierte artículos de WeChat Official Account (微信公众号) en archivos Markdown limpios con imágenes descargadas localmente.

¿Qué es wechat-article-for-ai?

Esta habilidad permite a los agentes de IA, como Claude Code, Codex o Cursor, convertir artículos de cuentas oficiales de WeChat en archivos Markdown estructurados y limpios. Es especialmente útil para desarrolladores y usuarios que desean extraer contenido de WeChat para procesamiento de lenguaje natural, indexación o análisis. La herramienta descarga automáticamente las imágenes localmente, preserva bloques de código con detección de lenguaje, extrae metadatos en formato YAML y elimina el ruido de la interfaz de WeChat. Soporta ejecución por línea de comandos (CLI) para lotes de URL, así como integración como servidor Model Context Protocol (MCP) para uso directo desde el agente de IA. Funciona en cualquier sistema con Python 3.10+ y un navegador headless. La detección de CAPTCHA de WeChat puede requerir intervención manual ocasional.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Conversor de Artículos de WeChat a Markdown

Qué hace esta herramienta

Convierte artículos de cuentas públicas de WeChat en archivos Markdown limpios con:

  • YAML frontmatter (título, autor, fecha, URL de origen)
  • Imágenes descargadas localmente
  • Bloques de código preservados con detección de lenguaje
  • Extracción de referencias de audio/video
  • Formato limpio (sin ruido de la interfaz de WeChat)

Prerrequisitos

  • Python 3.10+
  • Instalar dependencias: pip install -r requirements.txt
  • El navegador Camoufox se descargará automáticamente en la primera ejecución

Uso

CLI (artículo individual)

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

CLI (lote desde archivo)

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

Opciones de CLI

FlagDescripción
-f FILEArchivo de texto con URLs (una por línea)
-o DIRDirectorio de salida (predeterminado: ./output)
-c NConcurrencia de descarga de imágenes (predeterminado: 5)
--no-imagesOmitir descarga de imágenes, mantener URLs remotas
--no-headlessMostrar el navegador (para resolver CAPTCHAs)
--forceSobrescribir salida existente
--no-frontmatterUsar metadatos en blockquote en lugar de YAML
-vRegistro detallado/de depuración

Servidor MCP

Ejecutar como servidor MCP para integración con herramientas de IA:

python mcp_server.py

Expone dos herramientas:

  • convert_article(url, output_dir, download_images, concurrency, use_frontmatter) — Convierte un artículo individual
  • batch_convert(urls, output_dir, download_images, concurrency) — Convierte múltiples artículos

Configuración MCP (para claude_desktop_config.json o similar)

{
  "mcpServers": {
    "wechat-to-md": {
      "command": "python",
      "args": ["mcp_server.py"],
      "cwd": "<ruta-a-este-proyecto>"
    }
  }
}

Estructura de Salida

output/
  <título-del-artículo>/
    <título-del-artículo>.md    # Archivo Markdown con YAML frontmatter
    images/
      img_001.png
      img_002.jpg
      ...

Problemas Comunes

  • Página CAPTCHA/verificación: Ejecutar con --no-headless para resolver manualmente el CAPTCHA en la ventana del navegador y luego reintentar.
  • Contenido vacío: WeChat puede limitar la frecuencia de solicitudes. Espera unos minutos e intenta de nuevo.
  • Fallos en descarga de imágenes: Las imágenes fallidas mantienen sus URLs remotas en el Markdown. Vuelve a ejecutar con --force para reintentar.

Limitaciones

  • Solo admite artículos de mp.weixin.qq.com
  • Requiere una conexión a internet funcional y la capacidad de ejecutar un navegador headless
  • WeChat puede bloquear el acceso automatizado; Camoufox ayuda a evadir la detección pero no está garantizado

Skills relacionados