ワンクリックで
douyin-publish
通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
智能搜索路由器。根据用户意图选择最佳搜索源,构造 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 技能。
| 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)