agentCLAWHUBUnverified

WeChat Article Archive

Archive WeChat articles and image notes locally Skill: WeChat Article Archive Owner: harven-droid Summary: Archive WeChat articles and image notes locally Tags: archive:1.1.5, latest:1.1.5, wechat:1.1.5 Version history: v1.1.5 | 2026-09-10T06:57:06.710Z | user Fix missing images in Xiaolushu image notes by supporting picture_page_info_list in both assignment (=) and object-property (:) syntax. Preserve image order and substantive full-article content. v1.1.4 | 202

OpenClaw

Rank

62

Safety

84

Downloads

1.4k

Updated

Oct 10, 2026

Version

1.1.5

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.4K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.4K downloadsadoption · observed Oct 10, 2026
Latest release
1.1.5release · observed Sep 10, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17b95kvfzb5cdt2sy8s534dns842jax:wechat-article-archive
  1. Node.js workspace detected. Install dependencies securely: run `npm ci --ignore-scripts` to prevent post-install lifecycle triggers from running arbitrary code, then selectively audit the dependency tree.
  2. Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
  3. Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-harven-droid-wechat-article-archive/snapshot"

Documentation

CLAWHUB

144,483 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: wechat-article-archive
description: Save 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 when the user asks to 保存/归档/下载/导出公众号文章、提取多张图片、从浏览器保存的最终 HTML 恢复文章,or generate Markdown with WeChat images copied locally instead of uploading to IMA or another cloud service.
---

# WeChat Article Archive

Archive a WeChat Official Account article to local files:

```text
target-folder/
  Article title.md
  assets/
    image-01-xxxx.jpg
    image-02-xxxx.png
```

## Workflow

1. Confirm the user provided both:
   - a `mp.weixin.qq.com` article URL
   - a destination folder
2. Run the bundled script from this skill directory:

```bash
cd "${CODEX_HOME:-$HOME/.codex}/skills/wechat-article-archive"
.venv/bin/python scripts/archive_wechat_article.py "<wechat-url>" "<destination-folder>"
```

3. Read the JSON output and report:
   - Markdown file path
   - `assets/` directory path
   - downloaded image count
   - any image download failures

## Script

Use `scripts/archive_wechat_article.py`.

Arguments:

```bash
.venv/bin/python scripts/archive_wechat_article.py "<url>" "<output_dir>" [--filename "custom.md"] [--skip-images] [--html-file "page.html"] [--image-timeout 30]
```

Behavior:

- Parses the article with the bundled `extract.js`.
- Preserves title, author, account name, publish time, original link, body text, headings, tables, blockquotes, lists, code blocks, and inline image order.
- Downloads body images into `<output_dir>/assets/`.
- Rewrites Markdown image links to relative `assets/...` paths.
- Supports WeChat image-note / 小绿书 pages by extracting every top-level image from `picture_page_info_list` in display order.
- Preserves image-note / 小绿书 body text from the page description, decodes escaped line breaks, and writes the text before the ordered images.
- When `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.
- Accepts a browser-saved final page source through `--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.
- If the body contains no inline images but the article has a cover image, inserts and downloads the cover image.
- Prints a JSON result for verification. Check `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.

## Dependencies

Run once if dependencies are missing:

```bash
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:

- `python3`
- `node`
- npm dependencies declared in `package.json`

If `node` is not on PATH but available elsewhere, set:

