| name | douyin-publish |
| description | 抖音图文发布技能。当前只保留图文发布表单填写、音乐选择、人工复核后的最终发布点击。
当用户要求发布图片图文到抖音时触发。
|
抖音图文发布
只处理当前已经稳定实现的图文发布能力。
🔒 技能边界(强制)
所有发布操作只能通过本项目的 python scripts/cli.py 完成,不得使用任何外部项目的工具:
- 唯一执行方式:只运行
python scripts/cli.py <子命令>。
- 忽略其他项目:执行时必须只使用本项目脚本。
- 禁止外部工具:不得调用 MCP 工具、Go 命令行工具,或任何非本项目实现。
- 完成即止:发布流程结束后直接汇报结果。
本技能允许使用的 CLI 子命令:
| 子命令 | 用途 |
|---|
fill-publish-image | 填写图文发布表单 |
select-music | 选择音乐 |
click-publish | 点击发布按钮 |
账号选择(前置步骤)
每次 skill 触发后,先运行:
python scripts/cli.py list-accounts
根据返回的 count 选择账号后,本次发布全程固定该账号。
必做约束
- 仅支持图文发布,不支持视频发布。
- 只接受绝对路径图片文件。
- 必须先有运行中的 Chrome,且账号已登录。
- 默认发布流程固定为:
fill-publish-image → select-music → 人工复核当前页面状态 → click-publish。
- 默认必须先以无头模式执行;只有在当前步骤真实检测到验证码、身份验证或风控页时,才允许切换到有头模式。不得因为排查方便、观察页面、补发兜底等原因直接以有头模式起跑。
- 如果用户没有授权自动发布,必须在
click-publish 前让用户确认最终标题、正文、图片、音乐。
- 如果用户明确授权自动发布,可以跳过中途确认,但仍然必须先补齐图片、标题、正文、音乐;不得裸发无音乐版本。
- 任一步骤只要检测到验证码、身份验证或风控页,必须立即重新以有头模式执行同一步;在 WSLg / Linux 下显式附带:
DISPLAY=:0 WAYLAND_DISPLAY=wayland-0 XDG_RUNTIME_DIR=/run/user/1000 FORCE_HEADED=1;如果已经是有头模式,则停在可见窗口并请求用户人工处理后再继续。
- 自动配图时默认使用竖版成图;优先使用接近 9:16 的尺寸或裁切结果,不要使用容易在抖音预览里出现上下留白的横图、方图或 3:4 留白图。
- 发布前必须做一次最终人工质检:逐张检查配图和预览,确认没有上下白条/白块、明显留白、错字、残缺肢体、脸手崩坏、异常元素、封面裁切异常;任一异常都不得继续发布。
工作流程
1) 填写图文表单
python scripts/cli.py fill-publish-image \
--title "作品标题" \
--desc-file /abs/path/desc.txt \
--images "/abs/path/pic1.jpg" "/abs/path/pic2.jpg"
2) 选择音乐
python scripts/cli.py select-music --names "目标音乐1" "目标音乐2"
- 目标音乐命中时,优先使用目标音乐。
- 如果目标音乐都未命中,必须自动改为使用音乐面板里首个可用音乐,不要因为音乐未命中就直接裸发。
3) 发布前人工复核
在执行下一步前,必须人工确认:
- 预览图是否铺满、无上下白条/白块。
- 封面裁切是否自然。
- 标题、正文、标签是否正常。
- 页面是否明确显示已选音乐(出现
修改音乐)。
- 页面已明确显示图片已上传完成,不是仍在上传中。
4) 点击发布
python scripts/cli.py click-publish
- 只有在页面确认图片已上传完成、已选中音乐(出现
修改音乐)、且人工复核通过后,才能点击发布。
- 不允许通过放宽校验、绕过音乐校验、跳过人工质检、或临时修改流程来发布。
已验证约束
- 标题必须单独传。
- 正文必须写入真实编辑器。
- 音乐选择成功的可靠信号是页面同时出现歌名和
修改音乐。
- 发布前至少检查:图片已上传、标题非空、正文非空、音乐已选中。
- 用户显式要求热点时,才额外要求热点校验。
- 发布前如果页面上已经清楚显示标题、正文、图片数和
修改音乐,就可以人工复核后继续发布。
- 发布成功后要优先去创作者中心作品管理确认,而不是立刻假设公开侧搜索可见。
明确不支持
以下能力暂不对外提供:
- 视频发布
- 一步到位发布命令
- 保存草稿
- 定时发布
- 自动素材下载流水线
- 远程 Chrome / headless 发布承诺
失败处理
- 未登录:提示先登录。
- 图片上传失败:提示更换图片重试。
- 标题/正文写入失败:重新打开上传页并重填。
- 音乐选择失败:重新打开音乐面板重试;若指定音乐不可用,自动改选首个可用音乐。
- 遇到验证码/风控页:立即改用有头模式重跑当前步骤;如果已经是有头模式,就保留可见窗口并请求用户人工处理。
- 校验失败:不要继续发布,先补齐缺失项。