بنقرة واحدة
viral-chaser
下载分析抖音/B站/小红书爆款视频,生成追爆报告。仅产出报告,脚本另外使用 video-product 技能根据 追爆报告.md 生成。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
下载分析抖音/B站/小红书爆款视频,生成追爆报告。仅产出报告,脚本另外使用 video-product 技能根据 追爆报告.md 生成。
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
智能搜索路由器。根据用户意图选择最佳搜索源,构造 URL 并导航,获取内容。 仅在默认搜索手段效果不佳、或需要登录自媒体平台(抖音/小红书/微博等)搜索时启用本技能; 常规通用搜索请先用 onboard 配置的搜索供应商(火山/serper/Tavily 等)。
Search WeChat Official Accounts, retrieve the account's latest post list, and fetch full article content by URL. Also supports interactive QR-code login flow for session management.
通过浏览器自动化发布视频到抖音创作者中心。纯浏览器操作方案。
平台登录态管理。约定各平台登录流程(强制有头手动登录)、探活规则、中央 cookie+UA 存储路径约定。仅管 4 个平台(douyin/kuaishou/bilibili/xhs-browse)。
发布记录追踪。使用 SQLite 数据库记录所有平台发布内容及其互动数据,按平台分表管理。三大块:与发布技能结合(发布记录 1B;打分+预测 1A 由 content-calibrator 负责)、数据更新、查询与平台设置。
小红书图文内容调研与对标分析。搜索小红书图文笔记,下载图片和正文进行深度分析。当用户要求小红书竞品分析、对标分析、图文内容调研时触发。视频内容请使用 viral-chaser 技能。
| name | viral-chaser |
| description | 下载分析抖音/B站/小红书爆款视频,生成追爆报告。仅产出报告,脚本另外使用 video-product 技能根据 追爆报告.md 生成。 |
| metadata | {"openclaw":{"emoji":"🎯","requires":{"bins":["node","ffmpeg"],"env":["VOLC_ASR_APP_ID"]}}} |
本技能的语音转写(ASR)使用火山引擎豆包语音 · 录音文件极速版(资源 ID volc.bigasr.auc_turbo)。即便账号已订购火山 Code Plan,语音模型仍需单独开通,否则调用会返回鉴权/权限错误。
判断是否已开通:直接跑 Step 3 分析器,若 ASR 报错含 status=45xxxxx 或权限相关码,说明未开通,按下面流程开通一次即可。
开通流程(未开通时,根据下面提示并引导用户在火山引擎控制台操作一次):
Speech_Recognition_Seed_AUC2000000854311547266,资源 ID volc.bigasr.auc_turbo),点击 「试用」(赠送 20 小时,可先用,后续再点开通付费)VOLC_ASR_APP_ID + VOLC_ASR_ACCESS_KEY);Secret Key 不需要给(旧控制台账号用不上,填进 X-Api-App-Key 反而会报 45000010 appid mismatch)。由小贝写入实例环境变量。环境变量(开通后由小贝配置,用户无需手动设置):
| 变量 | 说明 |
|---|---|
VOLC_ASR_APP_ID | 旧控制台数字 APP ID(如 1216386473),用于 X-Api-App-Key。旧控制台双头鉴权必需 |
VOLC_ASR_ACCESS_KEY | 旧控制台 Access Token,用于 X-Api-Access-Key。与 VOLC_ASR_APP_ID 成对使用 |
VOLC_ASR_APP_KEY | 新控制台 APP Key,用于 X-Api-Key 单头鉴权。仅新控制台账号需要;旧控制台账号不要把 Secret Key 填到这里(会报 45000010 appid mismatch) |
VOLC_ASR_RESOURCE_ID | 资源 ID,默认 volc.bigasr.auc_turbo,一般无需改 |
鉴权二选一(脚本优先旧控制台双头):同时给出
VOLC_ASR_APP_ID+VOLC_ASR_ACCESS_KEY→ 旧控制台双头;否则用VOLC_ASR_APP_KEY→ 新控制台单头。旧控制台X-Api-App-Key要的是数字 APP ID,不是 Secret Key。
写入流程:用户把
VOLC_ASR_APP_ID/VOLC_ASR_ACCESS_KEY(或新控制台的VOLC_ASR_APP_KEY)交给小贝后,小贝应 spawn 一个IT engineer作为 subagent 去把这两个变量添加到实例环境变量中——IT engineer 掌握如何在本机环境变量 / 服务配置里安全添加此类密钥的规范。小贝本人不要直接写环境变量文件。
关于接口选型:火山 ASR 分录音文件标准版 2.0(
volc.seedasr.auc,单价最低,但只接受音频公网 URL,需自备 TOS 对象存储)、极速版(本技能采用,支持本地文件 base64 直传、一次返回)、闲时版(24h 内返回,不适合交互流程)、流式(实时上屏用)。viral-chaser 输入是本地 audio.wav,极速版免托管、原生返回时间戳,综合最合适。若后续为降本要切标准版 2.0,需额外引入 TOS 上传环节。
Use this skill when:
本技能仅产出追爆报告,不生成脚本,不制作视频。报告产出后,直接进入 video-product 技能,按追爆报告生成脚本并完成后续生产。
Supported platforms: 抖音(Douyin)、B 站(Bilibili)、小红书(XHS — 仅视频笔记)
Not supported: 微信视频号、TikTok
本技能涉及多步骤生产流程,你应该 self-spawn 一个 subagent 来执行,原因:subagent 独立上下文,不会因对话历史积累而降低输出质量。
你只负责跟进subagent的执行,避免它们长时间卡在某个步骤,必要时可以提供提示或调整执行策略。
Before anything else, create the working directory for this video under output_videos/:
VIDEO_SLUG="<platform>-<contentId>" # e.g. douyin-7389abc or bilibili-BV1xx
mkdir -p "output_videos/${VIDEO_SLUG}/references"
All downloaded files, analysis results, and generated reports will be saved under this directory. The references/ subdirectory holds the raw assets (video, audio, key frames) downloaded by the analyzer script.
一条命令闭环:先探活、再下载、再 ASR、再抽帧。探活已合并进脚本,无需单独跑 check-login。
viral-chaser <url> [--no-frames]
<url>: Full or short-link URL of the video(支持短链,如 xhslink.com/o/xxx、v.douyin.com/xxx、b23.tv/xxx,脚本内部跟随重定向解析)--no-frames: Skip key frame extraction (faster, audio-only analysis)OUTPUT_DIR(环境变量):落盘目录,必须指向 Step 1 建的 references/ 子目录⚠️ exec allowlist 注意:
OUTPUT_DIR=... viral-chaser ...内联 env 前缀会触发 allowlist miss。通过 exec 工具调用时,把OUTPUT_DIR放到 exec 的env字段里传,不要写成内联前缀;同理避免mkdir ... ; echo这类分号复合命令。脚本本身已正确读取OUTPUT_DIR落盘,问题只在调用规范。
内置探活(_shared/check-session.ts):douyin 抓取前先做两层探活(Tier1 cookie 关键字段 + Tier2 平台 pong,pong 带 TTL 缓存);bilibili 公开视频免登录,跳过探活。xhs 走无 cookie HTML 路线(见下),不依赖签名/cookie,跳过探活——探活 user/me 通过也不代表 feed 签名路径被接受,HTML 路线根本不走签名,无需探活。
The script outputs a JSON object to stdout. Read it and proceed with analysis.
Output JSON structure:
{
"ok": true,
"platform": "douyin",
"metadata": {
"contentId": "...",
"title": "...",
"desc": "...",
"author": "...",
"durationSeconds": 89,
"coverUrl": "...",
"stats": { "playCount": 0, "likeCount": 0, "commentCount": 0 }
},
"transcript": {
"text": "全文转录...",
"segments": [{ "start": 0.0, "end": 5.2, "text": "开场文案" }],
"estimated": false
},
"frames": ["output_videos/<slug>/references/frames/frame_00_0s.jpg", "..."],
"localPaths": {
"video": "output_videos/<slug>/references/video.mp4",
"audio": "output_videos/<slug>/references/audio.wav",
"tmpDir": "output_videos/<slug>/references"
}
}
transcript.estimated: false 表示 segments 是火山 ASR 返回的真实时间戳(utterance 级,毫秒精度转秒);true 仅在接口异常未返回 utterances 时出现,此时按句切分全文并按字数比例在音频时长上估算分段,时间区间为近似值。正常情况下始终为 false。Exit codes:
0 = Success1 = Error(URL invalid / download failed),或 SIGN_UNAVAILABLE(签名缺 OFB_KEY,重登救不了,交 IT engineer 配凭证)2 = SESSION_EXPIRED(cookie 失效)— 走 login-manager 重登(login-manager --platform <p> 导出+验证),重试一次For each path in frames, use the Read tool to load the image and analyze it visually.
Read: output_videos/<slug>/references/frames/frame_00_0s.jpg
Read: output_videos/<slug>/references/frames/frame_01_3s.jpg
...
After receiving the JSON output and reading the frames, generate a 追爆报告 in Markdown and save it to output_videos/<slug>/raw_article.md.
1–2 sentences: what core value does this video deliver to viewers?
Based on transcript.segments where start < 10:
Based on transcript segments, divide into logical sections:
| 段落 | 时间区间 | 功能 | 核心内容 |
|---|---|---|---|
| 开场 | 0–Xs | 钩子/引入 | ... |
| 主体一 | X–Ys | 价值/信息传递 | ... |
| 主体二 | Y–Zs | 深化/转折 | ... |
| 收尾 | Z–结束 | CTA/情绪收尾 | ... |
Rate each element as 强 / 中 / 弱 with a one-line explanation:
| 元素 | 评级 | 说明 |
|---|---|---|
| 前 3 秒吸引力 | ||
| 痛点共鸣度 | ||
| 悬念设置 | ||
| 情绪触发 | ||
| 价值清晰度 | ||
| CTA 效果 | ||
| 视觉冲击(基于关键帧) | ||
| 节奏把控 |
After reading the frame images:
If --no-frames was used or frames is empty, note: "(跳过视觉分析,请重新运行不带 --no-frames 参数)"
3–5 concise, directly actionable techniques. One sentence each.
One sentence describing the primary audience persona.
追爆报告产出后,直接进入 video-product 技能流程,并应该明确提示后续工作流程:工作目录为 output_videos/<slug>/,直接按raw_article.md制作脚本.
output_videos/<slug>/ — all downloaded assets and analysis reports are kept together. The references/ subdirectory contains raw assets from the analyzer.mediaFormat is DASH, the video and audio streams are separate. The downloaded video.mp4 contains the video stream only; audio is in audio.wav after extraction. This is transparent to the analysis workflow.platforms/xhs.ts 直接 GET www.xiaohongshu.com/explore/{note_id}?xsec_token=... 笔记详情页 HTML,解析 og:meta + window.__INITIAL_STATE__ 拿标题/封面/视频地址/时长/互动计数(_shared/xhs-html-note.ts)。不走 feed API(/api/sns/web/v1/feed 需 xRap relay 签名,极易 406/500/滑块,且探活 user/me 通过不代表 feed 签名路径被接受,会出现「探活绿、feed 红」假绿)。输入必须是带 xsec_token 的分享链接(xhslink.com/... 或 www.xiaohongshu.com/explore/...?xsec_token=...),脚本从短链展开后的 URL 抽 token。无 cookie 抓不到(滑块/空页)时,若本机有 xhs-browse cookie 则用同指纹 UA + cookie 回退重试一次。volc.bigasr.auc_turbo),原生返回 utterance 级真实时间戳(start_time/end_time,毫秒),脚本转成秒后填入 transcript.segments,estimated=false。仅在接口异常未返回 utterances 时,才按句切分全文并按字数比例在音频时长上估算分段(estimated=true)作为兜底。开通/鉴权见文首「前置:开通火山语音模型」。