抖音作品查询
鉴权
获取 API Key
请前往 红狐hub 获取API KEY
配置 API Key
方案1: 以OpenClaw为例,将REDFOX_API_KEY添加到~/.openclaw/openclaw.json中,部分内容如下:
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
方案2: 终端配置
export REDFOX_API_KEY="ak_xxxx..."
工作流程
Step 1: 提取关键词与泛化
从用户输入中提取核心搜索关键词,并进行泛化处理以确保搜索命中率:
泛化规则:
- 去除时间限定词:移除"今日""本周""最近""本月"等时间词(API 不支持时间过滤)
- 去除修饰词:移除"热门""爆款""排行""推荐"等非内容词
- 提取核心主题:保留用户真正想查的内容主题
示例:
- "今日美食热门" →
美食 - "最近旅行爆款视频" →
旅行 - "本周搞笑类热门" →
搞笑 - "母婴好物推荐" →
母婴好物 - "健身减脂热门内容" →
健身减脂
Step 2: 调用搜索接口
执行脚本查询数据:
python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py "<关键词>"
脚本返回 JSON 数组,每条包含字段:
| 字段 | 说明 |
|---|---|
| title | 作品标题 |
| author | 作者名称 |
| like_count | 点赞数 |
| comment_count | 评论数 |
| share_count | 分享数 |
| collect_count | 收藏数 |
| work_url | 作品链接 |
| publish_time | 发布时间 |
| follower_count | 粉丝数 |
Step 3: 格式化输出表格
将返回数据渲染为 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 字),截断并加
...
Step 4: 查看全部数据(当结果超过 20 条时)
如果接口返回的总条数 > 20,在表格下方提示用户:
以上展示了前 20 条数据,还剩 N 条未展示。
然后使用 AskUserQuestion 工具询问:
question: "是否查看全部 N 条数据?"
header: "查看全部"
options:
- label: "查看全部" description: "展示剩余的全部 N 条数据(续接 #21 开始编号)"
- label: "不用了" description: "仅查看前 20 条"
用户选择「查看全部」时:将第 21 条起的所有剩余数据,以相同表格格式续接展示,编号从 #21 开始连续递增,直到全部展示完毕。展示完成后继续进入 Step 5。
用户选择「不用了」时:直接进入 Step 5。
Step 5: 提示订阅
表格展示完成后,使用 AskUserQuestion 工具询问用户是否订阅该搜索:
question: "是否订阅该搜索?订阅后将每天自动推送相关爆款作品数据。"
header: "订阅"
options:
- label: "确认订阅" description: "创建定时任务,每天 10:00 自动查询并推送相关爆款作品"
- label: "暂不订阅" description: "仅查看本次数据,不创建定时任务"
Step 6: 创建定时任务(仅用户确认订阅时执行)
使用 qoder_cron 工具创建定时任务:
{
"action": "add",
"job": {
"name": "抖音爆款作品订阅 - <关键词>",
"description": "每天查询抖音关键词 <关键词> 的爆款作品数据并推送",
"schedule": {
"kind": "cron",
"expr": "0 10 * * *",
"tz": "Asia/Shanghai"
},
"payload": {
"kind": "agentTurn",
"message": "请执行抖音爆款作品查询:运行 python3 ~/.qoderwork/skills/douyin-search/scripts/search_douyin.py \"<关键词>\",将结果整理为表格展示(表头:作品标题(可点击跳转)| 作者 | 点赞数 | 评论数 | 分享数 | 收藏数,展示前 20 条,数字 >= 10000 用 x.xw 格式,标题用 Markdown 链接 [标题](work_url))。完成后将结果推送到当前对话。"
},
"missedRunPolicy": "skip"
}
}
创建成功后告知用户:"已成功订阅关键词「<关键词>」的爆款作品推送,每天 10:00 将自动查询最新数据并通知你。"