抖音作品实时搜索
📝 简介
抖音作品实时搜索工具,根据关键词实时调用 Redfox 接口搜索抖音最新作品,返回实时数据(非缓存/历史数据)。支持按排序方式和发布时间筛选。
✨ 功能特性
| 功能模块 | 能力描述 | 核心价值 | |---------|---------|---------| | 实时搜索 | 关键词实时搜索抖音最新作品 | 获取非缓存的实时数据 | | 多维排序 | 支持综合/最新/点赞三种排序 | 按不同维度发现优质内容 | | 时间筛选 | 支持 7天/30天/90天/不限时间范围 | 灵活控制搜索时间窗口 | | 智能拓展 | 无结果时自动生成 10 个扩展词 | 突破搜索瓶颈发现相关内容 | | 分页浏览 | 支持多页结果浏览 | 逐页探索大量搜索结果 | | 订阅推送 | 支持关键词每日推送 | 定时获取最新搜索结果 |
🔑 鉴权
获取 API Key
请前往 红狐hub 获取 API KEY
配置 API Key
方案1: 以 Qoder 为例,将 REDFOX_API_KEY 添加到 ~/.openclaw/openclaw.json 中:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
方案2: 终端配置
export REDFOX_API_KEY="ak_xxxx..."
🔄 工作流程
Step 1:理解用户意图,提取关键词和筛选参数
⚠️ 核心规则:语义理解优先,优先提取细分方向词,而非泛化大类词
1. 提取关键词
- 从用户描述中提取 2~6 字的细分关键词
- 若用户意图模糊(如"帮我搜抖音"),主动询问:「请问你想搜索哪个方向或领域的内容?」
- 不得在用户未提供关键词时擅自猜测并调用脚本
2. 识别筛选参数(用户未指定时使用默认值)
- 排序方式(
--sort):默认1(综合排序)- 用户提到"最新"、"最近发布" →
2 - 用户提到"点赞"、"热门"、"爆款" →
3 - 未提及排序 →
1(默认)
- 用户提到"最新"、"最近发布" →
- 发布时间(
--time):默认7(最近7天)- 用户提到"近一个月"、"30天" →
30 - 用户提到"近三个月"、"90天" →
90 - 用户提到"不限时间"、"全部" →
0 - 未提及时间 →
7(默认)
- 用户提到"近一个月"、"30天" →
- 页码(
--page):默认1- 用户提到"下一页"、"第2页" → 对应页码
- 用户提到"上一页" → 当前页 - 1
- 未提及页码 →
1(默认)
Step 2:调用实时搜索脚本
python3 ~/.agents/skills/douyin-realtime-search/scripts/search_douyin_realtime.py "<关键词>" [--sort 排序] [--time 时间] [--page 页码]
参数说明:
| 参数 | 可选值 | 含义 |
| -------- | ------------------------- | --------------------------------------- |
| keyword | 任意字符串 | 搜索关键词,多个词用英文逗号连接 |
| --sort | 1 / 2 / 3 | 综合排序 / 最新发布 / 最多点赞(默认1) |
| --time | 7 / 30 / 90 / 0 | 最近7天 / 30天 / 90天 / 不限(默认7) |
| --page | 正整数 | 页码,从1开始(默认1) |
脚本以 JSON 格式输出:
| 字段 | 说明 |
| -------------------- | ------------------------------ |
| articles | 关键词匹配作品列表(按点赞降序) |
| latestHotArticles | 近期热门推荐作品(兜底展示) |
| hotTopics | 相关热门话题标签 |
| sort_type_label | 本次排序方式文字说明 |
| publish_time_label | 本次时间范围文字说明 |
| page | 当前页码 |
| has_next | 是否有下一页(true/false) |
每条作品字段:
| 字段 | 说明 |
| ---------------- | -------- |
| title | 作品标题 |
| author | 作者名称 |
| like_count | 点赞数 |
| comment_count | 评论数 |
| share_count | 分享数 |
| collect_count | 收藏数 |
| work_url | 作品链接 |
| publish_time | 发布时间 |
| follower_count | 粉丝数 |
Step 3:判断结果并展示
情况 A:articles 数量 > 0(有匹配结果)
A1. 告知用户查询范围
📊 关键词「XXX」实时查询到 N 条作品(排序:{sort_type_label} | 时间范围:{publish_time_label} | 第 {page} 页),以下是详细数据:
A2. 渲染 Markdown 表格(全部展示)
| # | 作品标题 | 作者 | 点赞数 | 评论数 | 分享数 | 收藏数 |
| --- | -------------------- | ------ | ------ | ------ | ------ | ------ |
| 1 | [标题文字](作品链接) | 作者名 | 305.2w | 7.1w | 51.0w | 14.7w |
数字格式化规则:
< 10000:原始数字(如320)≥ 10000:x.xw格式(如1.2w)
标题规则: [标题](work_url);超过 30 字截断并加 ...
A3. 筛选能力提示(紧接在表格之后,每次必须输出)
🔧 支持筛选,回复以下指令可切换条件重新搜索:
- 排序方式:综合排序 / 最新发布 / 最多点赞(当前:{sort_type_label})
- 发布时间:最近7天 / 最近30天 / 最近90天 / 不限(当前:{publish_time_label})
示例:「按最新发布、最近30天重新搜索」
A4. 翻页提示(⚠️ 紧接在 A3 之后,不可省略,每次必须输出)
- 若
has_next为 true:
📄 当前第 {page} 页。回复「下一页」继续查看。
- 若
has_next为 false(当前页不足 9 条或为空,已是最后一页):
📄 当前第 {page} 页,已无更多数据。
⚠️ A1~A4 缺一不可,必须在同一轮输出中连续完成。输出 A4 后紧跟 Step 4 订阅提示。若缺少 A4,视为执行错误,必须重新补充输出。
情况 B:articles 数量 = 0(无匹配结果)
B1. 抱歉提示 + 拓词推荐
😔 抱歉,未找到与「XXX」直接相关的内容,你可以尝试用更短或更宽泛的关键词重试(扩展词1,扩展词2,...扩展词10)
AI 必须生成固定 10 个扩展词,2~6 字,英文逗号分隔,不得少于 10 个。
B2. 筛选能力提示(紧接在 B1 之后,每次必须输出,格式同 A3)
⚠️ B1~B2 必须在同一轮输出中连续完成,输出 B2 后紧跟 Step 4 订阅提示,不得中断。
Step 4:提示订阅
全部内容展示完毕后,不等待、立刻结束输出,仅在末尾附上订阅提示:
📩 是否订阅「XXX」的每日推送?订阅后每天 10:00 自动推送最新爆款作品。回复「确认订阅」即可创建定时任务。
Step 5:创建定时任务(用户回复「确认订阅」时执行)
优先使用平台内置定时任务能力,若无则提供通用方案:
平台内置定时任务(优先):
- 任务名称:
抖音实时搜索订阅 - <关键词> - 执行频率:每天 10:00(cron:
0 10 * * *) - 执行内容:运行脚本并将结果按 Step 3~4 格式展示推送到当前对话
通用配置方案:
# Linux/macOS crontab
0 10 * * * python3 ~/.agents/skills/douyin-realtime-search/scripts/search_douyin_realtime.py "<关键词>"
创建成功后告知用户:"已成功订阅关键词「<关键词>」的实时作品推送,每天 10:00 将自动查询最新数据并通知你。"
微信扫一扫