Wechat AutoPublish
ReviewAudited by ClawScan on May 10, 2026.
Overview
This is a coherent WeChat article-draft publishing helper, but it requires WeChat credentials, uploads selected content/images to WeChat, and caches access tokens locally.
Before installing, make sure you are comfortable giving the skill WeChat AppID/AppSecret access. Keep config.json and .tokens out of source control, confirm apiBaseUrl stays on the official WeChat API unless you intentionally use a trusted proxy, review all local image paths before running, and monitor any cron jobs you create.
Findings (5)
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
Running the script with real credentials will create drafts and upload materials in the configured WeChat account.
The script can create a draft in a WeChat official account. This is the skill's stated purpose, but it is still a third-party account mutation.
url = f"{base_url}/cgi-bin/draft/add?access_token={access_token}" ... response = await client.post(url, json={'articles': [article]})Confirm the target account, title, body, and images before running. Review the draft in WeChat before any public send.
Anyone who gets the config file or cached token may be able to use the WeChat account's draft/material APIs.
The skill uses WeChat AppID/AppSecret to obtain account access tokens. This is expected for the WeChat API, but those credentials grant publishing-related authority.
params = {
'grant_type': 'client_credential',
'appid': account['appId'],
'secret': account['appSecret']
}Keep config.json and .tokens private, add them to .gitignore, restrict file permissions, and rotate the AppSecret if it is exposed.
Private or unintended images referenced in the HTML could be uploaded to the WeChat material library.
Local image files selected through article HTML paths are uploaded to the configured WeChat API endpoint. This is disclosed and purpose-aligned, but it moves local content to a provider account.
formData.append('media', fileStream); ... const response = await axios.post(url, formData, {Inspect article HTML and --content-dir before running, use explicit paths, and avoid including private files in image references.
Installing latest packages from package registries can expose users to ordinary dependency supply-chain risk.
The documentation asks users to install unpinned dependencies manually, and there is no install spec or lockfile. These packages are expected for the script, but dependency provenance is not locked.
Python: `pip install httpx` - Node.js: `npm install axios form-data`
Install from trusted package registries, consider pinning versions or using a lockfile, and review dependency sources for production use.
A recurring task could continue creating drafts or uploading content using stored credentials until it is disabled.
The skill documents optional scheduled execution through OpenClaw cron. This is user-directed, but it can keep invoking the publishing workflow after setup.
使用 OpenClaw cron 任务触发脚本执行
Review scheduled jobs regularly, disable cron tasks that are no longer needed, and ensure only trusted triggers can start publishing workflows.
