Install
openclaw skills install @jackchew7143/linkdigest-viral-breakdown爆款拆解:把一条抖音、小红书、TikTok 或 YouTube 内容拆成开头钩子、带时间的结构节拍、标题公式、封面文字、行动号召和可复用模板。引用的原话逐字核对原文,对不上的删掉并写明删了几条;点赞收藏和话题标签取自平台数据,不由模型编写。用户要拆解爆款、分析对标账号、学习内容结构或准备仿写时使用。通过 LinkDigest API 读取,不需要平台账号或 Cookie。需要 LINKDIGEST_API_KEY;在读取费用上加 1 积分(约 ¥0.14),6 张图以内的图文笔记加拆解共 2 积分。
openclaw skills install @jackchew7143/linkdigest-viral-breakdown给一条抖音、小红书、TikTok 或 YouTube 链接,先读出逐字稿、画面文字、图片文字和互动数据,再分析这条内容是怎么做出来的:开头怎么留人、每一步讲什么、标题怎么写、结尾怎么引导,最后给一个可以套用的模板。
和让模型「看完写个拆解」的区别在于:拆解里每一句标成原话的引用,都会和读出来的原文逐字比对,找不到的直接删掉,并在 missing 里写明删了几条。点赞、评论、收藏、话题标签直接取自平台数据,不让模型写。
一条 15:42 的抖音剪辑教程(https://www.douyin.com/video/7515405363630443830 ),要求用英文写拆解(translate_to: "en"):
missing 里写着 7 quote(s) removed: not found word for word in the post;{"t": 24, "label": "Demonstration of Problem",
"summary": "Shows a basic linear keyframe animation that looks boring and uniform, establishing the baseline problem.",
"quote": "可以看到它的这个运动是不是比较的无聊,是一个比较匀速平稳的缩放"}
linkdigest-video-transcript 或 linkdigest-xhs-note-ocr,少花 1 积分。ld_live_ 开头)。新账户送 10 积分,只送一次,不用绑卡。export LINKDIGEST_API_KEY=ld_live_...
也可以写进 OpenClaw 配置(~/.openclaw/openclaw.json)里这个技能的 env:
{ skills: { entries: { "linkdigest-viral-breakdown": { env: { LINKDIGEST_API_KEY: "ld_live_..." } } } } }
Key 只放在环境变量或配置里,不要贴进对话、代码或提交记录。
推荐用自带脚本(Python 3.8+ 标准库,已经处理好 202 排队和轮询):
python3 {baseDir}/scripts/linkdigest.py "<链接或整段分享文案>" --breakdown
python3 {baseDir}/scripts/linkdigest.py "<链接>" --breakdown --format json
python3 {baseDir}/scripts/linkdigest.py "<英文 TikTok 链接>" --breakdown --translate-to zh-CN # 拆解用中文写,再 +1 积分
--translate-to 就用指定语言写,并附整条内容的译文(再 +1 积分),引用仍是原文。printf '%s' "$SHARE_TEXT" | python3 {baseDir}/scripts/linkdigest.py - --breakdown--timeout 可改);超时就按提示用 --job-id 接着取,同一个 jobId 只扣一次费。--max-credits 5:这条超过 5 积分就不读、不扣费(返回 402)。curl -sS -X POST https://linkdigest.dev/api/v1/digest \
-H "Authorization: Bearer $LINKDIGEST_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://v.douyin.com/<短链>/", "format": "json", "breakdown": true}'
200:结果 JSON,拆解在 breakdown 字段里。202:{"pending":true,"jobId":"…","poll":"/api/v1/digest/…","retryAfter":15}。用 jobId 取,不要重新提交:curl -sS "https://linkdigest.dev/api/v1/digest/<jobId>?wait=20" \
-H "Authorization: Bearer $LINKDIGEST_API_KEY"
wait=20 让服务端最多等 20 秒再回复;仍是 202 就再取一次,直到 200。要 Markdown 时,提交用 "format": "markdown",取结果加 &format=markdown(202 响应始终是 JSON)。breakdown 必须是布尔值 true,写成 "yes" 会返回 400。
可以直接运行的 bash/zsh 版本(提交 + 轮询,最多约 15 分钟):
API=https://linkdigest.dev/api/v1/digest
AUTH="Authorization: Bearer $LINKDIGEST_API_KEY"
LINK='https://v.douyin.com/<短链>/'
res=$(curl -sS -w '\n%{http_code}' -X POST "$API" -H "$AUTH" \
-H "Content-Type: application/json" -d "{\"url\": \"$LINK\", \"format\": \"json\", \"breakdown\": true}")
code=${res##*$'\n'}; body=${res%$'\n'*}
n=0
while [ "$code" = 202 ] && [ $n -lt 45 ]; do
n=$((n+1))
job=$(printf '%s' "$body" | sed -n 's/.*"jobId":"\([^"]*\)".*/\1/p')
res=$(curl -sS -w '\n%{http_code}' "$API/$job?wait=20" -H "$AUTH")
code=${res##*$'\n'}; body=${res%$'\n'*}
done
echo "HTTP $code" >&2
printf '%s\n' "$body"
breakdown 里:
| 字段 | 内容 |
|---|---|
language / format | 拆解用的语言;内容形式(如教程、口播) |
hook | 开头怎么留人:spoken 说的话(原话)、on_screen 屏幕上的字(原话)、visual 画面、why 为什么有效 |
beats[] | 最多 10 个结构节拍:视频是 t(秒,大致时间),图文是 image(第几张图);label 标签、summary 摘要、quote 一句原话 |
title_formula | 标题公式,例如「数字 + 结果 + 人群」 |
cover_text / cta | 封面文字、行动号召(原话) |
audience | 目标人群 |
tags / engagement | 话题标签;点赞、评论、收藏、分享(as_of 是读取日期)。直接取自平台数据 |
template[] | 可复用模板,最多 8 步,用 [产品]、[痛点] 这样的占位 |
remix_ideas[] | 二创方向,最多 3 个 |
missing[] | 这次拆解看不到或删掉的东西:没有语音、只读了一部分、删了几条对不上原文的引用等 |
同一个响应里还有完整的读取结果:transcript、on_screen、images、caption、key_points、stats、credits、cached 等(字段说明见另外两个技能)。raw_markdown 里拆解在原文之后,单独一节。
hook.spoken、hook.on_screen、beats[].quote、cover_text、cta。missing 里加一条:中文拆解写「删除了 N 处无法在原文中逐字找到的引用」,英文拆解写 N quote(s) removed: not found word for word in the post。visual、why、summary、title_formula、template、remix_ideas 是模型的分析,不是原话,不做核对。t 是大致时间,误差可能有几秒到几十秒,引用请以 quote 的文字为准。hook.spoken、hook.on_screen、quote、cover_text、cta)原样给出,带上时间或图号。不要自己补写「原话」,也不要改写后仍标成原话。missing 告诉用户,尤其是删了几条引用、只读了一部分视频、没有语音这几种。as_of 日期,说明是读取当天的数。credits)。拆解在读取费用上加 1 积分。按加量包 ¥36 = 250 积分折算,1 积分约 ¥0.144。
| 内容 | 积分 | 约合 |
|---|---|---|
| 图文笔记(6 张图以内)+ 拆解 | 2 | ¥0.29 |
| 1 分钟以内的视频 + 拆解 | 3 | ¥0.43 |
| 3 分钟视频 + 拆解 | 5 | ¥0.72 |
| 10 分钟视频 + 拆解 | 12 | ¥1.73 |
再加译文 / 用其他语言写拆解(--translate-to) | +1 | +¥0.14 |
| 同一链接的拆解已被读过(缓存) | 0 | 0 |
| 读不出内容 | 0 | 0 |
图文每多 6 张图 +1 积分;视频每开始的 1 分钟 +1 积分。这条链接之前被读过、只是没拆解过时,原文走缓存,通常只收拆解的 1 积分,以返回的 credits 为准。
注册送 10 积分(每个账户一次,不按月补)。加量包 $5 = 250 积分,可用支付宝付款(按 ¥36 结算),不过期;或 Dev 月付 $9 = 每月 500 积分(银行卡)。价格以 https://linkdigest.dev/zh/docs 为准。
media_too_long),不扣费。免费账户和加量包账户可加 --partial-ok 只拆开头,missing 里会写明只读了一部分。missing 里通常会写出来。scripts/linkdigest.py 只读环境变量 LINKDIGEST_API_KEY,只连 linkdigest.dev,不读写本地文件。https://linkdigest.dev/mcp,请求头 Authorization: Bearer <key>,工具 digest_url,参数 breakdown: true。Claude Code:
claude mcp add --transport http linkdigest https://linkdigest.dev/mcp --header "Authorization: Bearer <key>"npx mcp-remote https://linkdigest.dev/mcp --header "Authorization: Bearer <key>"jcaiagent7143-ui/linkdigestLinkDigest 由独立开发者 Jack(GitHub jcaiagent7143-ui)开发和维护。问题和反馈:support@linkdigest.dev