--- name: self-media-video-publisher description: 把已确认终稿的视频成片发布到 YouTube、抖音、视频号、小红书等平台。用于用户说“发视频、同步发布、上传 YouTube、发到抖音视频号小红书、定时发布”等场景。按平台核对视频版本、封面、字幕、标题描述和 AI/版权声明,生成逐平台发布包;经用户逐平台授权后,才通过运行时可用的官方 API、填表助手或上传工具上传为私密、草稿或定时,从不一键群发。没有上传能力时交付手动发布包。 --- # 视频发布 ## 目标 把确认过的视频成片和平台文案,准确、完整地送到用户选择的平台,并把结果记回任务卡。默认交付手动发布包;外部上传只在逐平台授权后进行,优先上传为私密或草稿,由用户自己点公开。 ## 前置条件 - 终稿已确认:用户完整看过、听过成片。 - 各平台版本和发布字段已就绪,见 `self-media-short-video` 的 [video-platform-versions.md](../self-media-short-video/references/video-platform-versions.md) 和平台文案模块的各平台规范。 - 有配乐或素材署名要求时,署名文本已写进各平台描述。 缺少任一项时,报告缺口并停在 `AWAITING_USER`,不带着缺口上传。 ## 发布方式分级 从低到高,每升一级都需要用户对该平台、该条视频单独授权: | 级别 | 方式 | 谁点“发布” | 适用 | |---|---|---|---| | L0 手动发布包 | 交付文件、封面、字幕和逐字段文案,用户自己上传 | 用户 | 默认;任何平台 | | L1 填表助手 | 浏览器扩展或已登录浏览器自动打开发布页并填好字段 | 用户检查后亲自点 | 想省去重复填表,又要逐个把关 | | L2 私密上传或草稿 | 官方 API 或上传工具上传为私密、不公开或草稿 | 用户在后台检查后公开 | YouTube 官方 API;支持草稿的平台 | | L3 定时发布 | 上传并设定公开时间 | 到点自动公开 | 只在用户明确给出平台、视频和时间后使用 | “全部发了吧”这类笼统指令不等于 L3 授权。逐平台列出将要执行的动作(平台、文件、标题、公开范围、时间),用户确认后再执行。 ## 适配器发现 先发现当前环境已有的能力,不要求用户为本 Skill 安装特定工具。常见选项和各自边界见 [upload-adapters.md](references/upload-adapters.md): - YouTube:优先使用官方 YouTube Data API(用户本人完成 OAuth 授权),或已登录的 YouTube Studio。 - 抖音、视频号、小红书:通常没有面向个人创作者的公开上传 API。可选的有填表类浏览器扩展、基于浏览器自动化的开源上传工具,或用户手动上传。 - 已安装 `sau` 时,可选 [SAU 适配器](references/sau-adapter.md):先用 `node scripts/publish.mjs --episode <期目录> --platforms douyin,weixin,xhs,youtube --dry-run` 预览,再逐平台确认。视频号传草稿、YouTube 传私密(L2);抖音、小红书只有 `--mode schedule --at` 的 L3 定时发布,到点自动公开,脚本逐平台要求人工确认且 `--yes` 对它们无效。`--sau` 指定可执行文件,`--yes` 只用于已经逐平台授权的 L2 平台。 - 非官方自动化可能违反平台条款或触发风控,新账号尤其敏感。向用户说明风险,由用户选择。 没有可用适配器,或用户不想安装时,直接交付 L0 手动发布包。 ## 发布流程 1. **核对发布包**:逐平台检查视频文件、画幅、时长、封面、字幕、标题、描述、话题、署名和 AI 标识字段,缺什么报什么。 2. **列出执行计划**:每个平台一行,写清发布级别、文件、标题和公开范围或时间。 3. **取得逐平台授权**:用户确认哪些平台、按哪一级执行。 使用 SAU 脚本时,每个平台都要单独确认;默认草稿路径不支持抖音和小红书,不能用即时上传代替草稿。 4. **执行**:一次处理一个平台。登录失效、验证码、短信验证、风控提示或界面异常时立即停止,交给用户接管,不重试绕过。 5. **回读核对**:上传后打开后台或草稿,核对标题、封面、描述前两行、字幕、公开范围和定时时间。 6. **记录结果**:把发布级别、执行时间、核对结果写回任务卡和发布矩阵。用户报告公开成功后,再记录公开链接。 ## 安全边界 - 不一键群发,不在未授权的平台上执行任何写操作。 - 不自动点赞、评论、关注、私信,不刷量。 - Cookie、Token、OAuth 凭据和账号密码只由用户本人或上传工具保存在本机;不读取、不回显,不写入任务卡、日志、发布包或仓库。 - 不代用户输入密码或验证码;登录由用户本人完成。 - 不为躲避版权识别而改变速、加噪音或裁切画面。 - 平台要求 AI 生成或合成内容声明时,如实勾选。 ## 输出 返回每个平台的:发布级别、使用的适配器、上传或填表结果、公开范围或定时时间、回读核对结果、需要用户在后台完成的动作。未执行的平台写明原因(未授权、无适配器、风控停止),并附上该平台的手动发布包路径。 可使用 [video-publish-pack-template.md](assets/video-publish-pack-template.md) 生成逐平台手动发布包。