微博作品搜索工具。根据用户输入的关键词调用 Redfox 接口搜索微博博文,支持按搜索类别(综合排序/热门排序/实时排序)和认证类型筛选。当用户需要搜索微博内容、查找微博热门博文时使用。触发词:微博搜索、搜微博、微博热门、微博博文、微博账号搜索。
---
name: weibo-realtime-search
description: 微博作品搜索工具。根据用户输入的关键词调用 Redfox 接口搜索微博博文,支持按搜索类别(综合排序/热门排序/实时排序)和认证类型筛选。当用户需要搜索微博内容、查找微博热门博文时使用。触发词:微博搜索、搜微博、微博热门、微博博文、微博账号搜索。
---
# 微博作品搜索
## 📝 简介
微博作品搜索工具,根据关键词调用 Redfox 接口搜索微博博文,支持按搜索类别和认证类型筛选。
## ✨ 功能特性
| 功能模块 | 能力描述 | 核心价值 |
|---------|---------|---------|
| 关键词搜索 | 关键词搜索微博博文 | 精准发现目标赛道的内容 |
| 搜索类别 | 支持综合排序/热门排序/实时排序三种类别 | 按不同维度发现优质内容 |
| 认证筛选 | 支持普通用户/个人认证/机构认证过滤 | 精准筛选优质博主 |
| 智能拓展 | 无结果时自动生成 10 个扩展词 | 突破搜索瓶颈发现相关内容 |
| 分页浏览 | 支持多页结果浏览 | 逐页探索大量搜索结果 |
| 订阅推送 | 支持关键词每日推送 | 定时获取最新搜索结果 |
## 🔑 鉴权
### 获取 API Key
请前往 [红狐hub](https://redfox.hk/settings/api-keys?source=clawhub) 获取 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. 识别筛选参数**(用户未指定时使用默认值)
- **搜索类别**(`--search-type`):默认 `1`(综合)
- 用户提到"热门"、"爆款"、"火"、"热搜" → `60`(热门排序)
- 用户提到"最新"、"实时"、"现在" → `61`(实时排序)
- 未提及搜索类别 → `1`(综合排序,默认)
- **页码**(`--page`):默认 `1`
- 用户提到"下一页"、"第2页" → 对应页码
- 用户提到"上一页" → 当前页 - 1
- 未提及页码 → `1`(默认)
- **认证类别**(`--ext-param`):默认不传
- 用户提到"机构认证"、"蓝V" → `3`
- 用户提到"个人认证"、"黄V" → `2`
- 用户提到"普通用户"、"个人" → `0`
- 未提及认证类别 → 不传(不过滤)
### Step 2:调用搜索脚本
```bash
python3 ~/.agents/skills/weibo-search/scripts/search_weibo.py "<关键词>" [--search-type 搜索类别] [--page 页码] [--ext-param 认证类别]
```
**参数说明:**
| 参数 | 可选值 | 含义 |
| ---------------- | ------------------------- | --------------------------------------- |
| keyword | 任意字符串 | 搜索关键词 |
| `--search-type` | `1` / `60` / `61` | 综合排序 / 热门排序 / 实时排序(默认1)|
| `--page` | 正整数 | 页码,从1开始(默认1) |
| `--ext-param` | `0` / `2` / `3` | 认证类别:0-普通用户 2-个人认证 3-机构认证(默认不传)|
脚本以 JSON 格式输出:
| 字段 | 说明 |
| -------------------- | ------------------------------ |
| `articles` | 关键词匹配博文列表 |
| `search_type_label` | 本次搜索类别文字说明 |
| `ext_param_label` | 本次认证类别文字说明 |
| `page` | 当前页码 |
| `has_next` | 是否有下一页(true/false) |
每条博文字段:
| 字段 | 说明 |
| ---------------- | -------- |
| `title` | 博文内容(取自API `text` 字段)|
| `author` | 博主名称 |
| `like_count` | 点赞数 |
| `comment_count` | 评论数 |
| `share_count` | 转发数(取自API `forwardNum` 字段)|
| `work_url` | 博文链接 |
| `publish_time` | 发布时间 |
| `follower_count` | 粉丝数 |
### Step 3:判断结果并展示
#### 情况 A:articles 数量 > 0(有匹配结果)
**A1. 告知用户查询范围**
> 📊 关键词「**XXX**」查询到 **N 条**博文(搜索类别:{search_type_label} | 认证:{ext_param_label} | 第 {page} 页),以下是详细数据:
**A2. 渲染 Markdown 表格(全部展示)**
```markdown
| # | 博文内容 | 博主 | 点赞数 | 评论数 | 转发数 |
| --- | ------------------ | ------ | ------ | ------ | ------ |
| 1 | [博文内容](链接) | 博主名 | 305.2w | 7.1w | 51.0w |
```
**数字格式化规则:**
- `< 10000`:原始数字(如 `320`)
- `≥ 10000`:`x.xw` 格式(如 `1.2w`)
**标题规则:** `[博文内容](work_url)`;超过 30 字截断并加 `...`;标题为空时显示 `-`
**A3. 搜索类别与认证筛选提示(紧接在表格之后,每次必须输出)**
> 🔧 **支持以下搜索类别,回复对应指令即可切换:**
> - **综合排序** — 综合搜索博文
> - **热门排序** — 搜索热门博文
> - **实时排序** — 搜索最新发布的博文
>
> 📌 当前:**{search_type_label}**
>
> 🔧 **支持以下认证筛选,回复对应指令即可过滤:**
> - **不过滤** — 不限制认证类型
> - **普通用户** — 仅搜索普通用户
> - **个人认证** — 仅搜索个人认证(黄V)
> - **机构认证** — 仅搜索机构认证(蓝V)
>
> 📌 当前:**{ext_param_label}**
>
> 示例:「按热门、个人认证重新搜索」
**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**」的每日推送?订阅后每天 09:00 自动推送最新博文。回复「确认订阅」即可创建定时任务。
### Step 5:创建定时任务(用户回复「确认订阅」时执行)
优先使用平台内置定时任务能力,若无则提供通用方案:
**平台内置定时任务(优先):**
- 任务名称:`微博搜索订阅 - <关键词>`
- 执行频率:每天 09:00(cron:`0 10 * * *`)
- 执行内容:运行脚本并将结果按 Step 3~4 格式展示推送到当前对话
**通用配置方案:**
```bash
# Linux/macOS crontab
0 10 * * * python3 ~/.agents/skills/weibo-search/scripts/search_weibo.py "<关键词>"
```
创建成功后告知用户:"已成功订阅关键词「<关键词>」的微博博文推送,每天 09:00 将自动查询最新数据并通知你。"
don't have the plugin yet? install it then click "run inline in claude" again.