douyin-smart-publish 是一个针对抖音创作者平台的智能发布技能,主要用途是把已经准备好的视频或图文内容自动化地提交到抖音创作者后台,完成从内容适配到存草稿的整个流程。它通过 Playwright 操作创作者中心页面,覆盖视频发布与图文发布两条链路。
主要能力
默认发布策略是只存草稿,不直接发布;只有在明确确认之后,才允许点击“发布”。自动化填完内容后,会截图回传当前页面,用于确认标题、描述、封面、话题是否正确。技能还提供飞行前检查清单、安全截图、错误升级规则和恢复模式。
发布前检查要求验证浏览器连接、登录态、文件存在与格式正确,并通过 doctor 冒烟测试确认选择器可用。安全截图在关键点击节点采集,包括打开上传页、文件上传完成、描述已填、封面已选、话题已填、草稿确认等。错误升级规则规定:文件上传失败≥3次、描述填充失败≥3次、按钮点击失败≥2次即停止,登录验证失败则提示重新登录;停止后需截图、保存安全截图并报告失败步骤。
恢复模式用于发布流程中断的场景,可检查草稿箱、查看安全截图,并根据已存在的截图判断失败节点;重新运行时使用 --mode draft,不自动切换到 --mode publish。
内容与排版规范
技能整理了视频、图文、描述/标题、封面等规范。视频时长 15 秒至 60 分钟(≥15 分钟需粉丝≥1000),格式 MP4/WebM,推荐 MP4 H.264,分辨率不低于 720×1280,推荐 1080×1920,最高 4K,帧率≤60fps,大小≤16GB,画幅以 9:16 竖屏为最优。图文图片数量 2-35 张,支持 JPG/JPEG/PNG/WebP,不支持 GIF,单张≤50MB,推荐 3:4 或 4:3。标题≤55 字,描述建议≤200 字(含话题标签),话题为 #话题名 格式,3-5 个,精准在前泛在后,可添加 @提及、POI 定位和适度 emoji。封面可从视频帧选取或自定义上传,图文封面从已上传图片中选择。AIGC 标注方面,AI 生成内容需标注“内容由AI生成”,虚构情节标注“情景演绎,仅供娱乐”。
使用方式
技能提供 publish.py 脚本,支持以下命令形式:
# 0) 冒烟检查(不上传,只打开页面+截图+输出关键信号)
python scripts/publish.py doctor --no-headless \
--screenshot /tmp/douyin_doctor.png
# 1) 从 daily-content 产物直接发布到草稿箱(推荐,SOP直连)
python scripts/publish.py daily \
--source "/home/aa/clawd/docs/daily-content/2026-03-24/douyin/douyin-content-2026-03-24.md" \
--pick 1 \
--type image \
--files "/path/to/img1.jpg,/path/to/img2.jpg" \
--mode draft
# 2) 视频发布(草稿模式)
python scripts/publish.py video \
--file "/path/to/video.mp4" \
--title "可选标题(≤55字)" \
--desc "描述文字 #话题1 #话题2" \
--cover "/path/to/cover.jpg" \
--mode draft
# 3) 图文发布
python scripts/publish.py image \
--files "/path/to/img1.jpg,/path/to/img2.jpg" \
--title "可选标题(≤55字)" \
--desc "图文描述 #话题1" \
--mode draft
# 4) 定时发布(⚠️仅在明确确认后使用 publish)
python scripts/publish.py daily \
--source "/home/aa/clawd/docs/daily-content/2026-03-25/douyin/douyin-3posts-2026-03-25.txt" \
--pick 2 \
--type video \
--file "/path/to/video.mp4" \
--schedule "2026-03-27 21:30" \
--mode publish
视频发布流程为:打开上传页、上传视频、等待上传与转码、选择或上传封面、填写描述与话题、选择 BGM、设置可见性/合拍/下载、可选定时发布与 POI 定位,最后点击发布或存草稿。图文发布流程为:打开图文上传页、上传图片(2-35 张,可拖拽排序)、选择封面图、填写描述与话题、设置发布选项、发布或存草稿。
平台入口包括创作者中心 https://creator.douyin.com 、内容上传 https://creator.douyin.com/creator-micro/content/upload 、图文上传 https://creator.douyin.com/creator-micro/content/upload?default-tab=3 ,登录方式为抖音 APP 扫码或手机号验证码。
发布类型通过 URL 参数区分:视频 default-tab=1(默认),图文 default-tab=3,全景视频 default-tab=3(全景),文章 default-tab=4。
BGM 选择
在填写完描述后、存草稿前,可执行 BGM 选择步骤:找到“添加音乐”按钮、打开音乐面板、切换到推荐或热门标签、搜索与作品内容匹配的音乐、试听前 10 秒、选择并点击使用。技能提供了内容类型与搜索关键词匹配表,例如 AI/科技对应“科技感”“电子”“赛博朋克”,编程/技术对应“轻音乐”“lofi”“学习”,行业分析对应“商务”“沉稳”“大气”等。选择策略为优先从推荐列表前 5 首或热门榜前 10 首中找风格匹配的,其次搜索后选播放量最高的,都不合适则跳过,不强制选择。注意事项包括只从抖音音乐库选择、不上传本地音频、优先选推荐的、试听前 10 秒、不合适就跳过。
UI 选择器参考
抖音使用 React SPA,class 名含 hash,优先使用文本匹配或 placeholder 定位。上传区域使用 input[type="file"] 或 button:has-text("上传视频");描述输入使用 [class*="desc"] [contenteditable] / textarea / [placeholder*="添加作品描述"];话题在描述区输入 # 触发搜索;封面选择使用 [class*="cover"] 或封面编辑弹窗;音乐选择使用“添加音乐”按钮或音乐搜索面板;发布按钮与草稿按钮分别使用 button:has-text("发布") 和 button:has-text("存草稿") / button:has-text("暂存离开"),当前实测图文页常见为“暂存离开”。
适用场景
适合需要在抖音创作者平台发布短视频或图文、并希望保留人工确认与草稿环节的自动化场景,包括从日常内容产物直接发布到草稿箱、视频草稿、图文草稿以及定时发布。
限制与注意事项
默认只执行存草稿,定时发布与正式发布仅在明确确认后使用 publish 模式。若遇到登录验证、滑块、频率限制、上传卡住,不死磕,保留截图和当前状态,转为等待人工接管。发布前需确认内容合规,参考平台规则文档;每天建议发布≤3 条、间隔≥30 分钟;发布后 2 小时内算法“赛马机制”影响推荐量,完播率权重高于点赞、评论、转发,前 3 秒决定用户是否继续观看,话题标签影响推荐池分配,竖屏内容推荐权重更高。文件结构包含 SKILL.md、scripts/publish.py、references/platform-rules.md 和 templates/desc-template.md。更新日志显示 v1.0.0 于 2026-03-27 初始版本并实战验证通过,v1.1.0 于 2026-04-16 加入安全增强,v1.2.0 于 2026-04-16 新增 BGM 选择步骤。