Install
openclaw skills install @harven-droid/wechat-article-archiveSave WeChat Official Account articles and image-note / 小绿书 pages from mp.weixin.qq.com into a user-specified local folder as Markdown plus local assets. Use...
openclaw skills install @harven-droid/wechat-article-archiveArchive a WeChat Official Account article to local files:
target-folder/
Article title.md
assets/
image-01-xxxx.jpg
image-02-xxxx.png
mp.weixin.qq.com article URLcd "${CODEX_HOME:-$HOME/.codex}/skills/wechat-article-archive"
.venv/bin/python scripts/archive_wechat_article.py "<wechat-url>" "<destination-folder>"
assets/ directory pathUse scripts/archive_wechat_article.py.
Arguments:
.venv/bin/python scripts/archive_wechat_article.py "<url>" "<output_dir>" [--filename "custom.md"] [--skip-images] [--html-file "page.html"] [--image-timeout 30]
Behavior:
extract.js.<output_dir>/assets/.assets/... paths.picture_page_info_list in display order.picture_page_info_list also appears on a normal long article, prefers the substantive structured HTML body instead of replacing it with the short page description and image list.--html-file when direct URL fetching is blocked or returns a different page. Keep the original WeChat URL as the first argument so metadata retains the source link.body_text_length, body_img_count, downloaded_image_count, and image_failures; do not treat ok: true alone as proof that the article is complete.Run once if dependencies are missing:
cd "${CODEX_HOME:-$HOME/.codex}/skills/wechat-article-archive"
npm install
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
Required commands:
python3nodepackage.jsonIf node is not on PATH but available elsewhere, set:
NODE=/absolute/path/to/node .venv/bin/python scripts/archive_wechat_article.py "<url>" "<output_dir>"
不支持的链接 → URL is not a supported WeChat article link.访问过于频繁 → WeChat blocked the request temporarily; retry later or use another network/session.extractor not found → skill files are incomplete.Cannot find module ... → run npm install in the skill directory.#js_content as an image-less article when picture_page_info_list is present.assets/.