想让程序自动往视频号发视频,很多人先去找发布接口。但我去查的时候,视频号助手的功能页列的是内容管理、互动管理、数据中心这些后台功能,没有给个人账号的发布接口入口;搜到的开放资料多半围着视频号小店和服务商转,要先过资质、申请权限、再自己写代码调。对一个每周发几条视频的个人号,这条路的前置工作比省下的时间还多。
先看适不适合你:只运营视频号、想让它每天自动排一条 → 往下看。三个平台一起发 → 直接看 Codex 每天发三个平台。另外要先说实话:需要在电脑上装一个 PublishPort 客户端、扫一次微信码,之后不用再管;不想装客户端的话,这篇帮不上你。
这篇换一条路:不碰接口,让 AI 用你电脑上已经登录的 视频号助手,像你在「内容管理」里发表视频一样操作,并排好定时。搭好以后:
- 你把剪好的成片扔进「视频号待发」文件夹;
- 每天晚上 8 点,Codex 的定时任务取下一条没排过的视频,写好短标题和描述,排成两天后晚上 7 点的视频号定时发表;
- 每条的标题和时间记进「排期记录.md」,同一条不会排两次。
因为用的是视频号自带的定时,视频当晚就传上去了,到点由视频号自己发出,不要求那一刻电脑还开着;电脑只需要每晚 8 点前后开着。整套搭完约 15 分钟,最花时间的是第一次用微信扫码登录视频号。
这篇只讲视频的定时发表。用 WorkBuddy 每周日一次排一周,见 视频号定时发布:WorkBuddy 版。
一句话配方
第 2 步要把这句话原样发给 Codex:
读取 https://www.publishport.app/skill.md 并按说明为我配置 PublishPort,然后把当前文件夹当作我的视频号待发视频库:先拿最早的一条视频,写好 6 到 16 字的短标题和带话题的描述给我看,我确认后排成明天晚上 19:00 的视频号定时发表,并告诉我怎么去视频号助手核对;跑通后告诉我怎么在 ChatGPT 桌面版建一个每天晚上 20:00 的 Codex 定时任务:每次取文件夹里下一条还没排过的视频,写好短标题和描述,排成两天后晚上 19:00 的视频号定时发表,把标题和时间记进「排期记录.md」,绝不重复排同一条。
句子里的 skill.md 是一份公开说明,教 AI 怎么登录、看哪些账号已连接、发布、确认内容真的出现了。可以改的有:文件夹名、晚上 7 点、提前几天排。别删的是开头那半句,和「绝不重复排」那句。
第 0 步:准备两样东西(Node.js 缺了再装)
1. ChatGPT 桌面版(里面就是 Codex)。 从 OpenAI 官方下载页 装好并登录。按 官方文档,定时任务(现名 Scheduled tasks)的创建和管理在桌面版或网页版里,Codex 命令行和 IDE 插件没有这个界面,只能用来先试提示词;要读你电脑上的文件夹,必须用桌面版,并且电脑开着、App 在运行。
2. PublishPort 客户端,并登录视频号。 先说它是什么、为什么要装:PublishPort 是个装在你电脑上的客户端,视频号的登录态留在这台电脑里,AI(Codex)发出的命令经官方中转回到客户端执行;AI 拿到的是一个“让客户端代跑命令”的授权,不是你的微信密码,授权过的 AI 都列在 账号页,不想用了点一下就撤销。想先了解再决定,可以看 登录你的平台账号。决定装的话:从 下载页 装好,进平台账号页,在视频号上点登录,用微信扫码,回来点我已确认登录,状态变绿。
3. 一个视频文件夹。 建「视频号待发」文件夹,放几条 mp4(也支持 mov、avi、webm)。每条可以配一个同名 txt,写两句这条讲什么,AI 会参考它写标题和描述。发布命令需要 Node.js:到第 2 步如果 Codex 说找不到 node,去 Node.js 官网 装 LTS 版再继续。
第 1 步:在 Codex 里打开这个文件夹
打开 ChatGPT 桌面版,切到 Codex,新建对话时选择打开文件夹,选「视频号待发」。
第 2 步:发配方,点一次授权,看它排第一条
把配方原样发过去。接下来:
- Codex 读完说明,给自己装上 PublishPort 的 skill。
- 它给你一个授权链接和一个核对码。打开链接,登录或注册 PublishPort 账号,确认核对码一致,点授权。链接 10 分钟内有效,过期了让它重新生成。
- 它检查客户端和视频号的登录状态。
- 它挑出最早的一条视频,把短标题和描述列给你看。短标题是 6 到 16 字,符号有限制(逗号要换成空格,细则见文末小注),AI 知道这条,不合规会自己改。描述里的
#话题直接写在文字里。 - 你回「发」,它上传视频、等转码,选好明天 19:00 的定时发表。
- 这一条要你自己看一眼:定时稿在发布前没有公开链接,AI 拿不到可点开的地址。请到视频号助手的内容管理里确认这条在,计划时间是明天 19:00。
中途 Codex 会几次请你批准运行命令,第一次在场都点允许。视频大的话上传转码要几分钟,让它等,别重复发指令。
第 3 步:让定时任务能联网(只做一次)
跳过这一步,晚上 8 点的任务会在上传那一下报联网失败。Codex 的定时任务无人值守地跑,用你默认的沙箱设置,不会停下来问你;默认的「工作区可写」沙箱不允许联网,而每次发布都要联网。
官方给的做法是用 rules 只放行发布这一个命令。最省事的是让 Codex 自己做,在同一个对话里发:
用 npm 全局安装 publishport 命令,然后在 ~/.codex/rules/default.rules 里加一条规则,只允许以 publishport 开头的命令在沙箱外运行,弄好后告诉我什么时候重启。
想自己动手:先 npm install -g publishport,再往用户目录下的 .codex/rules/default.rules 加:
prefix_rule(
pattern = ["publishport"],
decision = "allow",
justification = "PublishPort 发布命令需要联网",
)
然后完全退出再打开 ChatGPT 桌面版让规则生效。这样只有以 publishport 开头的命令能在沙箱外运行,其它命令照旧受限。
第 4 步:建每天晚上 8 点的定时任务
配方里已经让 Codex 告诉你怎么建。在 ChatGPT 桌面版侧栏的 Scheduled 里新建一个独立任务(每次运行都从保存的提示词开始),项目选「视频号待发」,时间选每天 20:00,提示词贴下面这段:
这是我预先批准的每日排期任务,按下面的规则直接执行,不需要再问我确认。
1. 在当前文件夹里找最早的、还没出现在「排期记录.md」里的视频(mp4 / mov)。一条都没有就停下,告诉我素材用完了。
2. 参考同名 txt(如果有)和文件名,写 6 到 16 字的短标题和带话题的描述,短标题遵守视频号的符号限制。
3. 用 publishport 把它排成两天后北京时间 19:00 的视频号定时发表(已全局安装)。
4. 命令报错或超时,不要直接重试:先去视频号助手的内容管理查有没有这条,确认没有再重试一次;还不行就跳过并写明原因。
5. 成功后把标题、定时时间追加到「排期记录.md」,最后用一句话告诉我排了哪一条。
每次定时运行都是新会话,没人在场,所以「预先批准」要写进提示词本身,否则 AI 会停在「发布前请用户确认」上。官方建议先在普通对话里手动跑通,再看头几次定时运行的结果;第 2 步你已经手动跑过一次,今晚 8 点之后去 Scheduled 看第一条运行记录就行。
跑不起来时先看这几处
- 到点没跑:本地项目的定时任务需要电脑开着、桌面版在运行,文件夹也得在原处(官方说明)。睡眠的电脑不会执行,PublishPort 客户端也要开着。
- 排期那步报联网失败:回第 3 步,检查 rules 写法、确认改完重启过桌面版。
- 说视频号没登录:登录态会过期,回客户端平台账号页重新扫码,明天的任务自动恢复。
- 定时时间被拒或不对:视频号对定时发表的可选时间范围有限制,具体以视频号助手发表页的选项为准;AI 会回读表单里的时间,和目标对不上就中止。排得太靠后就把「两天后」改小。
- 同一条排了两次:先查「排期记录.md」和视频号助手内容管理,重复的在后台手动删。出错时别重复发指令,那是重复排期最常见的原因。
- 想先看看再发:对 AI 说「这条先存草稿,不要排期」,它会存进草稿(视频号不允许定时稿存草稿,两者二选一)。
接着往下做
视频号助手的评论和私信,目前不在这套自动化里,原因见 视频号自动发布怎么做。同一条成片想顺手发到抖音、小红书,见 Codex 每天发三个平台。
小注:短标题规则(可跳过)
发布命令要求短标题 6 到 16 字,只能用中文、字母、数字和空格,符号只认《》、引号、冒号、加号、问号、百分号,逗号请用空格代替。