```bash
NODE=/absol

_meta.json

{
  "ownerId": "kn72j0qng9f6mm49z983cyzw1982naag",
  "slug": "wechat-article-archive",
  "version": "1.1.5",
  "publishedAt": 1789023426710
}

skill-card.md

## Description:

Saves WeChat Official Account articles and image-note pages from mp.weixin.qq.com into a user-specified local folder as Markdown with local assets.

This skill is ready for commercial/non-commercial use.

## Publisher:

[harven-droid](https://clawhub.ai/user/harven-droid)

### License/Terms of Use:

MIT-0

## Use Case:

Developers, researchers, and content archivists use this skill to save supported WeChat article or image-note URLs, or browser-saved final HTML, as local Markdown with copied images. It is intended for local archiving and verification of article content, not cloud upload, knowledge-base import, or message sending.

### Deployment Geography for Use:

Global

## Known Risks and Mitigations:

Risk: Embedded image URLs can be downloaded into the archive without host, scheme, size, or network-safety limits.

Mitigation: Use the skill only with WeChat URLs and output folders you choose, consider --skip-images for untrusted content, and run it in a sandboxed environment without access to internal networks or sensitive local files.

Risk: Browser-saved HTML from an untrusted source may contain asset references that affect what the downloader fetches.

Mitigation: Review saved HTML before use or disable image downloading for untrusted inputs until asset URL and size limits are added.

## Reference(s):

- [WeChat Article Archive on ClawHub](https://clawhub.ai/harven-droid/skills/wechat-article-archive)
- [Publisher profile: harven-droid](https://clawhub.ai/user/harven-droid)

## Skill Output:

**Output Type(s):** [text, markdown, files, shell commands, configuration, guidance]

**Output Format:** [Markdown article file, local asset files, JSON run summary, and concise text guidance]

**Output Parameters:** [1D]

**Other Properties Related to Output:** [Creates or reuses the requested destination folder and assets directory; image downloads can be skipped with --skip-images.]

## Skill Version(s):

1.1.5 (source: server release evidence)

## Ethical Considerations:

Users should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.

package-lock.json

{
  "name": "wechat-article-archive",
  "lockfileVersion": 3,
  "requires": true,
  "packages": {
    "": {
      "dependencies": {
        "cheerio": "^1.2.0",
        "dayjs": "^1.11.19",
        "lodash.unescape": "^4.0.1",
        "qs": "^6.15.0"
      }
    },
    "node_modules/boolbase": {
      "version": "1.0.0",
      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
      "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
      "license": "ISC"
    },
    "node_modules/call-bind-apply-helpers": {
      "version": "1.0.2",
      "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
      "license": "MIT",
      "dependencies": {
        "es-errors": "^1.3.0",
        "function-bind": "^1.1.2"
      },
      "engines": {
        "node": ">= 0.4"
      }
    },
    "node_modules/call-bound": {
      "version": "1.0.4",
      "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
      "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
      "license": "MIT",
      "dependencies": {
        "call-bind-apply-helpers": "^1.0.2",
        "get-intrinsic": "^1.3.0"
      },
      "engines": {
        "node": ">= 0.4"
      },
      "funding": {
        "url": "https://github.com/sponsors/ljharb"
      }
    },
    "node_modules/cheerio": {
      "version": "1.2.0",
      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.2.0.tgz",
      "integrity": "sha512-WDrybc/gKFpTYQutKIK6UvfcuxijIZfMfXaYm8NMsPQxSYvf+13fXUJ4rztGGbJcBQ/GF55gvrZ0Bc0bj/mqvg==",
      "license": "MIT",
      "dependencies": {
        "cheerio-select": "^2.1.0",
        "dom-serializer": "^2.0.0",
        "domhandler": "^5.0.3",
        "domutils": "^3.2.2",
        "encoding-sniffer": "^0.2.1",
        "htmlparser2": "^10.1.0",
        "parse5": "^7.3.0",
        "parse5-htmlparser2-tree-adapter": "^7.1.0",
        "parse5-parser-stream": "^7.1.2",
        "undici": "^7.19.0",
        "whatwg-mimetype": "^4.0.0"
      },
      "engines": {
        "node": ">=20.18.1"
      },
      "funding": {
        "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
      }
    },
    "node_modules/cheerio-select": {
      "version": "2.1.0",
      "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
      "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
      "license": "BSD-2-Clause",
      "dependencies": {
        "boolbase": "^1.0.0",
        "css-select": "^5.1.0",
        "css-what": "^6.1.0",
        "domelementtype": "^2.3.0",
        "domhandler": "^5.0.3",
        "domutils": "^3.0.1"
      },
      "funding": {
        "url": "https://github.com/spo

package.json

{
  "dependencies": {
    "cheerio": "^1.2.0",
    "dayjs": "^1.11.19",
    "lodash.unescape": "^4.0.1",
    "qs": "^6.15.0"
  }
}
Github ReposUpdated 19h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/harven-droid/skills/wechat-article-archive",
      "sourceUrl": "https://clawhub.ai/harven-droid/skills/wechat-article-archive",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T12:28:38.617Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-harven-droid-wechat-article-archive/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-harven-droid-wechat-article-archive/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T12:28:38.617Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.4K downloads",
      "href": "https://clawhub.ai/harven-droid/wechat-article-archive",
      "sourceUrl": "https://clawhub.ai/harven-droid/wechat-article-archive",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T12:28:38.617Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.1.5",
      "href": "https://clawhub.ai/harven-droid/wechat-article-archive",
      "sourceUrl": "https://clawhub.ai/harven-droid/wechat-article-archive",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-10T06:57:06.710Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-harven-droid-wechat-article-archive/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-harven-droid-wechat-article-archive/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.1.5",
      "description": "Fix missing images in Xiaolushu image notes by supporting picture_page_info_list in both assignment (=) and object-property (:) syntax. Preserve image order and substantive full-article content.",
      "href": "https://clawhub.ai/harven-droid/wechat-article-archive",
      "sourceUrl": "https://clawhub.ai/harven-droid/wechat-article-archive",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-10T06:57:06.710Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to WeChat Article Archive and adjacent AI workflows.