Install
openclaw skills install douyin-search-redfox抖音爆款作品查询工具。根据用户输入的关键词搜索抖音热门爆款作品,结果以表格展示。当用户想要查找抖音热门内容、搜索抖音爆款视频、查询抖音作品数据、了解某类内容在抖音的表现时使用。触发词包括:抖音爆款、抖音热门、抖音热榜、抖音作品查询、抖音搜索、爆款视频、热门视频。
openclaw skills install douyin-search-redfox抖音爆款作品查询工具,根据用户输入的关键词,一键搜索抖音热门爆款作品,结果以清晰的 Markdown 表格展示。专注服务于内容创作者、自媒体运营者和 MCN 机构,帮助用户快速发现抖音热门趋势、获取创作灵感、洞悉爆款规律。
请前往 红狐hub 获取API KEY
方案1: 以OpenClaw为例,将REDFOX_API_KEY添加到~/.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 |
Step 1 — 提取关键词:从用户的自然语言描述中提取搜索关键词。优先提取细分方向词(如"小众电影""港台电影"),而非泛化大类词(如仅提取"电影")。
Step 2 — 调用脚本:在终端执行以下命令查询数据:
python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py "<关键词>"
"",查询全站热门, 连接为一个字符串(不加空格),仅调用一次脚本Step 3 — 查看结果:脚本返回 JSON,根据返回数据量自动选择合适的展示策略(详见下方"数据展示策略")。
当用户输入的关键词为泛化词(纯大类词,如"穿搭""美食""美妆",无任何修饰词)时,系统会启动拓展策略:
判断原则:有修饰词(场景/人群/风格/意图)= 细分词,直接搜索;无修饰词 = 泛化词,需要拓展。
泛化词处理流程(⚠️ 必须等待用户明确回复后再调用脚本!):
第一步:生成细分词(禁止调用脚本搜索数据)
拓展词生成原则:
输出示例:
我识别到「中产」是较大的分类,已查询近期热门趋势,推荐以下细分方向:
老钱,轻奢,品质生活,松弛感,高级感穿搭,体面,法式穿搭,律师,医生,品质家居
回复「拓展」将同时搜索这 10 个词,回复「不拓展」将继续搜索「中产」
第二步:等待用户回复
第三步:根据用户明确回复执行
, 连接为一个字符串(不加空格),仅调用一次脚本传入,禁止逐个词多次调用| 字段 | 说明 |
|---|---|
| articles | 搜索匹配的作品列表(按点赞数降序) |
| latestHotArticles | 近期热门推荐作品列表 |
| hotTopics | 热门话题列表 |
每条作品(articles / latestHotArticles)包含字段:
| 字段 | 说明 |
|---|---|
| title | 作品标题 |
| author | 作者名称 |
| like_count | 点赞数 |
| comment_count | 评论数 |
| share_count | 分享数 |
| collect_count | 收藏数 |
| work_url | 作品链接 |
| publish_time | 发布时间 |
| follower_count | 粉丝数 |
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 |
数字格式化规则:
320)x.xw 格式(如 1.2w 代表 12000)标题链接规则:
[标题](work_url),点击可跳转到抖音作品页...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 后紧跟订阅提示,不得中断。
B1. 抱歉提示 + 拓词推荐
😔 抱歉,未找到与「XXX」直接相关的内容,你可以尝试用更短或更宽泛的关键词重试(扩展词1,扩展词2,扩展词3,扩展词4,扩展词5,扩展词6,扩展词7,扩展词8,扩展词9,扩展词10)
AI 必须根据用户搜索的关键词生成 固定 10 个扩展搜索词,以英文逗号 , 分隔展示在一行括号内。
生成规则:
B2. 热门推荐数据(latestHotArticles)
如果 latestHotArticles 不为空,展示热门推荐作品:
💡 我们为您推荐了近期的其他热门作品供参考,或许对您有帮助:
随后以表格格式展示 latestHotArticles(最多 10 条),格式同情况 A 的表格。若为空则跳过本模块,不输出任何内容。
B3. 展示热门话题(hotTopics)
如果 hotTopics 不为空,以列表形式展示,格式同 A5。若为空则跳过本模块,不输出任何内容。
⚠️ B1~B3 必须在同一轮输出中连续完成,输出 B3 后紧跟订阅提示,不得中断。
全部内容展示完毕后,不等待、立刻结束输出,仅在末尾附上订阅提示:
📩 是否订阅「XXX」的每日推送?订阅后每天 10:00 自动推送最新爆款作品。回复「确认订阅」即可创建定时任务。
优先使用当前平台内置的定时任务/自动化能力创建订阅,若无则提供通用配置方案:
1. 平台内置定时任务(优先)
如果当前平台提供定时任务或 cron 自动化功能:直接调用该功能创建订阅,配置如下:
抖音爆款作品订阅 - <关键词>0 10 * * *)python3 <脚本路径>/search_douyin.py "<关键词>",将结果按本指南中数据展示策略的格式展示并推送到当前对话2. 通用配置方案(平台无内置定时任务时)
向用户提供以下信息,由用户自行配置:
python3 <脚本路径>/search_douyin.py "<关键词>"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" |
| 订阅创建 | 回复「确认订阅」后在对话中创建每日推送 |
douyin-search/
├── SKILL.md # Skill 定义与使用文档(本文件)
├── scripts/
│ └── search_douyin.py # 核心搜索脚本,调用红狐 API 获取数据
└── references/
└── (数据格式参考文档)
| 组件 | 技术 | 说明 |
|---|---|---|
| 运行环境 | Python 3.x | 标准库,无第三方依赖 |
| 数据接口 | 红狐 API (Redfox) | 通过 REDFOX_API_KEY 鉴权 |
| 输出格式 | JSON (stdout) | 脚本通过标准输出返回结构化 JSON 数据 |
| 展示格式 | Markdown 表格 | AI 代理将 JSON 渲染为表格展示 |
| 模块 | 路径 | 功能 |
|---|---|---|
| 搜索脚本 | scripts/search_douyin.py | 调用红狐接口搜索抖音作品,返回 articles、latestHotArticles、hotTopics 三部分数据 |
| SKILL 定义 | SKILL.md | 定义 Skill 的元数据、工作流程、展示策略和订阅逻辑 |
scripts/search_douyin.py — 调用红狐 API 获取抖音爆款作品数据references/ 目录 — 包含数据字段格式说明(按需读取)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) 未配置 REDFOX_API_KEY 环境变量;(2) API Key 已过期;(3) 网络问题导致接口调用失败。请逐一排查。
Q: 返回的数据为空或与预期不符? A: 尝试使用更短的关键词,或者使用全站热门模式(传空字符串关键词)查看是否有数据。如果全站热门也没有数据,可能是接口临时故障。
Q: API Key 如何安全存储? A: 推荐使用方案 1(配置到 openclaw.json 的 env 字段中),避免在终端历史中泄露。请勿将 API Key 直接硬编码在脚本中或上传到公开仓库。
Q: 数据使用有什么限制? A: 数据来源于红狐 API,请遵守红狐平台的使用条款。本工具仅供个人学习和内容创作参考使用。