一宿君37 downloadsA verifiable publishing workbench for WeChat Official Account drafts.
English | 简体中文
Write, style, preview, copy, and sync WeChat Official Account drafts without leaving Obsidian.
WeChat Workbench is a desktop-only Obsidian community plugin. You keep writing in the Markdown editor while a dedicated workbench provides live preview, composable styles, article metadata, cover management, and draft synchronization.
The plugin only creates or updates drafts. It does not publish, broadcast, or delete WeChat content.
SecretStorage.When you explicitly synchronize a draft, the plugin reads local article images, uploads them through the WeChat Official Account image API, and replaces local paths with the returned HTTPS CDN URLs. The submitted HTML therefore depends on neither local file paths nor a separate object-storage service or third-party image host.
Image uploads are part of the user-confirmed draft synchronization flow. Passive preview never uploads article images.




1.11.4.After the plugin is accepted into the community directory, open Settings → Community plugins → Browse, search for WeChat Workbench, and install it.
Download these files from the matching GitHub Release:
main.js
manifest.json
styles.css
Place them in the plugin directory of your Vault:
<VAULT>/.obsidian/plugins/wechat-workbench/
Reload Obsidian, then enable WeChat Workbench under Settings → Community plugins.
Building from source requires Node.js 22.13 or later.
npm ci
npm test
npm run build
Use a separate test Vault for development and live-account testing. See the getting started guide for details.
Open workbench from the command palette.SecretStorage.The synchronization action only creates or updates a draft in the WeChat backend. It never broadcasts the article.
AI support is optional. The current settings support Agnes and DeepSeek for text generation and Agnes for image generation. You provide the provider API keys and are responsible for any third-party charges.
See the privacy policy for the complete data-handling description.
| User action | Destination | Purpose |
|---|---|---|
| Connect a WeChat account | api.weixin.qq.com |
Obtain an Access Token |
| Copy and process remote images | HTTPS image URLs referenced by the article | Fetch and validate images |
| Synchronize a WeChat draft | api.weixin.qq.com |
Upload body images and covers; create, read, or update drafts |
| Fetch AI models | User-selected AI provider | Retrieve available models |
| Generate titles, a digest, or a cover | User-selected AI provider | Complete the explicitly requested generation task |
| Download an AI-generated image | HTTPS URL returned by the provider | Fetch and validate the generated image |
Remote-image requests restrict protocols, redirects, timeouts, response sizes, and detected file types. Loopback, private, and link-local destinations are blocked.
The plugin reads common article metadata and stores draft associations in dedicated wechat-* fields. Unknown fields are preserved when frontmatter is updated.
---
title: Article title
author: Author name
digest: Article digest
cover: .wechat-workbench/covers/example/cover.png
content_source_url: https://example.com/source
wechat-theme-id: native
---
Check the AppID, AppSecret, account API permissions, and IP allowlist. Your public egress IP may change when you switch networks.
Do not repeatedly create another draft. Read the recovery guide, then check recent drafts in the WeChat backend.
Confirm that the image uses a public HTTPS URL, returns a supported image type, and does not redirect to a local or private address.
Check the selected provider's Base URL, model, API key, balance, rate limits, and network connectivity. Saved API keys are never copied back into input fields.
The current user guides are written in Simplified Chinese.
Use GitHub Issues for normal bug reports and feature requests. Report security vulnerabilities privately as described in the security policy. Never include credentials, unpublished articles, or exploit details in a public issue.
Released under the MIT License. See THIRD_PARTY_NOTICES.md for third-party licenses.