| name | douyin-doubao-analyzer |
| description | 抖音视频链接 → 豆包内容分析。收到抖音视频链接(v.douyin.com 短链、www.douyin.com/video 链接、iesdouyin 分享链接或含链接的分享口令文本)且带分析需求时触发。豆包(doubao.com,抖音账号登录、免费)因背靠抖音数据管道,能解析其他 AI 无法解析的抖音视频内容;本技能负责:清洗并展开链接提取视频元信息 → 按场景生成两段式豆包提示词(先发口令触发视频识别,再在同一会话要结构化输出)→ 投喂豆包(人工粘贴为主,Playwright 半自动桥接为辅)→ 等豆包分析完成 → 回收返回内容做校验、去噪、结构化整理并落盘。适用:"帮我分析这个抖音链接""抖音视频总结""拆解这条抖音""抖音爆款分析""这个抖音视频讲了什么""用豆包分析抖音视频""抖音选题对标"等请求。只做个人创作学习参考,不批量抓取、不绕过平台限制。 |
| license | MIT |
| metadata | {"type":"analyzer","runtime":"agent-skills","version":"1.0.0","tags":["douyin","doubao","video-analysis","creator"]} |
抖音链接 → 豆包分析(douyin-doubao-analyzer)
把"抖音链接 + 分析需求"变成一份经过豆包真实解读、由你整理交付的结构化成果。
核心链路(五阶段):
① 链接预处理 → ② 需求解析 → ③ 提示词撰写 → ④ 投喂豆包 → ⑤ 结果回收整理
清洗/展开/元信息 识别场景 按模板生成 人工粘贴 或 校验/去噪/结构化
scripts/expand… 5 个场景 一次到位提示词 Playwright 桥接 落盘 douyin-analyses/(工作区根)
豆包网页版凭抖音账号登录即可免费使用,粘贴抖音链接即可做视频总结/转文案。官方 API(火山方舟)无法解析抖音链接、逆向 API 属灰色地带,本技能都不依赖——只走豆包官方网页版。
触发与场景识别
用户给出以下任一 + 分析意图时执行本技能:
- 抖音短链:
https://v.douyin.com/xxxx/
- 完整链接:
https://www.douyin.com/video/{视频ID}、https://www.iesdouyin.com/share/video/{视频ID}
- 分享口令文本(含"复制此链接,打开Dou音搜索…"等文案)
分析意图映射到 5 个场景(可组合;话术↔场景对照与完整模板见 references/prompt-templates.md):
① 视频总结(默认) ② 爆款拆解 ③ 选题复用(需先向用户索取赛道信息) ④ 对标分析(需先索取对标语境) ⑤ 脚本提取
未指明场景时默认场景 1;多个需求时以主场景为主、其余作附加小节,合并成一份提示词,避免多次投喂。
阶段 1:链接预处理
规则详见 references/link-preprocessing.md。执行步骤:
- 从用户输入中提取链接(正则见该文件);同时保留分享口令中的标题/作者/互动数文本(后续校验用)。
- 运行展开脚本:
py scripts/expand_douyin_link.py "<链接或整段分享文本>"
(Windows 上若 python 不可用就用 py;macOS/Linux 用 python3。)
- 脚本输出 JSON:
video_id、final_url、page_title 等。记录为 link_meta。
- 兜底:脚本拿不到 video_id 时,请用户补发完整链接
www.douyin.com/video/{id} 或直接说明无法解析。
- 结果缓存检查:video_id 拿到后先查
douyin-analyses/(工作区根下,可用环境变量 DOUYIN_ANALYSES_DIR 覆盖)是否已有该 ID 的落盘结果;有则告知用户已有分析(附路径),问"复用 / 重新分析"再继续——避免重复投喂豆包消耗免费额度。
阶段 1 完成前不要进入提示词撰写:没有 video_id 就无法校验豆包是否答对了视频。
阶段 2:需求解析
- 确定场景(上表);多场景按"主场景优先,其余作为附加小节"合并成一份提示词,避免多次投喂。
- 场景 3(选题复用)和 4(对标分析)需要用户侧信息:先问用户要"我的赛道/账号定位/对标对象",信息齐了再生成提示词。
- 其余场景直接进入阶段 3。
阶段 3:提示词撰写(两段式,实测结论)
规则与 5 个场景完整模板见 references/prompt-templates.md。必须生成两段,分两次投喂:
对照实验结论(2026-08-14,4 组单/双段消息对照):单段组合发送(口令+完整分析指令,口令在前/在后都试过)不会触发豆包的视频识别管道——轻则"无法访问",重则静默退化为"仅依据口令配文整理"的浅层回答(声称"无法调取视频画面、无具体数据",内容失真但不报错)。只有"口令/短链 + ≤2 行简短指令"作为独立消息才能触发识别,分析要求必须放第二段。
- 第一段(触发识别 + 详细记录):简短指令在前("请详细记录…保留原话/数字/步骤/案例,800 字左右")+ 分享口令/短链。不放小节结构(大段指令会导致"无法访问");详细指令失败则退化为最短触发语。
- 第二段(结构化):不带链接;开头引用"请直接基于这条抖音视频本身的完整内容(不要只依据刚才那段简短总结,避免遗漏或失真)…",按场景模板要小节输出,末尾附"通用约束块"。
- 第一段回复过简(<300 字)或两段细节冲突时,追加补采第三段(模板见
references/prompt-templates.md)。
- 链接形态优先级:分享口令原文 > 短链 > 带参分享链接 > 裸 video 链接(见
references/link-preprocessing.md 第 6 节)。
- 校验清单:第一段只有简短指令 + 口令/链接触发语;第二段无链接、场景小节齐全、场景 3/4 的用户赛道信息已填。
阶段 4:投喂豆包
调用策略(默认桥接优先,人工兜底)
- 优先走路径 B 半自动桥接(本环境 Node + Playwright + 登录态已就绪;登录态缺失时先执行
login 让用户扫码一次)。
- 人机验证不是回退信号:桥接检测到验证弹窗时不关窗、不停手,提示用户在弹窗里手动完成验证,完成后自动继续提取回复。
- 回退路径 A 的触发条件(满足任一):
- 登录态失效且用户暂不愿重新扫码登录;
- 用户不想在弹窗里完成人机验证;
- 桥接因选择器漂移/会话失效等报错(脚本已存截图);
- 用户明确要求人工。
- 回退时无需重新生成提示词:两段提示词本就按人工路径设计,直接把第 1/2 段代码块交给用户即可;用户贴回豆包回复后继续阶段 5。
路径 A:人工粘贴(兜底,始终可用)
- 输出两段提示词(各放一个代码块,标注"第 1 段 / 第 2 段")。
- 指引用户:打开
https://www.doubao.com/chat/ → 抖音账号登录(一次即可)→ 同一对话框先贴第 1 段、等豆包给出总结后贴第 2 段;若豆包弹出"视频总结"卡片,请用户把卡片内容一并复制回来。
- 明确告诉用户"把豆包的两段回复都贴回来,我再整理";没有豆包返回内容之前,不得编造分析结果。
路径 B:Playwright 半自动桥接(默认)
脚本需 Node 18+;首次使用请 npm install 安装 playwright-core。playwright-core 只负责驱动、不下载浏览器:若启动时报缺浏览器,需先安装 Chromium(如 npm i -D playwright 后执行 npx playwright install chromium,或使用系统已装浏览器)。脚本 scripts/doubao_bridge.mjs 用持久化浏览器配置驱动 doubao.com 已登录会话(send 默认有头窗口,风控对无头交互敏感):
node scripts/doubao_bridge.mjs login
node scripts/doubao_bridge.mjs send --file step1.md --out doubao_bridge_output/step1-answer.md
node scripts/doubao_bridge.mjs send --file step2.md --url <会话URL> --out doubao_bridge_output/step2-answer.md
- 脚本检测到人机验证弹窗时不关窗:提示用户在窗口里手动完成验证,完成后自动继续提取(见上方调用策略第 2 条)。
- 脚本报错(选择器漂移/会话失效/未登录且不重登)时按调用策略回退路径 A,不要反复重试。
- 登录态目录
.doubao-profile 含用户凭证,勿提交、勿分享、勿拷贝到工作区外。
等待与失败处理
- 第一段就"无法访问":先自查是否误发裸
www.douyin.com/video/{id} 链接(若是,换成分享口令/短链重发一次);口令/短链也失败 → 视频可能已删除、私密或不可见,如实报告"视频不可访问",不再重试。
- 豆包回复明显答非所问(标题/作者对不上)时:判定为失败,重新生成提示词重试一次,仍失败则如实报告。
- 额度与节奏:豆包免费版有每日对话条数限制;每条视频 = 2 段消息。批量分析时逐条进行、控制节奏,失败后不要立即连续重试(间隔 ≥ 30 秒),避免触发限流/风控。
阶段 5:结果回收与整理
规则与交付模板见 references/result-organizing.md。要点:
- 校验:豆包返回的视频标题/作者与阶段 1 的
link_meta 比对;不一致标注"⚠ 疑似答错视频"。
- 去噪:删除豆包的开场客套、免责声明、追问话术、格式残留。
- 结构化:按场景套用交付模板(总结报告 / 拆解卡片 / 选题建议 / 脚本素材)。
- 落盘:
{DOUYIN_ANALYSES_DIR}\{YYYYMMDD}-{视频ID}-{slug}.md
DOUYIN_ANALYSES_DIR 默认 douyin-analyses/(工作区根下),可用环境变量覆盖。
文件头带 YAML:来源链接、视频 ID、分析时间、工具(豆包网页版/免费)、场景。
5. 向用户交付摘要 + 落盘路径;如需进一步产出(如小红书笔记),可提示用已安装的 space-xhs-writer / xhs-html 承接——仅提示、不自动串联;下游技能未安装时不要假设其可用。
合规边界
- 仅用于个人创作学习与运营参考:单条链接分析,不批量抓取、不绕过平台反爬、不刷量、不传播侵权内容。
- 只用用户本人抖音账号登录的豆包免费版;不共享账号、不破解登录、不使用逆向接口。
- 引用豆包结论时注明"由豆包基于抖音视频内容生成";关键事实建议与视频原文复核后再对外使用。
快速参考
| 步骤 | 动作 |
|---|
| 展开链接 | py scripts/expand_douyin_link.py "<链接/口令>" |
| 模板 | references/prompt-templates.md |
| 链接规则 | references/link-preprocessing.md |
| 整理规范 | references/result-organizing.md |
| 桥接登录 | node scripts/doubao_bridge.mjs login(登录成功后手动关窗) |
| 桥接发送 | node scripts/doubao_bridge.mjs send --file prompt.md --out a.md(第二段加 --url <会话URL>) |
| 落盘目录 | douyin-analyses/(默认,工作区根下;可用 DOUYIN_ANALYSES_DIR 覆盖) |