WeChat Studio 是面向微信公众号内容创作的全流程工具,将 Markdown 排版、写作辅助、AI 去痕、图片上传与草稿/小绿书发布整合为一组命令行脚本。
用途
该工具用于把 Markdown 文章渲染为带主题样式的微信公众号 HTML,并完成配图上传、占位符替换、图文草稿创建与小绿书(图片帖)发布。转换、写作、去痕不需要微信凭证;上传与草稿功能需要微信凭证。
主要能力
一、Markdown → 微信 HTML:convert.mjs 直接将 Markdown 渲染为带主题样式的公众号 HTML,无需 AI 参与。图片会自动替换为 <!-- IMG:0 -->、<!-- IMG:1 --> 等占位符,按 Markdown 中出现顺序编号。可用主题包括 autumn-warm(秋日暖光,橙色调,默认)、spring-fresh(春日清新,绿色调)、ocean-calm(海洋静谧,蓝色调)以及使用 AI 提示词渲染的 custom 自定义主题。
二、风格写作(Dan Koe):当用户要求“用 Dan Koe 风格写”“帮我写一篇文章”“写一篇关于…的文章”时,读取 references/dan-koe-writing.md 的写作规范,按其中的结构和语气要求生成文章;更详细的模板与金句库见 writers/dan-koe.yaml。
三、图片上传:upload-image.mjs 支持单张、批量(JSON 路径数组)上传本地图片,可通过 --output 写入结果供后续脚本使用,--no-cache 跳过缓存强制重传;download-upload.mjs 支持下载在线图片并上传。图片超过 5MB 会自动压缩,相同内容命中本地缓存(~/.config/wechat-studio/upload-cache.json,以文件 MD5 为 key)时跳过重复上传。单张输出包含 success、media_id、wechat_url,批量输出为对应 JSON 数组。
四、替换占位符:replace-images.mjs 根据上传结果 JSON,将 HTML 中的 <!-- IMG:N --> 替换为对应的微信 <img> 标签;<!-- IMG:0 --> 对应结果数组第 0 项,依次类推。
五、创建图文草稿:准备 draft.json(包含 articles 数组,字段有 title、content、thumb_media_id、author、digest、need_open_comment、only_fans_can_comment),执行 create-draft.mjs 创建草稿,返回 success 与草稿 media_id。
六、创建小绿书:create-image-post.mjs 可指定本地图片(--images)或从 Markdown 文件提取图片(-m),支持 --dry-run 预览;输出包含 success、media_id、image_count、uploaded_ids。
七、AI 去痕(Humanizer-zh):当用户提到“去除 AI 痕迹”“让文章更自然”“humanize”时,读取 references/humanizer-zh.md 中 22 种 AI 写作模式与 5 条核心去痕规则,处理文本并输出质量评分。
八、Server Mode(远程代理):当本地机器无法直连微信 API(如没有固定 IP 白名单)时,可在远程服务器部署 proxy-server.mjs,本地客户端通过 HTTP 调用。服务端以 --port 与 --secret 启动(或使用 PROXY_PORT、PROXY_SECRET 环境变量),暴露 /api/access-token、/api/upload-material、/api/create-draft 三个 POST 接口,需 X-Proxy-Secret 请求头认证;客户端通过 WECHAT_PROXY_URL、WECHAT_PROXY_SECRET 环境变量或配置文件中的 proxy.url、proxy.secret 接入,配置后上传/草稿脚本自动走远程服务器。
使用方式
需要微信凭证才能使用上传/草稿功能,提供两种配置方式:环境变量 WECHAT_APP_ID、WECHAT_SECRET,或配置文件(优先级从高到低为 ./wechat-studio.yaml、~/.wechat-studio.yaml、~/.config/wechat-studio/config.yaml),在 wechat 节填写 appid、secret。可选配置包括 compress_images(默认 true)、max_image_width(默认 1920)、max_image_size(默认 5MB)、http_timeout(默认 30)与 proxy 远程代理。脚本均以 node 执行,调用前需将文档中的 $SKILL_DIR 替换为 SKILL.md 所在目录的绝对路径。
典型工作流
发布 Markdown 文章有两条路径。一键发布:先用 upload-image.mjs 批量上传图片并写入 upload-result.json,再用 publish.mjs 一步完成 Markdown 渲染、图片替换并输出最终 HTML,然后上传封面图,最后准备 draft.json(填入最终 HTML 内容与封面 media_id)并执行 create-draft.mjs。分步操作则是依次执行 convert.mjs、upload-image.mjs、replace-images.mjs、上传封面、create-draft.mjs。发布小绿书直接执行 create-image-post.mjs 并指定标题、描述与图片。
适用场景与限制
适用于需要批量产出并发布微信公众号图文或图片帖的写作者与内容团队,尤其适合希望在本地以脚本方式完成排版、配图与草稿创建的流程。限制方面:上传与草稿功能依赖微信凭证及可访问微信 API 的网络环境,否则需要自行部署远程代理;写作与去痕效果取决于参考文档规范,资料未说明其具体模型或质量保证;资料未提供收费、价格、平台兼容性或性能指标信息。