runspool-wechat
The official RunSpool plugin for WeChat Official Accounts: lay out a Markdown article the way the WeChat editor keeps it, and save it as a draft through the official API, after a human approves.
It never sends anything to followers. Sending stays a decision made in the WeChat back end (where you also turn on the original-content declaration, which the API cannot set).
Use it
# runspool.yaml
workspace_root: ./workspace
bundles: [core, builtin-steps, wechat]
patch:
- id: wechat
config:
author: Your Name
runspool -c runspool.yaml wechat preview post/wechat.md # phone-width preview page
runspool -c runspool.yaml wechat token # check credentials + IP whitelist
runspool -c runspool.yaml add post/wechat.md --workflow wechat_article
runspool -c runspool.yaml run # renders, then waits for approval
runspool -c runspool.yaml approve 1 # approve this draft attempt
runspool -c runspool.yaml run # uploads images + cover, saves the draft
The article is Markdown with a # Title, optional front matter (digest, author,
cover) or a draft template (## 摘要 section, then ---, then the body). The
cover is cover.png next to the article unless front matter names one.
Credentials
Credentials are names, resolved by RunSpool's credentials service (environment,
~/.config/runspool/credentials.yaml, a .env next to the profile, ~/.env):
WECHAT_APPSECRET, and WECHAT_APPID unless appid is set in the plugin config.
This machine's public IP must be on the account's IP whitelist.
What the layout does
Every style is inline (the editor drops <style> and classes); all text is wrapped
in <span leaf=""> (bare text loses its style when edited again in the back end);
links other than WeChat articles become numbered references at the end (they are not
clickable in an article); raw HTML is escaped; code keeps its line breaks.
This is the first cut of the plugin (RunSpool 0.2): themes, tables and image compression are coming.
Metadata
Release files for runspool-wechat 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| runspool_wechat-0.2.0.tar.gz | 18.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| runspool_wechat-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.1 kB
Release files / runspool_wechat-0.2.0.tar.gz
| Download URL | runspool_wechat-0.2.0.tar.gz |
|---|---|
| Size | 18.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3920aa2108fd1e3457b9082adf2d3361ada6a1f3444fd4307406dd4f37c8766f
|
|
BLAKE2b-256 checksum How to use checksums |
9bb89767b87ec8e208e06752cec22f73f5e320e00676cd130e0661338c7961b5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency logRelease files / runspool_wechat-0.2.0-py3-none-any.whl
| Download URL | runspool_wechat-0.2.0-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
66a93dcfdd3974089c5e5f286834b2054334e0338b767f2e7b626dd689532d19
|
|
BLAKE2b-256 checksum How to use checksums |
d9b4eb96413da3d09439a9a903afdb02f2b577b05e62be05d63b9a12e26d2a97
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 4, 2026.
Transparency log