SuperAPI AI 工具集

wechat-channels-video

办公与效率

查看项目

更新于 11-05 16:49

技能介绍

用途

wechat-channels-video 是一个用于微信视频号助手的技能,目标是在 Ego Lite 会话中自动完成视频号视频草稿的保存,不执行最终发表操作。发表环节需要通过扫码完成,保留给人工处理。

前置依赖

需要先安装 Ego Lite,并确保 ego-browser 在 PATH 中可用。若缺失,技能会软失败并提示用户安装,不会强行调用浏览器。

登录检查

每次发布前必须运行登录检查脚本,因为视频号登录态过期较快。

node scripts/check-login.mjs
# 需要把窗口留给人扫码时:
node scripts/check-login.mjs --keep

退出码含义:

  • 0:已登录,可继续流程。
  • 2:未登录或无 ego-browser,需展示登录指引并停止,请人在 Ego 扫码后重新运行检查。
  • 1:其它错误,需报告错误信息,不能假装已发布。

输入

调用方提供本机视频路径、description、short_title,可选提供 tags、cover、位置、原创、活动等字段。技能不写死业务目录。

主要脚本

  • check-login.mjs:登录硬闸门,默认以 finish({ keep: [] }) 结束。
  • serve-file.mjs:本机 CORS 文件服务,供页面 fetch 视频文件,打印 { url, bytes, port },按 SIGINT 结束。大视频不使用 base64。

Agent 操作流程

登录通过后,按以下步骤操作:

  1. 通过 UI 路径进入发表页:首页 → 内容管理 → 视频 → 发表视频,不直接访问 create 链接以避免白屏。
  2. 启动 serve-file,在页面中通过 fetch 和 DataTransfer 注入隐藏的 video file input 完成上传。验证只看 DOM 是否出现预览卡且进度 100%。
  3. 上传完成后先点击一次「保存草稿」,避免中途失败导致重传。
  4. 填写描述和话题,描述使用 .input-editor 配合 execCommand,文案通过 evaluate 参数传入。
  5. 填写短标题,使用 native setter,并注意服务端限制:不超过 16 字,符号白名单仅限书名号、引号、冒号、加号、问号、百分号、摄氏度;全角逗号需换成空格;小数点、|、#、@ 等不可用。填写后检查红字警告。
  6. 位置默认可能带城市,通过坐标点击打开后选择「不显示位置」并回读确认。
  7. 可选声明原创:勾选 checkbox 后在协议层确认,两步均需回读确认。
  8. 可选活动搜索:使用 native setter 写入搜索词,弹层可能需重试,列表渲染后按截图坐标点击并回读确认。
  9. 可选上传封面:唯一稳妥方式是 waitForFileChooser() 配合可信点击和 chooser.setFiles。
  10. 最终点击「保存草稿」,成功信号为「已保存」且按钮变灰,再到草稿箱核对。
  11. 收尾:停止 serve-file;需要人发表时使用 handOff(),否则 finish({ keep: [] })。

适用场景

适用于需要自动化生成视频号视频草稿、减少手动填表工作量、同时将最终发表保留给人工扫码确认的场景。

限制

  • 不执行发表操作,发表必须人工扫码完成。
  • 依赖 Ego Lite 与 ego-browser。
  • 登录态易过期,每次操作前必须检查。
  • 短标题有严格字符限制和符号白名单,超长或特殊字符会被拒绝。
  • 封面只能通过 waitForFileChooser 上传。
  • 部分 UI 操作需要坐标点击和截图辅助,弹层行序和坐标可能变化。
  • 草稿保存前不能离开编辑器。