name: douyin-search
description: 抖音爆款作品查询工具。根据用户输入的关键词搜索抖音热门爆款作品,结果以表格展示。当用户想要查找抖音热门内容、搜索抖音爆款视频、查询抖音作品数据、了解某类内容在抖音的表现时使用。触发词包括:抖音爆款、抖音热门、抖音热榜、抖音作品查询、抖音搜索、爆款视频、热门视频。
抖音作品查询
1. 简介
抖音爆款作品查询工具,根据用户输入的关键词,一键搜索抖音热门爆款作品,结果以清晰的 Markdown 表格展示。专注服务于内容创作者、自媒体运营者和 MCN 机构,帮助用户快速发现抖音热门趋势、获取创作灵感、洞悉爆款规律。
2. 功能特性
- 🔍 关键词精准搜索 — 输入任意关键词,即可搜索全平台抖音爆款作品,支持多关键词逗号分隔组合查询
- 📊 多维数据表格 — 以 Markdown 表格直观展示点赞数、评论数、分享数、收藏数、粉丝数等核心数据
- 🧠 语义理解与细分 — 智能理解用户意图,优先提取细分方向词而非泛化大类词,精准匹配搜索需求
- 🌐 泛化词智能拓展 — 当用户输入泛化词时,自动推荐 10 个细分方向供选择,避免搜索结果过于宽泛
- 🔥 热门推荐展示 — 搜索结果较少时自动展示近期热门推荐作品和热门话题,提供更多参考
- 📩 订阅推送 — 支持创建每日定时推送任务,每天 10:00 自动推送指定关键词的最新爆款作品
- 📈 数据可视化 — 数字智能格式化(万级显示),标题链接可点击跳转至抖音作品页
3. 一键安装
鉴权
获取 API Key
请前往 红狐hub 获取API KEY
配置 API Key
方案1: 以OpenClaw为例,将REDFOXAPIKEY添加到~/.openclaw/openclaw.json中:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
方案2: 终端配置
export REDFOX_API_KEY="ak_xxxx..."
依赖安装
本 Skill 使用 Python 3 标准库,无需额外安装第三方依赖。确保系统中已安装 Python 3.x 即可。
环境变量配置
| 环境变量 | 说明 | 是否必填 | 获取方式 |
| -------- | ---- | -------- | -------- |
| REDFOX_API_KEY | 红狐数据 API Key | 是 | 红狐hub |
4. 使用指南
基础使用(3 步完成查询)
Step 1 — 提取关键词:从用户的自然语言描述中提取搜索关键词。优先提取细分方向词(如"小众电影""港台电影"),而非泛化大类词(如仅提取"电影")。
Step 2 — 调用脚本:在终端执行以下命令查询数据:
python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py "<关键词>"
- 无赛道关键词时传空字符串
"",查询全站热门 - 多个关键词用英文逗号
, 连接为一个字符串(不加空格),仅调用一次脚本
Step 3 — 查看结果:脚本返回 JSON,根据返回数据量自动选择合适的展示策略(详见下方"数据展示策略")。
高级使用
泛化词拓展策略
当用户输入的关键词为泛化词(纯大类词,如"穿搭""美食""美妆",无任何修饰词)时,系统会启动拓展策略:
判断原则:有修饰词(场景/人群/风格/意图)= 细分词,直接搜索;无修饰词 = 泛化词,需要拓展。
泛化词处理流程(⚠️ 必须等待用户明确回复后再调用脚本!):
第一步:生成细分词(禁止调用脚本搜索数据)
拓展词生成原则:
- 词的大小适中:词语不要加组合,避免过细(如"中产穿搭"太细,查不到数据)
- 必须覆盖不同场景:趋势词、人群词、场景词、意图词各 2-3 个
输出示例:
我识别到「中产」是较大的分类,已查询近期热门趋势,推荐以下细分方向:
老钱,轻奢,品质生活,松弛感,高级感穿搭,体面,法式穿搭,律师,医生,品质家居
回复「拓展」将同时搜索这 10 个词,回复「不拓展」将继续搜索「中产」
第二步:等待用户回复
- ❌ 禁止:用户未回复时调用脚本
- ✅ 正确:只等待用户明确回复「拓展」或「不拓展」后再执行
第三步:根据用户明确回复执行
- 用户回复「拓展」 → 将 10 个细分词以英文逗号
, 连接为一个字符串(不加空格),仅调用一次脚本传入,禁止逐个词多次调用 - 用户回复「不拓展」或「继续」 → 调用脚本搜索原关键词
- 用户未回复或回复其他内容 → 识别对应意图
数据展示策略
数据字段说明
| 字段 | 说明 |
| ------------------ | ---------------- |
| articles | 搜索匹配的作品列表(按点赞数降序) |
| latestHotArticles | 近期热门推荐作品列表 |
| hotTopics | 热门话题列表 |
每条作品(articles / latestHotArticles)包含字段:
| 字段 | 说明 |
| -------------- | -------- |
| title | 作品标题 |
| author | 作者名称 |
| like_count | 点赞数 |
| comment_count | 评论数 |
| share_count | 分享数 |
| collect_count | 收藏数 |
| work_url | 作品链接 |
| publish_time | 发布时间 |
| follower_count | 粉丝数 |
情况 A:articles 数量 > 0(有匹配结果)
A1. 告知用户数据查询范围
首先输出一句提示,告知用户本次查询的范围:
📊 关键词「XXX」共匹配到 N 条抖音爆款作品,以下是详细数据:
A2. 展示作品表格(默认前 20 条)
将 articles 渲染为 Markdown 表格,默认展示前 20 条(按点赞数降序),格式如下:
| # | 作品标题 | 作者 | 点赞数 | 评论数 | 分享数 | 收藏数 |
| --- | -------------------- | ------ | ------ | ------ | ------ | ------ |
| 1 | [标题文字](作品链接) | 作者名 | 305.2w | 7.1w | 51.0w | 14.7w |
| 2 | [标题文字](作品链接) | 作者名 | 158.3w | 3.2w | 22.1w | 8.5w |
数字格式化规则:
- 小于 10000:直接展示原始数字(如
320) - 大于等于 10000:使用
x.xw 格式(如 1.2w 代表 12000)
标题链接规则:
- 作品标题使用 Markdown 链接格式
[标题](work_url),点击可跳转到抖音作品页 - 如果标题过长(超过 30 字),截断并加
...
A3. 查看全部数据(当结果超过 20 条时)
如果 articles 总条数 > 20,在表格下方输出提示后不等待,立刻继续输出 A4:
以上展示了前 20 条数据,还剩 N 条未展示。需要查看全部数据吗?回复「查看全部」即可。
当用户在后续对话中回复「查看全部」时:将第 21 条起的所有剩余数据,以相同表格格式续接展示,编号从 #21 开始连续递增,直到全部展示完毕。
articles ≤ 20 时:跳过本步骤,直接进入 A4。
A4. 展示热门推荐数据(latestHotArticles)
仅在 articles 总条数 ≤ 10 时执行本步骤。
如果 articles 总条数 ≤ 10 且 latestHotArticles 不为空,展示热门推荐作品表格(最多 10 条),标题为:
🔥 近期热门推荐作品
使用与 A2 相同的表格格式和数字格式化规则。若为空或 articles > 10 则跳过本模块,不输出任何内容。
A5. 展示热门话题(hotTopics)
仅在 articles 总条数 ≤ 10 时执行本步骤。
如果 articles 总条数 ≤ 10 且 hotTopics 不为空,以列表形式展示热门话题:
🏷️ 热门话题
- #话题1
- #话题2
- ...
若为空或 articles > 10 则跳过本模块,不输出任何内容。
⚠️ A1~A5 必须在同一轮输出中连续完成,输出 A5 后紧跟订阅提示,不得中断。
情况 B:articles 数量 = 0(无匹配结果)
B1. 抱歉提示 + 拓词推荐
😔 抱歉,未找到与「XXX」直接相关的内容,你可以尝试用更短或更宽泛的关键词重试(扩展词1,扩展词2,扩展词3,扩展词4,扩展词5,扩展词6,扩展词7,扩展词8,扩展词9,扩展词10)
AI 必须根据用户搜索的关键词生成 固定 10 个扩展搜索词,以英文逗号 , 分隔展示在一行括号内。
生成规则:
- 基于原始关键词进行语义扩展(如同义词、上下位词、相关场景词)
- 每个扩展词保持在 2-6 个汉字
- 优先推荐更细分或更宽泛的相关方向
- 必须生成恰好 10 个,不得少于 10 个
B2. 热门推荐数据(latestHotArticles)
如果 latestHotArticles 不为空,展示热门推荐作品:
💡 我们为您推荐了近期的其他热门作品供参考,或许对您有帮助:
随后以表格格式展示 latestHotArticles(最多 10 条),格式同情况 A 的表格。若为空则跳过本模块,不输出任何内容。
B3. 展示热门话题(hotTopics)
如果 hotTopics 不为空,以列表形式展示,格式同 A5。若为空则跳过本模块,不输出任何内容。
⚠️ B1~B3 必须在同一轮输出中连续完成,输出 B3 后紧跟订阅提示,不得中断。
订阅推送
全部内容展示完毕后,不等待、立刻结束输出,仅在末尾附上订阅提示:
📩 是否订阅「XXX」的每日推送?订阅后每天 10:00 自动推送最新爆款作品。回复「确认订阅」即可创建定时任务。
创建定时任务(用户在后续对话中回复「确认订阅」时执行)
优先使用当前平台内置的定时任务/自动化能力创建订阅,若无则提供通用配置方案:
1. 平台内置定时任务(优先)
如果当前平台提供定时任务或 cron 自动化功能:直接调用该功能创建订阅,配置如下:
- 任务名称:
抖音爆款作品订阅 - <关键词> - 执行频率:每天 10:00(北京时间,cron 表达式
0 10 * * *) - 执行内容:运行
python3 <脚本路径>/search_douyin.py "<关键词>",将结果按本指南中数据展示策略的格式展示并推送到当前对话
2. 通用配置方案(平台无内置定时任务时)
向用户提供以下信息,由用户自行配置:
- 执行命令:
python3 <脚本路径>/search_douyin.py "<关键词>" - Linux/macOS crontab:
0 10 * * * python3 /path/to/search_douyin.py "<关键词>" - 其他平台:参照对应平台的定时任务文档配置上述命令
创建成功后告知用户:"已成功订阅关键词「<关键词>」的爆款作品推送,每天 10:00 将自动查询最新数据并通知你。"
常用命令速查表
| 场景 | 命令 |
| ---- | ---- |
| 关键词搜索 | python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py "关键词" |
| 全站热门 | python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py "" |
| 多关键词搜索 | python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py "词1,词2,词3" |
| 订阅创建 | 回复「确认订阅」后在对话中创建每日推送 |
5. 使用场景
场景一:内容创作者寻找选题灵感
- 角色:抖音内容创作者
- 需求:想了解近期"职场穿搭"领域有哪些爆款作品,寻找选题灵感
- 使用方式:直接输入细分关键词「职场穿搭」,系统返回点赞数最高的作品列表
- 预期收益:快速获得同赛道的爆款作品数据,了解热门选题方向和内容特征
场景二:MCN 机构监控赛道趋势
- 角色:MCN 机构内容运营
- 需求:需要实时了解"美妆"赛道整体趋势,但"美妆"范围太广
- 使用方式:输入泛化词「美妆」后,系统推荐 10 个细分方向(如"口红试色""底妆测评"等),回复「拓展」批量搜索所有细分方向
- 预期收益:一次性覆盖多个细分领域,全面掌握赛道热度分布
场景三:品牌方竞品分析
- 角色:品牌市场人员
- 需求:分析竞品在抖音的爆款内容策略
- 使用方式:搜索竞品品牌名或相关品类关键词,查看高点赞作品的标题套路、互动数据
- 预期收益:通过数据对比了解竞品内容打法,为自身品牌内容策略提供参考
场景四:自媒体博主每日热点追踪
- 角色:抖音自媒体博主
- 需求:每天上午自动获取特定领域的爆款作品列表
- 使用方式:搜索关键词后回复「确认订阅」,创建每天 10:00 的定时推送
- 预期收益:无需手动重复搜索,每日自动获取最新爆款数据,保持对赛道热点的持续追踪
6. 项目架构
目录结构
douyin-search/
├── SKILL.md # Skill 定义与使用文档(本文件)
├── scripts/
│ └── search_douyin.py # 核心搜索脚本,调用红狐 API 获取数据
└── references/
└── (数据格式参考文档)
技术栈
| 组件 | 技术 | 说明 |
| ---- | ---- | ---- |
| 运行环境 | Python 3.x | 标准库,无第三方依赖 |
| 数据接口 | 红狐 API (Redfox) | 通过 REDFOXAPIKEY 鉴权 |
| 输出格式 | JSON (stdout) | 脚本通过标准输出返回结构化 JSON 数据 |
| 展示格式 | Markdown 表格 | AI 代理将 JSON 渲染为表格展示 |
核心模块说明
| 模块 | 路径 | 功能 |
| ---- | ---- | ---- |
| 搜索脚本 | scripts/search_douyin.py | 调用红狐接口搜索抖音作品,返回 articles、latestHotArticles、hotTopics 三部分数据 |
| SKILL 定义 | SKILL.md | 定义 Skill 的元数据、工作流程、展示策略和订阅逻辑 |
资源索引
- 核心脚本:
scripts/search_douyin.py — 调用红狐 API 获取抖音爆款作品数据 - 参考文档:
references/ 目录 — 包含数据字段格式说明(按需读取)
7. 常见问答
安装
Q: 需要安装哪些依赖?
A: 本工具使用 Python 3 标准库(urllib、json、os、sys、argparse),无需安装任何第三方依赖。只需确保系统已安装 Python 3.x。
Q: 如何获取 API Key?
A: 请访问 红狐hub 注册并获取 API Key,然后按本文"一键安装"章节配置环境变量。
使用
Q: 泛化词和细分词有什么区别?
A: 泛化词是纯大类词(如"穿搭""美食"),无任何修饰;细分词含有具体场景/人群/风格等修饰(如"小个子穿搭""减脂餐")。泛化词会触发拓展策略,细分词直接搜索。
Q: 为什么我的搜索没有返回结果?
A: 可能关键词过于细分或小众。系统会自动提示 10 个扩展搜索词,建议尝试更短或更宽泛的关键词重试。
Q: 如何查看超过 20 条的完整结果?
A: 当搜索结果超过 20 条时,系统会在表格下方提示剩余条数,回复「查看全部」即可展示所有数据。
故障排除
Q: 脚本执行报错怎么办?
A: 常见原因包括:(1) 未配置 REDFOXAPIKEY 环境变量;(2) API Key 已过期;(3) 网络问题导致接口调用失败。请逐一排查。
Q: 返回的数据为空或与预期不符?
A: 尝试使用更短的关键词,或者使用全站热门模式(传空字符串关键词)查看是否有数据。如果全站热门也没有数据,可能是接口临时故障。
安全许可
Q: API Key 如何安全存储?
A: 推荐使用方案 1(配置到 openclaw.json 的 env 字段中),避免在终端历史中泄露。请勿将 API Key 直接硬编码在脚本中或上传到公开仓库。
Q: 数据使用有什么限制?
A: 数据来源于红狐 API,请遵守红狐平台的使用条款。本工具仅供个人学习和内容创作参考使用。