with one click
douyin-publish
通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
智能搜索路由器。根据用户意图选择最佳搜索源,构造 URL 并导航,获取内容。 仅在默认搜索手段效果不佳、或需要登录自媒体平台(抖音/小红书/微博等)搜索时启用本技能; 常规通用搜索请先用 onboard 配置的搜索供应商(火山/serper/Tavily 等)。
Search WeChat Official Accounts, retrieve the account's latest post list, and fetch full article content by URL. Also supports interactive QR-code login flow for session management.
平台登录态管理。约定各平台登录流程(强制有头手动登录)、探活规则、中央 cookie+UA 存储路径约定。仅管 4 个平台(douyin/kuaishou/bilibili/xhs-browse)。
发布记录追踪。使用 SQLite 数据库记录所有平台发布内容及其互动数据,按平台分表管理。三大块:与发布技能结合(发布记录 1B;打分+预测 1A 由 content-calibrator 负责)、数据更新、查询与平台设置。
下载分析抖音/B站/小红书爆款视频,生成追爆报告。仅产出报告,脚本另外使用 video-product 技能根据 追爆报告.md 生成。
小红书图文内容调研与对标分析。搜索小红书图文笔记,下载图片和正文进行深度分析。当用户要求小红书竞品分析、对标分析、图文内容调研时触发。视频内容请使用 viral-chaser 技能。
Based on SOC occupation classification
| name | douyin-publish |
| description | 通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。 |
| metadata | {"openclaw":{"emoji":"🎤","requires":{"bins":["python3","camoufox-cli"]}}} |
通过 camoufox-cli 持久化 session douyin(一个且只有一个持久化 session,fail-first 队列:同 session 已有命令在跑时新命令直接 fail)在抖音创作者中心发布视频。
纯浏览器操作方案:本 skill 自身不吃 cookie,严禁
cookies import造登录会话--浏览器操作一律走 login-manager 真实登录后的持久化 sessiondouyin(登录态 + 指纹冻结在 session profile 里)。探活 / 有头登录 / 导出 cookie+UA 全交 login-manager,本 skill 只复用持久化 session 做发布操作。
走 login-manager skill 流程,复用 douyin 持久化 session
camoufox-cli --session douyin --persistent --headed --json open "https://www.douyin.com"
# 告知用户在窗口里手动完成创作者中心登录,确认后:
login-manager --platform douyin
login-manager 一条命令闭环导出+验证+落中央存储(供 viral-chaser / published-track 消费)+ close session。本 skill 发布时 douyin-publish run 会使用 --session douyin --persistent 重起无头 session。
douyin-publish run \
--video /path/to/video.mp4 \
--title "视频标题" \
--caption "视频描述 #话题1 #话题2"
run 内部串:upload → fill → publish → get-link。
# 1. 上传视频(返回 session 名,后续步骤用)
douyin-publish upload --video video.mp4
# 2. 填标题/描述 + 自主声明
# fill 命令内部自动完成:填标题 -> 填简介 -> 选自主声明"内容由AI生成" -> 点"确定"按钮
# 自主声明下拉不存在时不阻断(部分账号/页面无此选项)
douyin-publish fill --session <s> --title "标题" --caption "描述"
# 3. 点发布(注入拦截器捕获 aweme_id 写入 localStorage,返回 aweme_id)
douyin-publish publish --session <s>
# 4. 取视频链接
douyin-publish get-link --session <s>
get-link 取链接策略(2026-07-17 事故修正):发布走 form/导航(非 fetch/XHR),发布页拦截器抓不到 aweme_id。改打作品管理 list API
creator.douyin.com/janus/douyin/creator/pc/work_list拿aweme_list,按create_time排序取最新(列表不按时间排,必须自排),拼https://www.douyin.com/video/<aweme_id>。publish记publish_start时刻,筛create_time >= publish_start - 120锁定本次作品,落localStorage.douyin_last_aweme_id供get-link复用。get-link三级策略:① localStorage ② work_list 取全局最新 ③ 管理页 DOM 兜底。run全流程在closesession 之前就拿到链接,不依赖 close 后重开。
注意:本 skill 没有
login子命令、也没有cleanup子命令--执行过程中任何时候发现登录态已失效,重走 login-manager 登录流程。自主声明流程(2026-07-17 真机确认):点开"请选择自主声明"下拉 -> 选"内容由AI生成" -> 点弹窗右下角粉色"确定"按钮让声明生效。
fill命令已内置此流程。
上传页:https://creator.douyin.com/creator-micro/content/upload?enter_from=dou_web
视频管理页:https://creator.douyin.com/creator-micro/content/manage(取链接用)
douyin--登录态 + 指纹冻结在磁盘 profile,不留进程占内存;下次发布 --session douyin --persistent 重起无头即恢复。只在 session 卡死时 camoufox-cli --session douyin --json close teardown。session douyin 正忙,请等待当前操作完成后再试)--读到这条文本就等当前操作完成再重试,不要盲试。cookies import:浏览器操作不开临时 session 再 import cookie 那一套,会触发平台风控。cookies export / identity export。(_check_logged_in 内部为验登录态会 cookies export 到 /tmp 临时文件读关键字段,非落中央存储。)| code | 含义 | 调用方动作 |
|---|---|---|
0 | 发布成功,aweme_id 已捕获,cookie+UA 在 login-manager 中央存储 | 继续下游 |
1 | 参数错 / crash / DOM 改版(按钮/input 未找到)/ 上传转码超时 | 排查后重试 |
2 | SESSION_EXPIRED——未登录或登录态失效(URL 跳登录页 或 cookies 缺 sessionid/sid_tt/uid_tt) | 走 login-manager --platform douyin 有头重登后重试 |
3 | 发布流程走完但未捕获到 aweme_id——发布可能未真正成功(发布 API 未命中拦截器或被服务端拒) | 人工到管理页核实是否真有新作品;把 /tmp/dy-publish-debug-*.json 回传给研发定位真实发布 API |
upload open 上传页后会检测「你还有上次未发布的视频,是否继续编辑?」草稿恢复框并点「放弃」清掉,给新发布一个干净上传页。旧草稿在场时新视频上传/发布会被带偏(2026-07-17 xiaobei 事故根因之一:页面跳管理页但实际没发出去)。
publish 阶段注入 fetch/XHR 拦截器,全量捕获发布期间所有请求响应,深度搜索 aweme_id/item_id/video_id 字段,写入 localStorage.douyin_last_aweme_id(同源跨发布→管理导航存活)。同时把所有请求的 URL/method/status/响应片段记到 localStorage.douyin_publish_debug,发布后落盘 /tmp/dy-publish-debug-<ts>.json 供排查。
拦截器是兜底——发布实际走 form/导航(非 fetch/XHR),拦截器通常抓不到 aweme_id。主路是发布后直接打作品管理 list API work_list 拿 aweme_list,按 create_time 排序取最新(列表不按时间排),筛 create_time >= publish_start - 120 锁定本次作品。work_list 偶发 status_code=8(间歇鉴权失败,非签名/非真掉登,同 session 同 URL 连发通常全 0),helper 内置 3 次重试;3 次全 8 才 exit 2 交 login-manager 重登。aweme_id 未捕获即 exit 3,不再误报发布成功。
creator.douyin.com 未登录态creator.douyin.com/login 或出现登录弹窗exit 2(session 失效),由调用方走 login-manager 有头手动重登流,不在本 skill 内自管重登。docs/post-deploy-verification.md)camoufox_wait_for_selector 轮询标题表单超时,脚本报 视频上传/转码超时(标题表单未出现)fill / publish)手动继续fill 命令已内置点"确定"步骤;分步手动操作时需注意选完声明后必须点"确定"docs/post-deploy-verification.md)