目录 / B站关键词搜作品
B站关键词搜作品
--- name: B站关键词搜作品 description: B站关键词搜作品工具。根据用户输入的关键词调用 Redfox 接口搜索B站最新视频,支持按排序方式和发布时间筛选,返回新鲜数据(非缓存/历史数据)。当用户要求搜索B站最新内容、查看某关键词下的视频数据时使用。触发词:B站搜索、B站最新视频、B站热门、B站搜作品、bilibili搜索。 --- # B站关键词搜作品 ## 📝 简介 输入关键词就能搜到 B 站刚发布的视频,能自己选排序、限定发布时间,给到你的都是平台刚更新的新鲜内容,不会拿旧缓存数据糊弄你。 ## ✨ 核心价值 - 内容新鲜不滞后:每次搜索都会直接读取平台最新内容,只给刚发布的视频,不用老旧存档、缓存数据。 - 筛选方式灵活好用:能按综合热度、最新发布、点赞高低排序,还能筛选 7 天 / 30 天 / 90 天内视频,自由搭配条件查找。 - 搜不到自动扩词:关键词搜不出内容时,工具会自动生成 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 字的细分关键词 - 若用户意图模糊(如"帮我搜B站"),主动询问:「请问你想搜索哪个方向或领域的内容?」 - 不得在用户未提供关键词时擅自猜测并调用脚本 **2. 识别筛选参数**(用户未指定时使用默认值) - **排序方式**(`--sort`):默认 `1`(综合排序) - 用户提到"最新"、"最近发布" → `2` - 用户提到"点赞"、"热门"、"爆款" → `3` - 未提及排序 → `1`(默认) - **发布时间**(`--time`):默认 `7`(最近7天) - 用户提到"近一个月"、"30天" → `30` - 用户提到"近三个月"、"90天" → `90` - 用户提到"不限时间"、"全部" → `0` - 未提及时间 → `7`(默认) - **页码**(`--page`):默认 `1` - 用户提到"下一页"、"第2页" → 对应页码 - 用户提到"上一页" → 当前页 - 1 - 未提及页码 → `1`(默认) ### Step 2:调用搜索脚本 **⚠️ 核心约束:每次查询严格只调用一次脚本,禁止重复调用。** - 无论脚本返回成功还是失败,都不得重试或二次调用 - 不得为"验证数据""获取更多信息"等任何理由再次执行脚本 - 若脚本执行失败,直接向用户报告错误,不得重试 ```bash python3 "$SKILL_PATH/scripts/search_bili_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` | 关键词匹配视频列表(按点赞降序) | | `sort_type_label` | 本次排序方式文字说明 | | `publish_time_label` | 本次时间范围文字说明 | | `page` | 当前页码 | | `total_pages` | 总页数 | | `has_next` | 是否有下一页(true/false) | 每条视频字段: | 字段 | 说明 | | ---------------- | --------------------------- | | `title` | 视频标题(已清洗HTML标签、空格、特殊字符,[]已替换为【】) | | `author` | UP主昵称 | | `like_count` | 点赞数 | | `comment_count` | 评论数 | | `collect_count` | 收藏数 | | `play_count` | 播放量 | | `danmaku_count` | 弹幕数 | | `work_url` | 视频链接(直接可用) | | `publish_time` | 发布时间(格式化) | | `cover_url` | 封面图(https协议) | | `tags` | 视频标签(逗号分隔) | | `category` | 视频分区名称 | ### Step 3:判断结果并展示 #### 情况 A:articles 数量 > 0(有匹配结果) **A1. 告知用户查询范围** > 📊 关键词「**XXX**」查询到 **N 条**视频(排序:{sort_type_label} | 时间范围:{publish_time_label} | 第 {page} 页),以下是详细数据: **A2. 渲染 Markdown 表格(全部展示)** ```markdown | # | 视频标题 | UP主 | 播放量 | 点赞数 | 评论数 | 收藏数 | | --- | -------------------- | ------ | ------- | ------ | ------ | ------ | | 1 | [标题文字](视频链接) | UP主名 | 105.2w | 30.5w | 7.1w | 3.5w | ``` **数字格式化规则:** - `< 10000`:原始数字(如 `320`) - `≥ 10000`:`x.xw` 格式(如 `1.2w`) **标题规则:** 脚本已自动清洗标题(去除HTML标签、空格、特殊字符,将`[]`替换为`【】`),直接使用 `title` 字段即可。Markdown 表格中使用 `[标题](work_url)` 格式展示;超过 30 字截断并加 `...`。⚠️ 标题中已不含 `[]`,不会与 Markdown 链接语法冲突。 **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:创建定时任务(用户回复「确认订阅」时执行) 优先使用平台内置定时任务能力,若无则提供通用方案: **平台内置定时任务(优先):** - 任务名称:`B站搜索订阅 - <关键词>` - 执行频率:每天 10:00(cron:`0 10 * * *`) - 执行内容:运行脚本并将结果按 Step 3~4 格式展示推送到当前对话 **通用配置方案:** ```bash # Linux/macOS crontab 0 10 * * * python3 "$SKILL_PATH/scripts/search_bili_realtime.py" "<关键词>" ``` 创建成功后告知用户:"已成功订阅关键词「<关键词>」的B站视频推送,每天 10:00 将自动查询最新数据并通知你。"
存档时间线
| 版本 | 存档时间 | 内容哈希 | 内容 |
|---|---|---|---|
| v1 | 2026-09-28 00:48 | 727e8a79 | 可取 |
版本索引永久保留;内容副本只保留最近 2 版,更早版本仅留索引与哈希(存档时间线的证据链不会因此断裂)。
提交举报 / 纠错
侵权举报经核验成立后,我们会即时下线该条目并删除已存的内容副本。