DyNote: systematically and efficiently extract raw Douyin/DY video data and analyze videos, comments, accounts, hashtags, and short-video scenes into evidence-graded learning notes, summaries, research briefs, scripts, and knowledge-base material. Use when the user asks to 抓取/提取/整理 抖音视频字幕、视频文案、ASR 转写、Qwen3-ASR 中文转写、原始材料归档、学习笔记、analysis plan、note budget、避免返工、复用已有素材、评论洞察、账号分析、赛道/话题研究、竞品拆解、电商/本地生活视频分析、事实核查、自动搜索素材, save Douyin content as Markdown/TXT, or use subtitle/local ASR as the factual spin...
Scanned 9/1/2026
Install to Claude Code
npx -y skills add Rimagination/dy-note --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of dy-note?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/rimagination-dy-note)More formats (shields.io, HTML) on the badges page.
---
name: dy-note
description: "DyNote: systematically and efficiently extract raw Douyin/DY video data and analyze videos, comments, accounts, hashtags, and short-video scenes into evidence-graded learning notes, summaries, research briefs, scripts, and knowledge-base material. Use when the user asks to 抓取/提取/整理 抖音视频字幕、视频文案、ASR 转写、Qwen3-ASR 中文转写、原始材料归档、学习笔记、analysis plan、note budget、避免返工、复用已有素材、评论洞察、账号分析、赛道/话题研究、竞品拆解、电商/本地生活视频分析、事实核查、自动搜索素材, save Douyin content as Markdown/TXT, or use subtitle/local ASR as the factual spine with logged-in Douyin Web built-in AI / Doubao fallback as visual or quick-reading supplements."
---
# DyNote
DyNote 是面向 Codex 这类 Agent 的抖音学习工具,不是一次性摘要器。核心原则是“数据资产先行,学习笔记后置”:先把字幕/转写、评论、元数据和 AI 快读沉淀为可复用资产,再按用户需求生成可追溯的学习笔记、总结和写作材料。默认目标不是字幕工程文件,而是先落一份原始数据包:`douyin_ai_brief.md`、`douyin_ai_brief.json`、`transcript.cleaned.md`、`transcript.txt`、`segments.json`、`metadata.json`、`note_budget.json`,并用 `assets/` 归档可复用资产。默认把独立字幕轨或本地自动语音识别转写当作事实主干;当转写密度低、任务需要画面理解或用户只要快速筛选时,再用已登录抖音网页版的“问AI / 识别画面”补充,豆包只作为抖音 AI 不可用时的备用快读或待核验假设。
联网或登录态操作必须先使用 `web-access`。不要读取、复制或打印 Cookie、msToken、a_bogus、x-secsdk-web-signature、临时签名视频 URL 等敏感参数;脚本只让已授权 Chrome 页面自己加载内容。
DyNote 与 Bili Note 共享可复用本地资源。默认共享目录是 `%USERPROFILE%\.cache\rimagination-notes`,Qwen3-ASR 环境默认是 `%USERPROFILE%\.cache\rimagination-notes\qwen3-asr-venv`。如果任一 skill 已经安装过 Qwen3-ASR,另一个 skill 必须优先复用,不要重复安装。Hugging Face、Whisper 和 faster-whisper 缓存按本机通用缓存复用。
## 浏览器与登录态硬规则
- 抖音内置 AI 和豆包备用路线都只使用 `web-access` 连接到用户当前可用的 Chrome。不要启动无登录态 Playwright 浏览器,不要用静态 curl 抓登录页,不要导出或保存 `storageState`、Cookie、localStorage 或 token。
- 抖音内置 AI 路线需要当前 Chrome 已登录抖音网页版。它主要用于低转写密度、画面文字、镜头/场景或快速筛选;打开视频后使用页面右侧 `问AI`,必要时点击可见的 `识别画面` 把当前帧加入问答上下文。
- 如果抖音页面没有 `问AI` / `识别画面` 或未生成 `章节要点`,记录为 `weak` 或 `blocked`,先确保字幕/本地自动语音识别事实主干可用,再考虑豆包备用、关键帧或 OCR。
- 在向豆包发送内容前,必须确认 `https://www.doubao.com/chat/` 在当前 Chrome 中已登录且有可见聊天输入框、侧边栏/新对话等用户态界面。
- 如果未检测到豆包登录态,停止并返回 `blocked: doubao-login-required`,提示用户先在同一个 Chrome 登录豆包。不要静默降级到其他浏览器。
- 豆包备用快速解读优先使用用户复制的完整抖音分享文本,不要只喂最终 `douyin.com/video/...`,因为完整分享文案更容易触发豆包的搜索/参考资料式视频概述。
- 豆包输出需要做证据分级:`search-derived` 是检索式概述,`visual-claimed` 是声称包含画面/镜头细节,`blocked` 是豆包无法访问视频画面,`weak` 是信息不足。不要把检索式概述说成逐帧视觉解析,也不要让豆包替代完整字幕或本地转写。
## 抖音字幕现实与默认路线
抖音和 B 站不同:很多抖音视频没有可直接抓取的独立字幕文件。先按用户任务分流,不要固定把所有视频都下载转写。
- 用户只是问“这个视频讲什么”、想做选题筛选、草稿或快速理解时,可以走已登录抖音网页版内置 AI 快读;但输出必须标注为快读/视觉假设,不写成完整字幕提取。已有 `douyin_ai_brief.json` 时先复用;如果不可用,再用豆包 `fast` 备用。
- 用户要学习笔记、可靠原文、逐句内容、引用、脚本拆解、事实核查或可发布材料时,先找已有 SRT/VTT/TXT;没有可用字幕轨或转写时,主要依赖本地自动语音识别。中文或未指定语言优先共享 Qwen3-ASR,明确外语视频再用 Whisper 系后端。
- 用户要镜头、画面文字、贴纸文字、操作步骤、商品/价格/场景细节,或 `note_budget.json` 显示转写密度低时,不能只靠音频转写;优先补抖音 `问AI / 识别画面`、关键帧、截图或 OCR。抖音 AI 仍不能提取完整字幕;豆包 `evidence` 只作为抖音 AI 不行时的备用视觉假设。
抖音字幕常见两种形态:
- 独立字幕轨:创作者使用平台字幕功能或上传 SRT 后,网页播放器可能叠加渲染 VTT 字幕。若能抓到这类轨道,可作为逐句文本材料。
- 画面内嵌文字:字幕、贴纸或手动排版文字已经焊在画面里,没有独立文件。音频转写只能识别人声,不能读取这类画面文字,必须补视觉证据。
如果视频较长,但 `note_budget.json` 中 `visual_dependency.risk` 为 `medium` 或 `high`,必须提醒用户:转写文本过少,完整理解可能依赖画面,不能把稀疏本地自动语音识别结果写成完整笔记。抖音问 AI、豆包和关键帧结果必须作为补充证据审计,不能替代原文主干。
## 场景模式路由
先判断用户真正要完成的任务,再决定证据深度和工具路线:
- `single-video-note`:默认模式。单条视频/分享文本 -> 字幕/本地自动语音识别做事实主干;转写稀疏或任务需要画面时补抖音问 AI、关键帧/OCR;抖音 AI 不可用时豆包才作为备用假设,输出可读笔记。
- `comment-insight`:用户关心评论、痛点、需求、FAQ、反对意见或爆点反馈时,加载 `douyin-comments`。默认只抓前 100 条主评论及这些主评论的楼中楼,输出 `_sample.json/csv`,并明确提示这不是全部评论。用户明确要完整评论资产、复核全部可见评论或样本不足时,再用 `--full` 做全量抓取。抓到的 JSON/CSV 必须归档到 `assets/comments/`,再输出用户洞察,而不是只把评论写进一次性总结。
- `account-analysis`:账号主页或多条视频 -> 定位、内容支柱、钩子模板、系列化栏目、发布节奏和可复用选题。
- `topic-research`:话题、关键词、赛道、竞品或“自动搜索” -> 先低成本收集标题/简介/话题/样本链接,再按需要升级到 ASR、评论和关键帧。
- `script-mining`:拆脚本、镜头、叙事节奏、开头钩子、转场、结尾 CTA;脚本文案以字幕/本地转写为主,抖音内置 AI 或备用豆包只给画面假设,重要结论要用转写/抽帧校验。
- `commerce-analysis`:带货、本地生活、探店、课程或服务视频 -> 卖点、信任证据、价格/优惠、CTA、转化阻力和评论需求。
- `fact-check`:涉及医学、法律、投资、新闻或强事实判断时,区分视频原文、抖音内置 AI/豆包概述和外部来源;高风险结论必须联网核验并标注来源。
- `knowledge-archive`:用户要沉淀资料库、Obsidian、RAG 或写作素材时,保留来源 URL、作者、时间、证据等级、关键词和后续可检索标签。
成本分层默认从轻到重:
- `quick-pass`:分享文本、页面元数据、抖音内置 AI,必要时备用豆包 `fast`;适合秒级判断、选题筛选和草稿,但必须标注不是完整字幕/全文证据。
- `evidence-pass`:独立字幕轨或 ASR 全文、关键帧/OCR、评论样本;适合要引用、拆解或发布的内容。
- `research-pass`:批量视频、账号/话题搜索、竞品对比和评论聚类;范围大时先给样本计划和 token/时间风险。
## 系统化分析协议
默认按“问题 -> 取证 -> 分析 -> 审计”推进,不要把工具输出直接等同于结论:
1. `research-question`:写清要回答的问题、分析单位和场景模式。复杂任务先生成 `analysis_plan.json`。
2. `sampling-plan`:账号、话题、评论或竞品任务必须说明样本怎么选、样本量是多少、为什么足够或不足。
3. `evidence-ladder`:把证据分为用户输入、页面元数据、独立字幕轨/本地自动语音识别转写、抖音内置 AI、备用豆包快读、评论、关键帧/OCR、外部来源。字幕/转写是事实主干;抖音 AI 和豆包是快读或视觉补充。结论必须标注依赖哪一层。
4. `synthesis-gate`:合成前先读取 `assets/asset_manifest.json` 或确认同等原始材料,检查证据等级、覆盖范围和反例/不确定性;缺证据时先写范围限制,不要补故事。
5. `audit-trail`:最终笔记或研究简报保留来源 URL、采集时间、输出文件、样本范围、`note_budget.json` 和无法验证的点。
## 高效执行与复用策略
- 先检查已有产物,再决定下一步。已有 `douyin_ai_brief.json` 时,不要重复问抖音内置 AI;已有 `doubao_brief.json` 时,不要重复问豆包;已有 `transcript.txt`、`segments.json`、`metadata.json` 时,不要重跑 ASR;已有 `note_budget.json` 且未过期时,不要重算预算。
- `analysis_plan.json` 只在复杂任务或目标变化时创建;已有计划默认复用。目标、来源、模式或证据等级变化时才用 `--force` 重建。
- 先走最便宜的 `quick-pass`,只有当研究问题无法回答、证据等级不足、或用户要可发布笔记/事实核查时,才升级到 `evidence-pass` 或 `research-pass`。评论区任务的 `quick-pass` 是前 100 条主评论及对应楼中楼样本;全量可见评论属于更重的资产补齐步骤。
- 不要为了“完整流程”固定执行所有步骤。单条视频如果已有高质量转写,可直接预算和写笔记;评论洞察如果只问观众反馈,可以先抓 100 条评论样本,不必先全量 ASR,也不必默认抓完整评论区。
- 重新运行昂贵步骤前必须说明触发条件:输入变了、旧文件缺失/损坏/过期、证据等级不足,或用户明确要求更高质量。
## 原始材料与学习笔记默认策略
- 默认先建立数据资产,再写学习笔记。不要只把抖音内置 AI、豆包概述或未经审计的本地自动语音识别文本直接当最终笔记。
- `douyin_ai_brief.json`、`doubao_brief.json`、`transcript.txt`、`segments.json`、`metadata.json`、评论 JSON/CSV 和关键帧截图都属于原始数据;最终学习笔记必须能回到这些材料解释来源。
- 默认把字幕/转写和完整评论整理成资产包:`assets/transcripts/` 保存字幕、转写和片段;`assets/comments/` 保存完整评论 JSON/CSV、JSONL 明细和可读 Markdown;`assets/asset_manifest.json` 是后续再分析的入口。
- `assets/asset_manifest.json` 是事实入口;`learning_note.md` 是从资产生成的一种学习视图,不是资产本身。用户换问题、换场景或要求复核时,优先复用资产重新组织笔记,不要重跑或覆盖原始材料。
- 写笔记前先确认用户需求:内容学习、脚本复盘、评论洞察、事实核查、写作素材或知识库归档。再从资产中选择证据和结构,不要先脑补结论再找材料。
- 每次生成转写材料后读取 `note_budget.json`。它根据视频时长、转写字数、片段/证据块、评论数和互动质量给出推荐笔记长度。
- 长视频、长转写、高评论或高互动视频要写更长、更结构化的笔记;短视频或低信息密度视频避免过度扩写。
- 互动质量是“值得多写”的辅助信号,不替代证据。扩写必须来自视频原文、评论样本、关键帧、外部核验,或已明确降级为视觉假设的抖音内置 AI/豆包快读。
- 学习型笔记要让读者像学完一个短课题:获得概念、判断标准、方法步骤、适用边界、坑点和可迁移用法。不要只写“视频讲了什么”。
## 默认流程
1. 读清用户要的是哪种场景模式:单条视频笔记、评论洞察、账号分析、话题研究、脚本拆解、电商分析、事实核查,还是知识库归档。
2. 首次使用、换机器、或准备跑完整抖音链接流程时,先检查环境:
```powershell
$skill = "$env:USERPROFILE\.codex\skills\dy-note"
$py = "python"
& $py "$skill\scripts\check_environment.py"
```
3. 如果有输出目录,先运行或心中执行 `inspect_workflow_state.py`,复用已有计划、抖音内置 AI brief、豆包 brief、转写、评论、预算和评分。
4. 评论、账号、话题、竞品、事实核查或批量研究任务先用 `create_analysis_plan.py` 生成 `analysis_plan.json`;已有计划且目标没变时不要重建。单条视频任务也要在脑中执行同样的证据闸门。
5. 如果已经有 SRT、Whisper JSON 或 TXT,优先走本地整理路线,避免重复下载和转写;脚本会生成 `note_budget.json`。
6. 如果用户要求可靠全文、学习笔记、逐句内容、引用、脚本拆解或事实核查,优先使用 `extract_douyin_text.py` 取得字幕轨或本地自动语音识别转写。默认 `--asr-backend auto`:中文或未指定语言优先共享 Qwen3-ASR,明确外语视频优先 Whisper。默认复用已有输出;需要重跑时加 `--force`。
7. 如果用户只是快速理解、选题筛选或先拿草稿,且当前 Chrome 已登录抖音网页版,可以跑 `douyin_web_ai_brief.py`;已有可用 `douyin_ai_brief.json` 时先读旧结果。抖音内置 AI 不可用、弱,或 `note_budget.json` 显示低转写密度时,再用 `doubao_video_brief.py` 的 `fast/evidence` 模式备用,但必须标注为假设。
8. 评论、账号、话题、竞品或批量研究任务先做 `quick-pass` 样本,不要直接对大量视频逐条 ASR;样本结论不足时再升级到 `evidence-pass` 或 `research-pass`。大评论区默认用 `fetch_douyin_comments.py` 抓前 100 条主评论及对应楼中楼;需要完整可见评论时再显式加 `--full`,不要黑盒等待一轮全量抓取。
9. 每次得到转写、字幕、评论 JSON/CSV、抖音 AI brief 或豆包 brief 后,运行 `archive_dy_note_assets.py` 生成或更新 `assets/`。评论区任务必须保留评论样本或完整评论资产,不能只输出评论摘要。
10. 写学习笔记前,先打开 `assets/asset_manifest.json`,再按用户需求读取 `transcript.cleaned.md`、`segments.json`、完整评论、`douyin_ai_brief.md`、`doubao_brief.md` 或 `analysis_plan.json`,检查证据是否足以回答研究问题。再打开 `note_budget.json`,按推荐长度和 `writing_guidance` 写学习型笔记;如果 `visual_dependency.needs_visual_review=true`,必须在笔记和回复中提醒画面证据不足,或先补抖音 `问AI / 识别画面`、关键帧/OCR。对外部 AI 回答逐项做证据审计,不要把它们的扩写混成视频原文。
11. 如果识别出片名、人名、地名明显错,优先在最终说明里标注可疑词;用户要求校对时再做替换、二次 ASR 或补关键帧。
12. 用户明确要 SRT/VTT/时间轴时,才单独交付字幕文件;无论是否单独交付,都要在 `assets/transcripts/` 里保留可复用文本资产。
## 常用命令
### 0. 检查已有工作状态
已有输出目录时先检查状态,决定下一步,不要盲目重跑:
```powershell
& $py "$skill\scripts\inspect_workflow_state.py" `
--out-dir ".\dy_note_output" `
--mode "single-video-note"
```
重点看:
- `reusable_artifacts`:可以直接复用的产物。
- `recommended_next_steps`:真正缺的下一步。
- `avoid_rework`:明确不要重复做的昂贵步骤。
- `stale.note_budget` / `stale.note_score`:预算或评分是否因新材料而过期。
### 1. 创建系统化分析计划
复杂任务先生成计划,再采集数据。单条视频可省略显式文件,但账号/话题/评论/竞品/事实核查任务建议保留:
```powershell
& $py "$skill\scripts\create_analysis_plan.py" `
--mode "topic-research" `
--tier "quick-pass" `
--objective "分析这个赛道里什么视频形式值得复用" `
--source "铁板牛排 炸土豆饼 野外烹饪" `
--out-dir ".\dy_note_research"
```
如果 `analysis_plan.json` 已存在,脚本默认复用旧计划;只有目标、来源、模式或证据等级改变时才加 `--force` 覆盖。
常用模式:`single-video-note`、`comment-insight`、`account-analysis`、`topic-research`、`script-mining`、`commerce-analysis`、`fact-check`、`knowledge-archive`。
### 2. 从已有 SRT 生成干净文本
```powershell
& $py "$skill\scripts\extract_douyin_text.py" `
--from-srt "D:\微信推送\douyin_subtitles_7647145112421633320\7647145112421633320_16k.srt" `
--metadata-json "D:\微信推送\douyin_subtitles_7647145112421633320\official_detail_summary.json" `
--out-dir "D:\微信推送\dy_note_7647145112421633320"
```
### 3. 从 Whisper JSON 或 TXT 生成干净文本
```powershell
& $py "$skill\scripts\extract_douyin_text.py" `
--from-whisper-json ".\audio_16k.json" `
--out-dir ".\dy_note_output"
& $py "$skill\scripts\extract_douyin_text.py" `
--from-txt ".\raw_transcript.txt" `
--source-url "https://www.douyin.com/video/..." `
--out-dir ".\dy_note_output"
```
### 4. 安装或检查共享 Qwen3-ASR 本地环境
Qwen3-ASR 是中文视频优先使用的本地自动语音识别后端。首次使用时安装到共享 venv,复用现有 CUDA Torch;DyNote 和 Bili Note 共用同一套环境:
```powershell
& $py "$skill\scripts\setup_qwen_asr_env.py"
& $py "$skill\scripts\check_environment.py"
```
看到 `routes.qwen3_asr=OK` 后再使用 Qwen 后端。本机默认 venv 路径是:
```text
%USERPROFILE%\.cache\rimagination-notes\qwen3-asr-venv
```
为兼容早期原型,脚本仍会探测旧路径 `%USERPROFILE%\.cache\dy-note\qwen3-asr-venv` 和 `%USERPROFILE%\.cache\douyin-note\qwen3-asr-venv`。
### 5. 从抖音链接完整提取
先按 `web-access` 要求启动并检查 CDP proxy,再运行:
```powershell
& $py "$skill\scripts\extract_douyin_text.py" `
"https://v.douyin.com/xxxxxxx/" `
--out-dir "D:\微信推送\dy_note_output" `
--asr-model medium `
--language Chinese
```
如果输出目录已有 `transcript.txt`、`segments.json` 和 `metadata.json`,脚本默认复用并跳过浏览器、下载和 ASR。确实要重跑时加:
```powershell
--force
```
中文长视频默认优先用 Qwen3-ASR-0.6B。8GB 显存建议保留默认 60 秒分段,避免整段长音频 OOM:
```powershell
& $py "$skill\scripts\extract_douyin_text.py" `
"https://v.douyin.com/xxxxxxx/" `
--out-dir "D:\微信推送\dy_note_output_qwen" `
--asr-backend qwen3-asr `
--qwen-model "Qwen/Qwen3-ASR-0.6B" `
--qwen-chunk-seconds 60 `
--language Chinese
```
脚本会输出:
- `transcript.cleaned.md`:适合阅读和继续写笔记的 Markdown。
- `transcript.txt`:纯文本正文,适合喂给总结、RAG 或写作流程。
- `segments.json`:按原始字幕/ASR 片段保留的结构化文本。
- `metadata.json`:来源、作者、作品 ID、片段数、生成时间和输出清单。
- `note_budget.json`:按时长、转写字数、片段数、评论量和互动质量生成的推荐学习笔记长度,以及转写过稀时的画面依赖提示。
- `page_metadata.json`、视频、音频、Whisper SRT 或 Qwen JSON:完整流程产生的中间材料,供排错和回查使用。
### 6. 从已有音频使用 Qwen 转写
```powershell
& $py "$skill\scripts\extract_douyin_text.py" `
--from-audio "D:\微信推送\video_16k.wav" `
--asr-backend qwen3-asr `
--qwen-chunk-seconds 60 `
--metadata-json ".\metadata.json" `
--out-dir ".\dy_note_qwen"
```
### 7. 复用已打开的 web-access target
如果已经用 `web-access` 打开抖音页面并拿到 target id:
```powershell
& $py "$skill\scripts\extract_douyin_text.py" `
"https://www.douyin.com/video/7647145112421633320" `
--target "CDP_TARGET_ID" `
--keep-tab `
--out-dir ".\dy_note_output"
```
不要关闭用户已有 tab;只有脚本自己新建的 tab 可以自动关闭。
### 8. 用抖音内置 AI 快速解读视频
先按 `web-access` 要求启动并检查 CDP proxy。脚本会使用当前 Chrome 打开抖音视频页,优先读取页面 `问AI` 生成的 `章节要点` 和时间线;如果传入的是 `jingxuan?modal_id=...`,会自动归一到更稳定的 `/video/<id>` 页面:
```powershell
& $py "$skill\scripts\douyin_web_ai_brief.py" `
"https://www.douyin.com/jingxuan?modal_id=7655645985318085322" `
--out-dir ".\dy_note_douyin_ai_7655645985318085322"
```
如果任务依赖当前画面内容,可尝试把暂停帧加入抖音 AI 输入框:
```powershell
& $py "$skill\scripts\douyin_web_ai_brief.py" `
"https://www.douyin.com/jingxuan?modal_id=7655645985318085322" `
--identify-frame `
--out-dir ".\dy_note_douyin_ai_frame"
```
脚本会输出:
- `douyin_ai_brief.md`:抖音内置 AI 的章节要点、时间线、识别画面状态和局限。
- `douyin_ai_brief.json`:来源 URL、归一化 URL、作品 ID、证据等级、时间线和输出路径。
证据等级为 `weak` 或 `blocked` 时,继续跑备用豆包、本地自动语音识别、关键帧或 OCR;如果只是拿草稿或选题筛选,`douyin-web-ai-chapters` 通常已经够用。
### 9. 用已登录豆包作为备用快读
当抖音内置 AI 不可用、弱、或需要交叉对照时,再走豆包备用路线。先按 `web-access` 要求启动并检查 CDP proxy。脚本会自己打开当前 Chrome 的豆包页并确认登录态;未登录时会停止,不会换浏览器:
```powershell
& $py "$skill\scripts\doubao_video_brief.py" --check-login
```
推荐传入完整分享文本,而不是只传最终视频 URL:
```powershell
& $py "$skill\scripts\doubao_video_brief.py" `
"8.28 x@F.uf gbA:/ 07/06 :9pm 铁板牛排+炸土豆饼 向阳而生 # 助眠 # 治愈 # 美食 # 野外烹饪 # 牛排 https://v.douyin.com/xxxxxxx/ 复制此链接,打开Dou音搜索,直接观看视频!" `
--out-dir "D:\微信推送\dy_note_doubao_7580609296384249123" `
--mode fast
```
要判断豆包是否真的有画面证据,用 `evidence` 模式:
```powershell
& $py "$skill\scripts\doubao_video_brief.py" `
--from-file ".\douyin_share.txt" `
--out-dir ".\dy_note_doubao_evidence" `
--mode evidence
```
脚本会输出:
- `doubao_brief.md`:豆包视频概述、时间线或阻塞说明。
- `doubao_brief.json`:会话 URL、证据等级、是否搜索派生、是否被阻塞、原始分享文本和输出路径。
证据等级为 `blocked` 或 `weak` 时,继续跑完整 ASR/抽帧路线;等级为 `search-derived` 时可作为快速草稿,但最终说明要标注它不是逐帧视觉证据。
### 10. 重新计算学习笔记预算
如果后来补了评论 JSON、改了元数据,或只想根据已有输出重算预算:
```powershell
& $py "$skill\scripts\compute_note_budget.py" `
--out-dir ".\dy_note_output" `
--comments-json ".\dy_note_output\douyin_comments_7580609296384249123_full.json"
```
写最终学习笔记前必须看 `note_budget.json` 中的:
- `recommended_note_chars_min` / `recommended_note_chars_max`:默认笔记字数区间。
- `quality_multiplier` / `quality_metrics`:互动质量为何让笔记变长或变短。
- `granularity` / `writing_guidance`:短视频、长讲解、高互动视频分别该用什么粒度写。
写完最终 Markdown 后,用预算做一次长度和信噪比校验:
```powershell
& $py "$skill\scripts\score_dy_note.py" `
--out-dir ".\dy_note_output" `
--note-path ".\dy_note_output\learning_note.md" `
--out ".\dy_note_output\note_score.json"
```
### 11. 归档字幕和评论资产
抓完字幕/转写、评论或 AI brief 后,更新资产包:
```powershell
& $py "$skill\scripts\archive_dy_note_assets.py" `
--out-dir ".\dy_note_output"
```
如果评论文件在别的目录,可以显式传入:
```powershell
& $py "$skill\scripts\archive_dy_note_assets.py" `
--out-dir ".\dy_note_output" `
--comments-json ".\douyin_comments_765xxxx_full.json" `
--comments-csv ".\douyin_comments_765xxxx_full.csv"
```
资产包包含:
- `assets/transcripts/transcript.txt`、`segments.json`:后续总结、检索和引用的事实主干。
- `assets/comments/comments.sample.json`、`comments.sample.csv`:默认评论样本备份,通常是前 100 条主评论及对应楼中楼。
- `assets/comments/comments.full.json`、`comments.full.csv`:显式 `--full` 后的完整可见评论备份。
- `assets/comments/comments.rows.jsonl`:适合继续做评论聚类、用户需求分析和二次处理。
- `assets/comments/comments.text.md`:适合人工快速浏览的评论全集。
- `assets/asset_manifest.json`:资产入口和覆盖范围。
### 12. 高效抓取评论区
大评论区不要一上来黑盒等待完整评论。默认先抓评论样本:前 100 条主评论及这些主评论下的楼中楼。
```powershell
& $py "$skill\scripts\fetch_douyin_comments.py" `
"https://www.douyin.com/video/7655645985318085322" `
--out-dir ".\dy_note_output" `
--basename "douyin_comments_7655645985318085322"
```
默认输出:
- `douyin_comments_<aweme_id>_sample.json`
- `douyin_comments_<aweme_id>_sample.csv`
- 以及 `douyin_comments_<aweme_id>_main_only_sample.json/csv` checkpoint
如果用户确实需要完整可见评论,再全量抓取:
```powershell
& $py "$skill\scripts\fetch_douyin_comments.py" `
"https://www.douyin.com/video/7655645985318085322" `
--out-dir ".\dy_note_output" `
--basename "douyin_comments_7655645985318085322" `
--full `
--main-count 50 `
--main-page-limit 300 `
--reply-count 50 `
--reply-page-limit 50 `
--main-delay 0.15 `
--reply-delay 0.05
```
抓完任一阶段都要运行 `archive_dy_note_assets.py`。如果 `coverage.is_sample=true`,最终说明必须提示“这不是全部评论,只是样本”;同时报告 `coverage.total_reported`、`row_count`、主评论数、楼中楼数和 `reported_gap`,不要把平台报告数直接说成已抓取行数。
## 输出口径
- 说清楚文本来源:独立字幕轨、页面文案、已有 SRT/VTT/TXT,还是本地自动语音识别。
- 给用户可复用材料时优先指向 `assets/asset_manifest.json`,不要只给最终学习笔记;评论区分析必须保留 `assets/comments/` 下的样本或完整备份,并说明覆盖范围。
- 最终学习笔记要说明它基于哪些资产生成:字幕/转写、评论、元数据、抖音问 AI、豆包备用或关键帧/OCR。不要把某一版总结说成唯一答案。
- Qwen3-ASR-0.6B 往往比 Whisper 更像可读稿,会自动补标点;但对白、方言、背景音、chunk 边界仍可能错听或插入噪声,不要把它当校对后的定稿。
- 抖音内置 AI 很适合在转写密度低时补章节要点、时间线和画面理解;`识别画面` 只能证明当前帧被加入输入框,不能自动等同于完整逐帧分析或完整字幕提取。
- 豆包 `fast` 模式现在是备用路线;只有抖音问 AI 不可用或质量弱时再用。如果结果包含“搜索 N 个关键词 / 参考 N 篇资料”,按检索式解读使用,不要称为“豆包已看完关键帧”。
- 豆包 `blocked` 结果通常会写“无法访问视频画面”或类似措辞;这时不要继续追问编造,直接回落到本地 ASR/关键帧补充。
- 抖音页面的 `caption`、简介和话题标签不等于完整字幕。只有完整逐句文本才可称为字幕/转写。
- 如果播放器/页面没有独立字幕轨,画面内嵌字幕、贴纸文字和商品/价格信息不能靠本地自动语音识别读取;需要抖音 `问AI / 识别画面`、关键帧、OCR、备用豆包视觉假设或人工检查。
- 如果长视频的转写文本明显很少,必须把 `note_budget.json` 的 `visual_dependency` 提示转述给用户,不要写成“已完整解析”。
- ASR 文本可能有错字,尤其是片名、人名、方言、专有名词和背景音乐压过人声的片段。
- 给用户文件时优先给 `transcript.cleaned.md` 和 `transcript.txt`;`segments.json` 供程序处理。
- 写学习笔记时优先遵守 `note_budget.json`。预算偏长时补概念卡、方法步骤、评论洞察、坑点和自测题;预算偏短时避免把短视频硬扩成长文。
- 如果只抓到简介、章节摘要或部分片段,明确说明覆盖范围,不要写成“已提取完整视频文本”。
## 抖音视频注意事项
- 短链会跳转到 `/video/<aweme_id>` 或 `/note/<aweme_id>`;脚本会通过 Chrome 获取最终 URL。
- 页面可能没有独立字幕轨;中文或未指定语言默认优先共享 Qwen3-ASR,明确外语视频再走 Whisper 系后端。
- 播放器能开关的字幕通常更可能是独立轨道;无法关闭的画面文字通常是内嵌画面,不能按字幕文件处理。
- 临时视频 URL 可能包含签名,不能写入文档、日志或最终回答。
- 抖音风控敏感;不要批量快速打开大量视频,不要复制浏览器凭据。
- 完整流程依赖 `ffmpeg` 和一个 ASR 后端;本地整理已有 SRT/TXT 不依赖它们。
- Qwen3-ASR 单次处理 17 分钟音频会在 8GB 显存上 OOM;使用分段参数,默认 `--qwen-chunk-seconds 60`。
## 相关文件
- `scripts/check_environment.py`:检查 web-access proxy、ffmpeg、Whisper、Qwen3-ASR 和本地模型缓存。
- `scripts/archive_dy_note_assets.py`:把字幕/转写、完整评论、AI brief、元数据和预算整理成 `assets/` 可复用资产包。
- `scripts/compute_note_budget.py`:按转写长度、时长、评论量和互动质量生成 `note_budget.json`,指导学习笔记长短,并提示长视频转写过稀时的画面依赖风险。
- `scripts/create_analysis_plan.py`:按场景模式生成 `analysis_plan.json`,记录研究问题、采样策略、证据阶梯和合成闸门。
- `scripts/douyin_web_ai_brief.py`:使用当前已登录 Chrome 中的抖音网页版“问AI / 识别画面”提取视频章节要点和时间线。
- `scripts/doubao_video_brief.py`:备用路线,使用当前已登录 Chrome 中的豆包网页版,对完整抖音分享文本做快速解读、登录态检查和证据分级。
- `scripts/extract_douyin_text.py`:从抖音链接、本地音频或本地转写文件生成文本素材。
- `scripts/fetch_douyin_comments.py`:通过 web-access CDP proxy 分阶段抓取抖音主评论和楼中楼,支持主评论 checkpoint、续抓回复、进度输出和覆盖率统计。
- `scripts/inspect_workflow_state.py`:检查输出目录已有产物,推荐下一步并提示哪些步骤不要返工。
- `scripts/run_qwen_asr.py`:调用 Qwen3-ASR-0.6B,可按 chunk 分段避免显存溢出。
- `scripts/score_dy_note.py`:把最终 Markdown 与 `note_budget.json` 比较,判断笔记过短、过长或合适。
- `scripts/setup_qwen_asr_env.py`:创建/更新共享的 Qwen3-ASR Python 环境。
- `scripts/selftest.py`:轻量自测,覆盖 SRT/Qwen 解析、合段和本地输出生成。
- `references/douyin-video-text-notes.md`:实现细节、场景模式、证据分层、已知限制和后续改进建议。
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!