skills/douyin-smart-publish/SKILL.md
抖音创作者平台智能发布(视频/图文):内容适配→上传→填描述/#话题→封面→存草稿→截图回传确认。默认只存草稿;只有在 Daniel 明确确认后才允许点击发布。覆盖标题(≤55字)、描述(建议≤200字)、#话题标签(3-5个)、封面设置、定时发布、可见性、合拍/下载开关。Playwright 自动化。触发:'发抖音'、'抖音发布'、'douyin publish'、'抖音图文'、'抖音视频'、'发布短视频'。
npx skillsauth add aaaaqwq/agi-super-skills douyin-smart-publishInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
| 类型 | URL参数 | 说明 |
|------|---------|------|
| 视频 | default-tab=1(默认) | 短视频/长视频 |
| 图文 | default-tab=3 | 图片轮播+描述 |
| 全景视频 | default-tab=3(全景) | VR视频 |
| 文章 | default-tab=4 | 长文(≤8000字+30图) |
| 项 | 规则 | |----|------| | 时长 | 15秒-60分钟(≥15分钟需粉丝≥1000) | | 格式 | MP4, WebM(推荐MP4 H.264) | | 分辨率 | ≥720×1280,推荐1080×1920,最高4K | | 帧率 | ≤60fps,推荐30fps | | 大小 | ≤16GB | | 画幅 | 9:16竖屏(最优) / 16:9横屏 / 3:4 / 4:3 |
| 项 | 规则 | |----|------| | 图片数量 | 2-35张 | | 格式 | JPG, JPEG, PNG, WebP(不支持GIF) | | 大小 | 单张≤50MB | | 比例 | 推荐3:4或4:3,不建议超过1:2 |
| 项 | 规则 | |----|------| | 标题 | ≤55字(实测,超出截断显示) | | 描述 | 建议≤200字(含话题标签) | | 话题 | #话题名 格式,3-5个,精准在前泛在后 | | @提及 | @用户名 增加互动 | | POI定位 | 可添加位置(本地推荐加权) | | emoji | 适度使用,每2-3句1个 |
| 项 | 规则 | |----|------| | 视频封面 | 从视频帧选取 或 自定义上传(1080×1920) | | 图文封面 | 从已上传图片中选择 | | 推荐 | 竖版9:16,清晰大字,对比色 |
将内容转化为抖音格式时:
核心卖点/痛点句 emoji
补充说明(1-2句)
#精准话题1 #精准话题2 #泛话题3
--mode publish。需要接管/风控/停手规则:见
references/handoff-and-human-trace.md
这份 skill 已经在真实抖音创作者后台完成过一次完整图文草稿测试,链路如下:
storage_state 登录态进入创作者后台这次实战得到的关键经验:
creator-micro/* 下,页面仍可能是扫码登录态;要同时检查页面文案/二维码区。存草稿,而是 暂存离开。input[type=file],在授权成功后可直接上传;之前 count=0 的根因是登录页,不是上传能力缺失。推荐排查顺序:
input[type=file] 是否存在发布 / 暂存离开 还是其他变体1. 打开 creator.douyin.com/creator-micro/content/upload
2. 上传视频文件 (拖拽或点击)
3. 等待上传+转码完成
4. 选择/上传封面
5. 填写描述 + #话题 + @提及
6. 设置:可见性(公开/好友/私密)、合拍、下载
7. 可选:定时发布(最远10天)、POI定位
8. 点击 [发布] 或 [存草稿]
1. 打开 creator.douyin.com/creator-micro/content/upload?default-tab=3
2. 上传图片 (2-35张,拖拽排序)
3. 选择封面图
4. 填写描述 + #话题
5. 设置发布选项
6. [发布] 或 [存草稿]
# 0) 冒烟检查(不上传,只打开页面+截图+输出关键信号)
python scripts/publish.py doctor --no-headless \
--screenshot /tmp/douyin_doctor.png
# 1) 从 daily-content 产物直接发布到草稿箱(推荐,SOP直连)
# - 支持 md/txt 两种格式:
# /home/aa/clawd/docs/daily-content/YYYY-MM-DD/douyin/douyin-content-YYYY-MM-DD.md
# /home/aa/clawd/docs/daily-content/YYYY-MM-DD/douyin/douyin-3posts-YYYY-MM-DD.txt
# - pick=1/2/3 选择第几条
# - 默认 mode=draft(只存草稿)
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) 定时发布(⚠️仅在 Daniel 明确确认后使用 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
| 元素 | 定位策略 | 说明 |
|------|----------|------|
| 上传区域 | input[type="file"] / button:has-text("上传视频") | 文件上传;先确认已登录,未登录时可能为 0 |
| 描述输入 | [class*="desc"] [contenteditable] / textarea / [placeholder*="添加作品描述"] | 描述编辑区 |
| 话题输入 | 描述区中输入 # 触发话题搜索 | 话题弹窗选择 |
| 封面选择 | [class*="cover"] / 封面编辑弹窗 | 视频帧或自定义 |
| 发布按钮 | button:has-text("发布") | 发布确认 |
| 草稿按钮 | button:has-text("存草稿") / button:has-text("暂存离开") | 当前实测图文页常见为 暂存离开 |
| 定时开关 | [class*="schedule"] / 时间选择器 | 定时发布 |
| 可见性 | [class*="permission"] / radio按钮 | 公开/好友/私密 |
| 图片排序 | 拖拽操作 | 调整图片顺序 |
注意:抖音使用React + CSS Modules,class名含hash前缀,优先用文本匹配(
has-text)或placeholder定位。
| 时段 | 推荐度 | 说明 | |------|--------|------| | 7:00-9:00 | ⭐⭐⭐ | 早通勤 | | 11:30-13:00 | ⭐⭐⭐ | 午休 | | 17:30-19:00 | ⭐⭐⭐ | 下班通勤 | | 20:00-22:00 | ⭐⭐⭐⭐⭐ | 晚间黄金档 | | 22:00-00:00 | ⭐⭐⭐⭐ | 睡前 |
| 错误 | 处理 |
|------|------|
| 登录过期 | 提示扫码,--headless false |
| 滑块验证 | 暂停等待手动完成 |
| 上传超时 | 重试3次,指数退避(10s/30s/90s) |
| 转码失败 | 检查格式/分辨率,降级重传 |
| 描述过长 | 截断到200字并警告 |
| 频率限制 | 建议每天≤3条,间隔≥30分钟 |
daily 模式:已核对 pick 对应的是正确那条内容douyin-smart-publish/
├── SKILL.md
├── scripts/
│ └── publish.py # Playwright 自动发布脚本
├── references/
│ └── platform-rules.md # 完整平台规则
└── templates/
└── desc-template.md # 描述/话题排版模板
testing
AI驱动的智能浏览器自动化工具。使用LLM理解页面并自动执行任务,比传统Playwright更智能、更省token。适用于复杂交互、动态页面、需要智能决策的浏览器操作。Chrome浏览器优先。
tools
网页登录态管理。使用 fast-browser-use (fbu) 管理各平台登录状态,定期检查可用性,新平台授权时自动保存 profile。
development
Monitor and report on API provider quotas, balances, and usage. Query official providers (Moonshot, DeepSeek, xAI, Google AI Studio) and relay/proxy providers (Xingjiabiapi, Aixn, WoW) via their billing APIs. Also checks subscription services (Brave Search, OpenRouter). Generates quota reports. Triggers on "查额度", "API余额", "quota check", "billing report", "api balance", "供应商额度", "中转站余额", "费用报告", "check balance", "how much credit".
development
# A股基金监控 Skill A股基金净值监控,支持实时估值和盘后净值,自动判断交易日/节假日。 ## 用法 ### 快速监控(命令行) ```bash # 默认配置,输出到控制台 bash ~/clawd/skills/a-fund-monitor/scripts/monitor.sh # 推送到群(使用--push参数) bash ~/clawd/skills/a-fund-monitor/scripts/monitor.sh --push # 监控指定基金 bash ~/clawd/skills/a-fund-monitor/scripts/monitor.sh --codes "000979 002943" ``` ### Agent调用 ``` 执行A股基金监控任务。 1. 读取配置文件: ~/clawd/skills/a-fund-monitor/config.json 2. 获取实时净值数据 3. 非交易日自动切换为简短报告 配置文件格式: { "funds": [ {"code": "000979", "name": "景顺长城沪港深精选股票