kuaishou-search · git:20260702.a3053e0 · 2026-07-02 · sha256 b8920956c3cd30d5

kuaishou-search git:20260702.a3053e0A

Immutable. This exact content is served forever at /api/v1/blob/b8920956c3cd30d5.

---
name: kuaishou-search
description: 快手作品搜索工具。输入关键词就能搜到快手热门作品,支持按排序方式、发布时间多维度筛选,作品标题、作者、播放数、点赞数、评论数、收藏数一览无余,点一下链接就能跳转看详情。当用户需要搜索快手作品、查找快手热门内容、查询快手作品数据时使用。触发词:快手搜索、快手作品、快手热门、快手视频查询、搜快手。
---

# 快手作品搜索

## 📝 简介

输入关键词就能搜到快手热门作品,支持按排序方式、发布时间多维度筛选,作品标题、作者、播放数、点赞数、评论数、收藏数一览无余,点一下链接就能跳转看详情。

## ✨ 功能特性

| 功能模块 | 能力描述 | 核心价值 |
|---------|---------|---------|
| 关键词搜索 | 输入关键词搜索快手热门作品 | 精准发现目标赛道的内容 |
| 多维排序 | 综合/最新/最多点赞/最多评论/最多收藏 | 按不同维度发现优质内容 |
| 时间筛选 | 不限/一天内/一周内/一个月内/一年内 | 灵活控制搜索时间窗口 |
| 分页浏览 | 每页展示多条结果,支持多页翻看 | 不遗漏任何一条内容 |
| 订阅推送 | 支持关键词每日推送 | 定时获取最新搜索结果 |

## 🎯 适用对象

- 🔍 **内容创作者** — 找同赛道热门作品,研究对标内容的选题方向和爆款规律。
- 📊 **运营 / 数据分析** — 快速摸清某个品类在快手上有什么热门内容,掌握流量趋势。
- 🏢 **品牌 / MCN** — 筛选潜在合作达人,按互动量评估作品价值,辅助投放决策。
- 🛒 **电商选品** — 搜索细分赛道的带货作品,找到匹配的推广内容方向。

## 🔑 鉴权

### 获取 API Key

请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=github) 获取 API KEY

### 配置 API Key

方案1: 以 Qoder 为例,将 REDFOX_API_KEY 添加到 `~/.openclaw/openclaw.json` 中:

```bash
{ "env": { "REDFOX_API_KEY": "ak_xxxx..." } }
```

方案2: 终端配置

```bash
export REDFOX_API_KEY="ak_xxxx..."
```

## 🔄 工作流程

### Step 1:理解用户意图,提取关键词和筛选参数

**1. 提取关键词**

- 从用户描述中提取 2~6 字的搜索关键词
- 若用户意图模糊(如"帮我搜快手"),主动询问:「请问你想搜索哪个方向或领域的内容?」
- 不得在用户未提供关键词时擅自猜测并调用脚本

**2. 识别筛选参数**(用户未指定时使用默认值)

- **排序方式**(`--sort`):默认 `最多点赞`
  - 用户提到"综合" → `综合`
  - 用户提到"最新"、"最近" → `最新`,同时联动发布时间为 `不限`
  - 用户提到"最新热门"、"最近热门"、"最新爆款"、"最近火什么" → `最多点赞`,同时联动发布时间为 `一周内`
  - 用户提到"评论"、"讨论多" → `最多评论`
  - 用户提到"收藏" → `最多收藏`
  - 用户提到"播放" → `最多播放`
  - 未提及排序 → `最多点赞`(默认)
- **发布时间**(`--note-time`):默认 `一个月内`
  - 用户提到"一天"、"今天"、"24小时" → `一天内`
  - 用户提到"一周"、"七天"、"最近7天" → `一周内`
  - 用户提到"一个月"、"30天" → `一个月内`
  - 用户提到"一年"、"全年" → `一年内`
  - 用户提到"不限时间"、"全部" → `不限`
  - 未提及时间 → `一个月内`(默认)
- **页码**(`--page`):默认 `1`
  - 用户提到"下一页"、"第2页" → 对应页码
  - 未提及页码 → `1`(默认)

**3. 计算精确时间范围**(`--start-time` / `--end-time`)

根据识别到的发布时间语义,自动计算精确的起止日期。规则:**取满开始时间(含当天),不取满结束时间(取次日)**。

| 发布时间 | startTime | endTime | 说明 |
|---------|-----------|---------|------|
| `不限` | `""` | `""` | 不传时间约束 |
| `一天内` | 当天日期 | 次日日期 | 如今天 2026-7-1 → 2026-7-1 ~ 2026-7-2 |
| `一周内` | 7天前日期 | 次日日期 | 如今天 2026-7-1 → 2026-6-24 ~ 2026-7-2 |
| `一个月内` | 30天前日期 | 次日日期 | 如今天 2026-7-1 → 2026-6-1 ~ 2026-7-2 |
| `一年内` | 365天前日期 | 次日日期 | 如今天 2026-7-1 → 2025-7-1 ~ 2026-7-2 |

> 脚本默认会根据 `--note-time` 自动计算起止时间。若用户提供了明确的日期范围(如"6月1日到6月15日"),可通过 `--start-time` / `--end-time` 手动指定。

### Step 2:调用搜索脚本

```bash
python3 ~/.agents/skills/kuaishou-search/scripts/search_ks_work.py "<关键词>" [--sort 排序] [--note-time 时间] [--page 页码] [--start-time YYYY-M-D] [--end-time YYYY-M-D]
```

**参数说明:**

