核心用法
baoyu-post-to-wechat 是一套面向微信公众号内容发布的自动化工具链,支持两种内容形态:图文消息(贴图,最多 9 张图片)和文章(富文本长内容)。用户可通过命令行指定 Markdown、HTML 或纯文本作为输入,系统会自动完成格式转换、主题渲染、封面处理及最终发布。
发布渠道提供三层选择:
- API 模式(推荐):直连微信开放平台接口,速度最快,需配置
AppID/AppSecret并将本地 IP 加入白名单 - Remote-API 模式:针对 IP 受限场景,通过 SSH SOCKS5 隧道将 API 请求转发至已白名单化的远程服务器,AppSecret 始终保留在本地
- Browser 模式:基于 Chrome CDP 模拟人工操作,无需 API 凭证但依赖图形环境,适合临时或测试场景
配置层采用层级化 EXTEND.md 机制,支持项目级、XDG 配置级、用户级三档覆盖,内置多账号管理能力。首次使用会引导完成环境检测与配置初始化。
显著优点
1. 多输入格式兼容:原生支持 Markdown(自动外链转引用)、HTML、纯文本,降低内容迁移成本
2. 发布路径灵活:API/Remote/Browser 三种模式覆盖不同网络与权限场景,Remote 模式巧妙解决微信 IP 白名单限制
3. 自动化程度高:主题/配色自动回退、元数据智能生成、封面自动 fallback、评论开关默认配置,减少重复交互
4. 多账号支持:通过 accounts 配置块管理多个公众号,支持按别名快速切换与独立 Chrome 配置
5. 安全设计:Remote-API 模式下密钥不离开本地,SSH 隧道仅代理出站流量,无服务器端持久化
潜在缺点与局限性
- 浏览器模式脆弱性:依赖 Chrome 版本匹配、系统剪贴板权限、macOS Accessibility 授权,Linux 需额外安装
xdotool/ydotool - API 凭证管理:需手动将 IP 加入微信白名单,动态 IP 用户必须转向 Remote-API 或 Browser 模式
- 封面强制要求:API 模式下文章类型
news必须提供封面,无默认图时流程会中断请求 - 无正式发布开关:所有操作仅生成草稿(
draft/add),最终群发仍需人工在公众平台确认 - 主题扩展性有限:仅内置 4 套主题与 13 种配色,自定义 CSS 需直接修改源码
适合人群
- 技术写作者:习惯 Markdown 写作,希望一键同步至公众号排版
- 多账号运营者:需要统一管理多个品牌公众号的内容发布
- 远程协作团队:开发机 IP 不在白名单,通过跳板机完成 API 发布
- 自动化工作流构建者:可将本技能集成至 CI/CD 或内容管理系统
常规风险
| 风险点 | 说明 |
|--------|------|
| 凭证泄露 | `AppSecret` 若写入明文配置文件需配合文件权限管理,建议优先使用 Remote-API 隔离密钥 |
| SSH 代理安全 | Remote-API 依赖 SSH 密钥认证,需确保 `known_hosts` 校验与私钥存储安全 |
| 浏览器会话劫持 | Browser 模式共享 Chrome Profile 时,若多人使用同一环境可能存在 Cookie 污染 |
| 内容合规 | 自动化发布不替代内容审核,敏感内容仍需人工复核 |
| API 限流 | 微信接口存在频次限制,批量发布时需内置退避策略 |