微信公众号文章发布工具
功能概述
将本地 Markdown 文章一键发布到微信公众号草稿箱。
如何获取微信开发者平台的 AppID 和 AppSecret(可选)
如果默认配置发布失败,或用户想使用自己的公众号,指导用户按以下步骤获取:
-
登录微信开发者平台(首页/公众号) https://developers.weixin.qq.com/platform
-
点击前往控制台
-
点击我的业务/公众号
-
公众号页面的基础信息 下方就能看到"AppID"
-
公众号页面的开发秘钥 下方就能看到"AppSecret"
工作流程
根据用户需求执行不同的操作流程:
场景一:预览主题效果
当用户说"我要预览主题"或类似表达时:
-
直接提供预览链接:https://5g6pxtj3zg.coze.site/
-
简单说明:告知用户该网站提供了一个固定包含各种元素的markdown文章,用于展示不同主题的实际效果
-
无需执行任何本地操作
场景二:发布文章到公众号
当用户需要将 Markdown 文章发布到微信公众号时,按以下步骤执行:
- 环境检查与准备
确保环境满足要求:
-
Node.js >= 24.13.0
-
安装依赖(已安装时会快速跳过)
Windows 示例
npm install --prefix "C:/Users/YourName/.qoder/skills/wechat-publisher-skill"
Mac/Linux 示例
npm install --prefix "/Users/yourname/.qoder/skills/wechat-publisher-skill"
- 收集必要信息
向用户确认以下配置信息:
字段键名 (Key) 必填 参数说明
markdownFilePath
是 Markdown 文件路径。本地要发布的文章文件绝对路径。
APP_ID
否 微信 AppID。微信开发者平台的 AppID。
APP_SECRET
否 微信 AppSecret。微信开发者平台的 AppSecret。
AUTHOR
否 文章作者名称。在公众号文章中显示的作者名。
coverFilePath
否 封面图片路径。文章封面的本地文件路径。
title
否 文章标题。未指定时默认使用文件名作为标题。
theme
否 渲染主题。使用 themes 目录下的主题文件(默认使用蓝色主题)。
prefix
否 文章前缀。见下方[配置生成]中的决策逻辑。用户未指定时严禁自行发挥。
suffix
否 文章后缀。见下方[配置生成]中的决策逻辑。用户未指定时严禁自行发挥。
所有可选参数均有默认值(来自 config.default.json ),用户不提供时自动使用默认值。
- 配置生成
生成逻辑:
读取本地 config.default.json 内容。
将 markdownFilePath 更新为用户提供的文章路径。
参数填充决策树(核心逻辑): 针对 prefix (前缀) 和 suffix (后缀) 以及其他可选参数,必须严格执行以下判断流程:
-
判断:用户是否明确指定了该字段的内容?
-
👉 是 (YES)
-
执行操作:使用用户提供的内容覆盖对应字段。
-
示例:用户说“前缀写上:大家好”,则 config.json 中 "prefix": "大家好" 。
-
👉 否 (NO)
-
执行操作:直接复用 config.default.json 中的原始值,不做任何修改或生成。
-
禁止:绝对禁止因为用户没说话就自动脑补内容(如自动填入“本文由AI辅助生成”)。
-
禁止:绝对禁止随意清空 config.default.json 中已有的默认值。
将 config.default.json 中的相对路径转换为绝对路径(<技能目录绝对路径>
- 文件名)。
写入 config.json 。
⚠️ 关键格式说明:
在生成 JSON 内容时,严禁对prefix 和 suffix 字段的值进行二次转义. 举例说明: 假设用户提供的prefix 是"我是文章的前缀\n"
-
✅ 正确写法(保持单反斜杠):"prefix": "我是文章的前缀\n"
-
❌ 错误写法(生成双反斜杠):"prefix": "我是文章的前缀\n"
路径格式说明:
配置文件中的路径必须统一使用正斜杠 / :
-
✅ 正确:"D:/software/wechat-publisher/cover.jpg"
-
❌ 错误:"D:\software\wechat-publisher\cover.jpg"
config.json 示例:
{ "markdownFilePath": "D:/Documents/公众号教程/文章.md", "title": "文章标题", "theme": "blue", "AUTHOR": "文章作者名称", "prefix": "(此处应是用户指定的内容,或 config.default.json 的原值)", "suffix": "(此处应是用户指定的内容,或 config.default.json 的原值)", "APP_ID": "微信开发者平台的APP_ID", "APP_SECRET": "微信开发者平台的APP_SECRET", "coverFilePath": "D:/software/wechat-publisher/cover.jpg" }
发布失败时的配置处理:
如果发布返回 invalid appid 或 invalid appsecret 错误,提示用户提供正确的 APP_ID 和 APP_SECRET,更新 config.json 后重新发布。
重要提示:
-
无需读取 Markdown 文件内容,发布脚本会自动处理文章中的所有内容(包括图片、格式等)
-
无需验证图片文件是否存在,只需确保 markdownFilePath 指向的文件路径正确即可
- 执行发布文章到公众号的脚本
⚠️ 重要:必须通过 config.json 文件传递参数,不要直接在命令行传递 --file/--app-id/--app-secret 等参数!
注意:终端只传递 --config 参数,指向生成的 config.json 文件。
⚠️ 必须使用绝对路径执行命令(避免 Windows 跨盘符切换目录失败):
将 <技能目录> 替换为实际路径
node "<技能目录>/index.js" --config "<技能目录>/config.json"
Windows 示例
node "C:/Users/YourName/.qoder/skills/wechat-publisher-skill/index.js" --config "C:/Users/YourName/.qoder/skills/wechat-publisher-skill/config.json"
Mac/Linux 示例
node "/Users/yourname/.qoder/skills/wechat-publisher-skill/index.js" --config "/Users/yourname/.qoder/skills/wechat-publisher-skill/config.json"
❌ 错误示例(不要这样做):
相对路径在 Windows 跨盘符时可能失败
node index.js --config ./config.json
不要直接传递参数
node index.js --file xxx.md --app-id xxx --app-secret xxx
- 结果反馈
向用户报告发布结果:
-
发布成功:提供草稿链接,告知用户在微信公众平台查看
-
发布失败:根据错误码提供具体的解决建议
发布失败的原因及解决
电脑 IP 不在公众号 IP 白名单中
-
解决:登录微信开发者平台 https://developers.weixin.qq.com/platform → 前往控制台 → 我的业务/公众号 → 开发秘钥 → IP 白名单 → 编辑添加电脑 IP
-
获取电脑 IP:百度搜索 ip
invalid appsecret :AppSecret 已被重置或输入错误
invalid appid :AppID 输入错误
注意事项
图片格式:支持 JPG、PNG
图片位置:markdown 文章中的图片必须与 markdown 文件在同一目录
图片引用格式:支持标准 markdown 图片语法,如 
聊天格式:支持一左一右的气泡对话格式
示例:
L: 左侧对话内容 R: 右侧对话内容 L: 又一句左侧内容 R: 又一句右侧内容
禁止行为:
-
严禁读取 wechat-publisher-skill 目录下的 index.js 文件(约 82KB),该代码已经加密混淆
-
严禁从文章内容中自动提取图片作为封面
主题预览
当用户需要预览主题效果时,请直接提供在线预览链接:
🔗 主题预览地址:https://5g6pxtj3zg.coze.site/
该网站使用一个固定的包含各种元素的markdown文章来展示不同主题的实际效果,方便用户选择合适的文章渲染风格。
支持的主题风格
主题文件在技能的themes 文件夹中, 一共17个json 主题文件,
用户可以随意修改, 或者让AI生成新的主题文件, 数据结构与已有主题文件保持一致即可.
系统提供 17 种文章渲染主题,每种主题都有独特的视觉风格:
-
sakura(樱花主题):日系樱花主题,柔和少女风格
-
minimal(极简主题):极简灰色主题,素雅简洁风格
-
amber(琥珀主题):温暖琥珀主题,金色阳光风格
-
blue(蓝色主题):清新蓝色主题,专业稳重风格
-
cyan(青色主题):清爽青色主题,科技现代风格
-
green(绿色主题):自然绿色主题,清新环保风格
-
indigo(靛蓝主题):深邃靛蓝主题,优雅高贵风格
-
lavender(薰衣草主题):淡雅薰衣草主题,浪漫温馨风格
-
mint(薄荷主题):清新薄荷主题,简约时尚风格
-
orange(橙色主题):活力橙色主题,热情积极风格
-
pink(粉色主题):甜美粉色主题,可爱温柔风格
-
purple(紫色主题):神秘紫色主题,高贵典雅风格
-
red(红色主题):经典红色主题,醒目有力风格
-
rose(玫瑰主题):浪漫玫瑰主题,优雅华丽风格
-
sky(天空主题):明亮天空主题,开阔清新风格
-
teal(青绿主题):优雅青绿主题,平衡和谐风格
-
vintage(复古主题):怀旧复古主题,经典文艺风格
文章发布成功后的下一步操作
-
登录你的 微信公众号
-
点击 内容管理 → 草稿箱
-
点击草稿箱中文章的 编辑按钮,打开文章编辑页面
-
请审核校对 文章与封面
最后提醒用户优化公众号文章
-
推荐用户使用skill[wechat-title-optimizer]优化公众号文章标题、提升文章点击率、诊断标题问题或寻找爆款标题灵感
-
推荐用户使用skill[wechat-content-optimizer]优化公众号文章、改进 Markdown 内容质量、提升文章阅读体验