| 参数 | 可选值 | 含义 |
|------|--------|------|
| keyword | 任意字符串 | 搜索关键词 |
| `--sort` | `综合` / `最新` / `最多点赞` / `最多评论` / `最多收藏` | 排序方式(默认:最多点赞) |
| `--note-time` | `不限` / `一天内` / `一周内` / `一个月内` / `一年内` | 发布时间范围(默认:一个月内) |
| `--page` | 正整数 | 页码,从 1 开始(默认:1) |
| `--start-time` | YYYY-M-D | 开始日期(默认根据 note-time 自动计算) |
| `--end-time` | YYYY-M-D | 结束日期(默认根据 note-time 自动计算) |

脚本以 JSON 格式输出:

| 字段 | 说明 |
|------|------|
| `articles` | 关键词匹配作品列表(按请求排序参数排列) |
| `sort_label` | 本次排序方式文字说明 |
| `note_time_label` | 本次时间范围文字说明 |
| `page` | 当前页码 |
| `has_next` | 是否有下一页(true/false) |
| `total` | 总条数 |
| `start_time` | 实际使用的开始日期 |
| `end_time` | 实际使用的结束日期 |

每条作品字段:

| 字段 | 说明 |
|------|------|
| `title` | 作品标题 |
| `author` | 作者名称 |
| `author_url` | 作者主页链接(保留字段,当前为空) |
| `play_count` | 播放数 |
| `like_count` | 点赞数 |
| `comment_count` | 评论数 |
| `collect_count` | 收藏数 |
| `work_url` | 作品链接 |
| `publish_time` | 发布时间(YYYY-MM-DD HH:MM:SS) |
| `publish_date` | 发布日期(YYYY-MM-DD) |

### Step 3:判断结果并展示

#### 情况 A:articles 数量 > 0(有匹配结果)

**A1. 告知用户查询范围**

> 📊 关键词「**XXX**」查询到 **N 条**作品(排序:{sort_label} | 时间范围:{note_time_label} | 第 {page} 页),以下是详细数据:
>
> ⏰ 数据每日早上 **06:00** 更新

**A2. 渲染 Markdown 表格(⚠️ 必须逐条输出,条数必须与 A1 中 N 一致,一条不漏)**

```markdown
| # | 作品标题 | 作者 | 播放数 | 点赞数 | 评论数 | 收藏数 | 发布时间 |
|---|---------|------|--------|--------|--------|--------|---------|
| 1 | [标题文字](作品链接) | 作者名 | 32.5w | 1.2w | 305 | 8.7w | 2026-06-30 18:00:00 |
```

**数字格式化规则:**
- `< 10000`:原始数字(如 `320`)
- `≥ 10000`:`x.xw` 格式(如 `1.2w`)

**标题规则:** `[标题](work_url)`;标题完整展示,严禁截断;标题为空时显示 `-`;标题中的 `|` 字符已由脚本自动转义为 `\|`,避免破坏表格列分隔

**作者规则:** 纯文本展示作者名,不做超链接跳转

**A3. 筛选能力提示(紧接在表格之后,每次必须输出)**

> 🔧 **支持筛选,回复以下指令可切换条件重新搜索:**
> - **排序方式**:综合排序 / 最新发布 / 最多点赞 / 最多评论 / 最多收藏 / 最多播放(当前:{sort_label})
> - **发布时间**:不限 / 一天内 / 一周内 / 一个月内 / 一年内(当前:{note_time_label})
>
> 示例:「按最新发布、一周内重新搜索」

**A4. 翻页提示(⚠️ 紧接在 A3 之后,不可省略,每次必须输出)**

- 若 `has_next` 为 true:
> 📄 当前第 **{page}** 页。回复「下一页」继续查看。

- 若 `has_next` 为 false(当前页不足 20 条或为空,已是最后一页):
> 📄 当前第 **{page}** 页,已无更多数据。

**⚠️ A1~A4 缺一不可,必须在同一轮输出中连续完成。输出 A4 后紧跟 Step 4 订阅提示。**

#### 情况 B:articles 数量 = 0(无匹配结果)

**B1. 抱歉提示 + 调整建议**

> 😔 抱歉,未找到与「**XXX**」相关的快手作品。
> 💡 建议尝试:更换更短或更宽泛的关键词、扩大时间范围。

**B2. 筛选能力提示(紧接在 B1 之后,每次必须输出,格式同 A2)**

**⚠️ B1~B2 必须在同一轮输出中连续完成,输出 B2 后紧跟 Step 4 订阅提示。**

### Step 4:提示订阅

全部内容展示完毕后,**不等待、立刻结束输出**,仅在末尾附上订阅提示:

> 📩 是否订阅「**XXX**」的每日推送?订阅后每天 **09:00** 自动推送**最新发布**的**不限时间**范围作品。回复「确认订阅」即可创建定时任务。

### Step 5:创建定时任务(用户回复「确认订阅」时执行)

优先使用平台内置定时任务能力,若无则提供通用方案:

**平台内置定时任务(优先):**
- 任务名称:`快手作品订阅 - <关键词>`
- 执行频率:每天 09:00(cron:`0 9 * * *`)
- 执行内容:按 **最新发布、不限时间** 搜索并推送作品数据到当前对话
- 脚本调用:`python3 ~/.agents/skills/kuaishou-search/scripts/search_ks_work.py "<关键词>" --sort "最新" --note-time "不限"`

**通用配置方案:**
```bash
# Linux/macOS crontab
0 9 * * * python3 ~/.agents/skills/kuaishou-search/scripts/search_ks_work.py "<关键词>" --sort "最新" --note-time "不限"
```

创建成功后告知用户:"已成功订阅关键词「<关键词>」的快手作品推送,每天 **09:00** 将自动推送**最新发布**的**不限时间**范围作品。"