本文记录了如何使用 baoyu-post-to-wechat Skill 将文章自动发布到微信公众号的全过程,包括安装配置、踩坑记录和解决方案。
一、安装 Skill
1.1 下载并安装
# 全局安装
npx -y @lobehub/market-cli skills install jimliu-baoyu-skills-baoyu-post-to-wechat --global
安装路径:~/.agents/skills/jimliu-baoyu-skills-baoyu-post-to-wechat
1.2 查看安装内容
ls ~/.agents/skills/jimliu-baoyu-skills-baoyu-post-to-wechat/
主要文件:
SKILL.md- 使用说明scripts/wechat-api.ts- API 发布脚本scripts/wechat-article.ts- 浏览器发布脚本scripts/wechat-browser.ts- 图文发布脚本
二、首次配置
2.1 创建偏好设置
首次使用需要创建 EXTEND.md 配置文件:
配置路径(二选一):
项目级:
.baoyu-skills/baoyu-post-to-wechat/EXTEND.md用户级:
~/.baoyu-skills/baoyu-post-to-wechat/EXTEND.md
配置内容:
default_theme: default
default_publish_method: api
default_author:
need_open_comment: 1
only_fans_can_comment: 0
chrome_profile_path:
2.2 配置微信 API 凭证
创建 .env 文件保存 API 凭证:
配置路径(二选一):
项目级:
.baoyu-skills/.env用户级:
~/.baoyu-skills/.env
配置内容:
WECHAT_APP_ID=wx你的AppID
WECHAT_APP_SECRET=你的AppSecret
获取凭证步骤:
登录 微信公众号后台
进入:设置与开发 → 基本配置
复制 AppID (应用ID) 和 AppSecret (应用密钥)
三、发布流程
3.1 发布 HTML 文件
npx -y bun ~/.agents/skills/jimliu-baoyu-skills-baoyu-post-to-wechat/scripts/wechat-api.ts \
/path/to/article.html \
--title "文章标题" \
--summary "文章摘要" \
--cover /path/to/cover.png
3.2 发布 Markdown 文件
需要先安装 baoyu-markdown-to-html Skill 进行转换,然后发布生成的 HTML。
四、遇到的问题及解决方案
问题一:AppID 无效
错误信息:
Error: Access token error 40013: invalid appid
原因: 提供的是公众号原始 ID(gh_ 开头),而非 AppID
解决方案:
正确获取方式:
进入 开发 → 基本配置
复制 AppID 和 AppSecret
问题二:IP 白名单限制
错误信息:
Error: Access token error 40164: invalid ip xxx.xxx.xxx.xxx, not in whitelist
原因: 微信公众号 API 需要将调用服务器 IP 加入白名单
解决方案:
登录 微信公众号后台
进入:设置与开发 → 基本配置
找到 IP白名单 设置
添加报错信息中的 IP 地址
问题三:图片路径编码错误
错误信息:
error: Image not found: /Users/magic/Downloads/%E7%94%9F%E6%88%90%E7%89%B9%E5%AE%9A%E5%9B%BE%E7%89%87.png
原因: HTML 中的中文图片路径被 URL 编码,脚本解码时出错
解决方案:
方案一:使用
--cover参数单独指定封面
npx -y bun ~/.agents/skills/.../wechat-api.ts article.html \
--cover "/path/to/image.png"
方案二:将图片路径改为英文或使用网络图片
方案三:在微信后台手动上传正文中缺失的图片
问题四:缺少封面图
错误信息:
Error: No cover image. Provide via --cover, frontmatter.coverImage, or include an image in content.
原因: news 类型文章必须有封面图
解决方案:
命令行指定:
--cover /path/to/cover.pngMarkdown frontmatter 添加:
--- coverImage: /path/to/cover.png --- 放置默认封面:在文章目录下创建
imgs/cover.png
五、发布成功后的操作
发布成功后会返回:
{
"success": true,
"media_id": "S9IIizZStQpJy...",
"title": "文章标题",
"articleType": "news"
}
下一步:
登录 微信公众号后台
进入:内容管理 → 草稿箱
检查文章内容和图片
点击 发布 或 群发
六、完整命令参考
# 发布 HTML 文件(完整参数)
npx -y bun ~/.agents/skills/jimliu-baoyu-skills-baoyu-post-to-wechat/scripts/wechat-api.ts \
/path/to/article.html \
--title "标题" \
--summary "摘要" \
--author "作者" \
--cover /path/to/cover.png
# 使用浏览器方式发布(需要先登录)
npx -y bun ~/.agents/skills/jimliu-baoyu-skills-baoyu-post-to-wechat/scripts/wechat-article.ts \
--html /path/to/article.html
# 发布图文(多图)
npx -y bun ~/.agents/skills/jimliu-baoyu-skills-baoyu-post-to-wechat/scripts/wechat-browser.ts \
--title "标题" \
--content "内容" \
--image img1.png img2.png
注意事项:
AppID 是
wx开头,不是gh_开头必须添加服务器 IP 到白名单
中文路径的图片可能有编码问题,建议用英文路径或网络图片
发布到草稿箱后,需要在微信后台手动发布/群发