Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
직접 명령은 검토 Prompt를 거치지 않습니다. 실행하기 전에 소스를 확인하세요.
npx skills add https://github.com/TeamWiseFlow/xiaobei --skill douyin-publish명령은 한 줄로 유지됩니다. 복사하기 전에 가로로 스크롤해 전체 내용을 확인하세요.
로컬 사본을 원하시나요? SkillsMP에서 현재 제공할 수 있는 파일을 다운로드하세요.
SOC 직업 분류 기준
SKILL.md 표시 중
| name | douyin-publish |
| description | 通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。 |
本文是
expert-douyin专家包内的工具说明书,不独立出现在技能列表中。由相关 Workflow 指引调用。
通过 camoufox-cli 持久化 session douyin(一个且只有一个持久化 session,fail-first 队列:同 session 已有命令在跑时新命令直接 fail)在抖音创作者中心发布视频。
输入:本地视频文件(mp4 / mov,时长 ≤ 15 分钟,建议 < 100MB)、标题(≤ 30 字)、描述文案(含话题标签)。
输出:发布结果 + 作品链接(https://www.douyin.com/video/<aweme_id>)。
纯浏览器操作方案:登录态 + 指纹冻结在持久化 session 的磁盘 profile 里。严禁
cookies import造登录会话,会触发平台风控。
抖音 cookie 存在预热机制,直接 douyin-publish run 可能因 cookie 未激活而不生效。每次发布前必须先 open 上传页(无头 persistent session),由 agent 在此页面根据元素判定登录态,之后再走 run。
# 1. open 上传页(无头 persistent session `douyin`)
douyin-publish open-page
# 输出: {"ok": true, "session": "douyin", "url": "...", "hint": "agent 用 camoufox-cli eval/snapshot 判定登录态"}
# 2. agent 判定登录态
通过页面元素判定登录态,如用户头像/用户名等。示例:
camoufox-cli --session douyin --persistent --json eval "document.querySelector('头像 selector') ? 'logged_in' : 'not_logged_in'"
也可以直接截图调用视觉模型判定。
# 3a. 判定为已登录 → 走发布
douyin-publish run --video /path/to/video.mp4 --title "标题" --caption "描述"
# 3b. 判定为未登录 → 走「登录失效处理」
脚本内
_check_logged_in已 mute 成 no-op:登录态判定由 agent 在 open 上传页后自行根据页面元素完成,脚本不做检查、不因此退出。
判定为未登录、或运行中得到 exit 2 时,走 login-manager 重登,复用 douyin 持久化 session:
camoufox-cli --session douyin --persistent --headed --json open "https://www.douyin.com"
# 告知用户在窗口里手动完成创作者中心登录,确认后:
login-manager --platform douyin
login-manager 一条命令闭环导出+验证+落中央存储+close session。重登后重新走「发布前置」。本工具没有 login 子命令、也没有 cleanup 子命令。
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. 点发布(返回发布起始时刻,供 get-link 锁定本次作品)
douyin-publish publish --session <s>
# 4. 取视频链接
douyin-publish get-link --session <s>
run 在 close session 之前就拿到作品链接;get-link 锁定本次发布的作品(按发布时间窗口筛最新),链接不可得时按 exit 3 处理。upload 会自动清掉「上次未发布的视频」草稿恢复框,给新发布一个干净上传页;旧草稿在场时新视频上传/发布会被带偏。fill 内置自主声明"内容由AI生成"选择与确认步骤;声明下拉不存在时不阻断。exit 3,不再误报发布成功。 排查材料在 /tmp/dy-publish-debug-<ts>.json。上传页: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,会触发平台风控。执行过程中任何时候发现登录态已失效,走 login-manager 有头重登流。| code | 含义 | 调用方动作 |
|---|---|---|
0 | 发布成功,aweme_id 已捕获 | 继续发布后的记录流程 |
1 | 参数错 / crash / DOM 改版(按钮/input 未找到)/ 上传转码超时 | 排查后重试 |
2 | 未登录或登录态失效 | 走 login-manager --platform douyin 有头重登后重试 |
3 | 发布流程走完但未捕获到 aweme_id——发布可能未真正成功 | 人工到管理页核实是否真有新作品;把 /tmp/dy-publish-debug-*.json 回传给研发定位真实发布 API |
creator.douyin.com 未登录态creator.douyin.com/login 或出现登录弹窗exit 2,调用方走 login-manager 有头手动重登流。视频上传/转码超时(标题表单未出现)fill / publish)手动继续fill 命令已内置点"确定"步骤;分步手动操作时选完声明后必须点"确定"