baoyu-post-to-wechat (公众号发布)
把 Markdown/HTML/纯文本一键发布为微信公众号草稿:官方 API、Chrome CDP 浏览器自动化、SSH SOCKS5 隧道三条通道互为兜底,自动完成主题排版、封面摘要、多账号切换与元数据处理,覆盖 IP 白名单、登录态等现实约束。
仓库:JimLiu/baoyu-skills
热度证据:出自 24,933 star 的 baoyu-skills,自媒体全流程技能核心一环
五维评分
热度5/5
质量5/5
创新4/5
易用5/5
文档5/5
优秀点拆解
- 三通道发布矩阵:api / browser / remote-api 三条路径互为兜底(SKILL.md Step 2 表格),分别应对有 API 凭证、只有浏览器登录态、本地 IP 不在白名单三种现实环境,每个账号还可单独指定默认方法
- SSH SOCKS5 隧道方案极克制:渲染与草稿组装全在本地,仅 api.weixin.qq.com 流量走 ssh -N -D 动态端口转发,远端只需 sshd、零部署零落盘,AppSecret 不出本地进程,只收白名单键且仅限密钥认证
- 占位符粘贴法突破富文本编辑器限制:md 图片替换为 WECHATIMGPH_N 占位符整体粘贴,再用 CDP 逐个选中→删除→剪贴板粘贴图片,绕开微信编辑器拒绝脚本注入的约束
- 配置工程化:EXTEND.md 三级查找(项目/XDG/用户)、CLI→frontmatter→配置→默认四级优先级、BLOCKING 首次设置把 7 个偏好一次问完、check-permissions.ts 预检 8 项环境依赖并附失败修复对照表
- 维护纪律极佳:version 1.118.2 高频迭代,连微信『图文改贴图』改名都跟进,核心逻辑抽取为 baoyu-md / baoyu-chrome-cdp 公共包,scripts 带 6 个单元测试与 bun.lock 锁依赖
可复用的设计模式
- 剪贴板中介模式:占位符文本粘贴→定位→删除→粘贴二进制,用于一切拒绝脚本注入但接受粘贴的富文本编辑器
- 本地重计算+远端纯隧道:第三方 API 的 IP/地域限制用 SSH SOCKS5 只转发必要流量解决,密钥不出本地、远端零部署
- 三级配置查找+四级优先级链:项目/XDG/用户级配置 first-hit-wins,值优先级 CLI→frontmatter→配置文件→默认值
- BLOCKING 首次设置+批量提问:必须完成的偏好引导一次问完,完成前禁止其它步骤,避免 agent 多轮打断用户
适用场景
AI 写作流水线的微信环节:markdown 草稿自动排版为主题化公众号文章并存入草稿箱日更/批量发布自媒体内容,免去人工复制粘贴进微信编辑器多公众号团队运营:每账号独立 Chrome profile 与凭证解析链(WECHAT_{ALIAS}_*),--account 切换本地 IP 不在微信白名单但有任意白名单云服务器:remote-api 隧道通道无 API 凭证的轻量场景:浏览器通道 + Telegram 推送登录二维码扫码
边界与注意:浏览器通道依赖 Chrome、登录态与图形环境(macOS 需辅助功能权限、Linux 需 xdotool);API 通道受微信 IP 白名单硬约束且 AppSecret 属高敏感凭证;贴图有标题 20 字/内容 1000 字/9 图平台硬限制;产出为草稿而非直接群发;依赖平台接口稳定,需持续维护(当前 1.118.2)。
完整拆解分析文档
本页为摘要版,完整精读分析(核心机制、逐条优秀点拆解、写作过程)见本地 Markdown 文档:
analysis/community-baoyu-post-to-wechat.md