Douyin Video Analysis
Use this skill when the user gives a Douyin video URL and wants:
- - the real video topic/content extracted
- the title and hook analyzed
- audio downloaded from the page if possible
- audio transcribed into readable Chinese text
- critical thinking analysis of the script/content
- results saved into Obsidian notes
Scope
This skill is for analysis and note capture, not reposting or bulk scraping.
Inputs
Expected user input:
- - a Douyin short URL or full video URL
- optional analysis focus, such as:
- whether the copy is AI-generated
- title strategy
- persuasion methods
- logical flaws / manipulation / exaggeration
Output contract
Produce:
- 1. short status update in chat
- transcript note in Obsidian
- analysis note in Obsidian
- final chat summary with note paths
Workflow
1. Resolve the real video page
- - Open the Douyin URL in Chrome if needed.
- Extract:
- canonical video URL
- title
- description
- account name
- visible chapter points / page text
- - Be explicit about what came from page metadata vs full transcript.
2. Extract media URLs if possible
- - Prefer reading browser performance resources from the actual loaded page.
- Capture candidate audio/video stream URLs.
- If direct download gets 403, retry with browser-derived headers/cookies when available.
- Save temporary files under
/tmp/douyin_transcribe/.
3. Transcribe audio
- - Prefer a local/offline path.
- Current practical path on this machine:
- Python venv in
/tmp/douyin_transcribe/venv
-
mlx-whisper
- use a smaller model to get a usable draft quickly
- do a second pass or manual cleanup for readability
- - Clearly label transcript status:
- raw machine transcript
- cleaned readable version
- final polished version
4. Summarize before criticizing
Before any critical-thinking judgment, always do these two steps:
A. Content summary
- - produce a concise summary of what the video actually says
- separate hook / core claim / support / conclusion
- avoid mixing your judgment into the summary
B. Useful information + evidence extraction
List the video's actually useful information and pair each item with the evidence the video itself provides.
For each item, give an initial confidence judgment:
This prevents the analysis from becoming pure attitude.
5. Analyze critically
Always cover, unless the user narrows scope:
- - what the video is actually saying
- whether the title/hook exaggerates or distorts the case
- whether the script appears AI-generated / AI-assisted / human-written
- emotional triggers used
- hidden assumptions
- survivorship bias / overgeneralization / false lessons
- what is genuinely useful vs what is manipulative or shallow
6. Save into Obsidian
Default destination:
- - transcript note → INLINECODE3
- analysis note → INLINECODE4
Include:
- - source URL
- canonical URL
- account name if available
- what was directly obtained vs inferred
- transcript quality warning if imperfect
Response rules
- - Never pretend a full transcript was obtained if only page metadata was captured.
- If only metadata is available, say so plainly.
- Distinguish between:
- page title/description analysis
- full script analysis
- - Prefer usefulness over theatrical certainty.
Local implementation notes
Useful browser path
- - Probe browser bridge
- Use macOS Chrome bridge to:
- open the page
- evaluate page JS
- inspect visible text
- inspect INLINECODE5
Useful temporary files
Suggested helper scripts
A. Grab page and audio
CODEBLOCK0
It will:
- - open the Douyin page in Chrome
- fetch page metadata from the loaded Chrome tab
- extract candidate media URLs
- attempt authenticated audio download via curl with copied headers/cookies
- return JSON containing canonical URL, title, body preview, audio URL, and local audio path
B. Transcribe and create notes
CODEBLOCK1
It will:
- - transcribe the local audio with INLINECODE8
- create a transcript note in Obsidian
- create an analysis-note skeleton in Obsidian
- return both note paths as JSON
Limits
- - Some videos may block direct media download.
- Machine transcripts may contain proper noun and number errors.
- Large-model transcription may be slow; start fast, then refine if needed.
When done
Tell the user:
- - whether transcript is metadata-only / rough transcript / cleaned transcript
- where the notes were saved
- whether further cleanup would materially improve the analysis
抖音视频分析
当用户提供抖音视频链接并希望获得以下内容时使用此技能:
- - 提取真实的视频主题/内容
- 分析标题和钩子
- 尽可能从页面下载音频
- 将音频转写成可读的中文文本
- 对脚本/内容进行批判性思维分析
- 将结果保存到Obsidian笔记中
适用范围
此技能用于分析和笔记记录,而非转载或批量抓取。
输入
预期用户输入:
- - 抖音短链接或完整视频链接
- 可选的分析重点,例如:
- 文案是否为AI生成
- 标题策略
- 说服方法
- 逻辑缺陷/操纵/夸大
输出约定
生成:
- 1. 聊天中的简短状态更新
- Obsidian中的转写笔记
- Obsidian中的分析笔记
- 包含笔记路径的最终聊天摘要
工作流程
1. 解析真实视频页面
- - 如有需要,在Chrome中打开抖音链接。
- 提取:
- 规范视频链接
- 标题
- 描述
- 账号名称
- 可见的章节点/页面文本
- - 明确说明哪些来自页面元数据,哪些来自完整转写。
2. 尽可能提取媒体链接
- - 优先从实际加载页面的浏览器性能资源中读取。
- 捕获候选音频/视频流链接。
- 如果直接下载返回403,在可用时使用浏览器派生的标头/cookie重试。
- 将临时文件保存在/tmp/douyin_transcribe/下。
3. 转写音频
- - 优先使用本地/离线路径。
- 当前机器上的实际路径:
- Python虚拟环境位于/tmp/douyin_transcribe/venv
- mlx-whisper
- 使用较小模型快速获取可用草稿
- 进行第二遍或手动清理以提高可读性
- 原始机器转写
- 清理后的可读版本
- 最终精校版本
4. 先总结,后批评
在进行任何批判性思维判断之前,始终执行以下两个步骤:
A. 内容总结
- - 生成视频实际内容的简洁总结
- 区分钩子/核心主张/支撑论据/结论
- 避免在总结中混入你的判断
B. 有用信息+证据提取
列出视频中实际有用的信息,并为每项信息配对该视频本身提供的证据。
对每项信息给出初始可信度判断:
这可以防止分析变成纯粹的态度表达。
5. 批判性分析
除非用户缩小范围,否则始终涵盖以下内容:
- - 视频实际在说什么
- 标题/钩子是否夸大或歪曲了事实
- 脚本看起来是AI生成/AI辅助/人工撰写
- 使用的情感触发因素
- 隐藏的假设
- 幸存者偏差/过度概括/虚假教训
- 哪些是真正有用的,哪些是操纵性或肤浅的
6. 保存到Obsidian
默认目标位置:
- - 转写笔记 → OpenClaw/Inbox/YYYY-MM-DD 抖音视频口播转写 - <主题>.md
- 分析笔记 → OpenClaw/Inbox/YYYY-MM-DD 抖音视频分析 - <主题>.md
包含:
- - 来源链接
- 规范链接
- 账号名称(如可用)
- 直接获取的内容与推断的内容
- 转写质量警告(如不完美)
响应规则
- - 如果只捕获了页面元数据,切勿假装获得了完整转写。
- 如果只有元数据可用,请如实说明。
- 区分:
- 页面标题/描述分析
- 完整脚本分析
本地实现说明
有用的浏览器路径
- - 探测浏览器桥接
- 使用macOS Chrome桥接:
- 打开页面
- 评估页面JS
- 检查可见文本
- 检查performance.getEntriesByType(resource)
有用的临时文件
- - /tmp/douyintranscribe/audio*.mp4
- /tmp/douyintranscribe/venv
建议的辅助脚本
A. 抓取页面和音频
bash
python3 /Users/bobzhong/.openclaw/workspace/skills/douyin-video-analysis/helpers/douyin_grab.py <抖音链接>
该脚本将:
- - 在Chrome中打开抖音页面
- 从加载的Chrome标签页获取页面元数据
- 提取候选媒体链接
- 使用复制的标头/cookie通过curl尝试经过认证的音频下载
- 返回包含规范链接、标题、正文预览、音频链接和本地音频路径的JSON
B. 转写并创建笔记
bash
python3 /Users/bobzhong/.openclaw/workspace/skills/douyin-video-analysis/helpers/transcribeandnote.py \
--audio-file /tmp/douyintranscribe/audiolatest.mp4 \
--title <视频标题> \
--source-url <分享链接> \
--page-url <规范链接> \
--account <创作者> \
--topic <简短主题>
该脚本将:
- - 使用mlx-whisper转写本地音频
- 在Obsidian中创建转写笔记
- 在Obsidian中创建分析笔记框架
- 以JSON格式返回两个笔记路径
限制
- - 某些视频可能阻止直接媒体下载。
- 机器转写可能包含专有名词和数字错误。
- 大模型转写可能较慢;先快速启动,如有需要再优化。
完成后
告知用户:
- - 转写是仅元数据/粗略转写/清理后的转写
- 笔记保存位置
- 进一步清理是否会实质性地改善分析