B站关键词搜作品

SkillSearch

Bilibili keyword search tool. Calls the Redfox API to search Bilibili's latest videos based on user keywords, with filtering by sort order and publish time, returning fresh data (not cached/historical). Use when the user asks to search Bilibili's latest content or view video data for a keyword. Trig

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the B站关键词搜作品 skill

What this skill tells your AI

The instructions your AI receives, as published by redfox-data/redfox-community in skills/bilibili-keywords-search/SKILL.md and read by ahel’s review.

📝 简介

输入关键词就能搜到 B 站刚发布的视频,能自己选排序、限定发布时间,给到你的都是平台刚更新的新鲜内容,不会拿旧缓存数据糊弄你。

✨ 核心价值

  • 内容新鲜不滞后:每次搜索都会直接读取平台最新内容,只给刚发布的视频,不用老旧存档、缓存数据。
  • 筛选方式灵活好用:能按综合热度、最新发布、点赞高低排序,还能筛选 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 字的细分关键词
  • 若用户意图模糊(如"帮我搜B站"),主动询问:「请问你想搜索哪个方向或领域的内容?」
  • 不得在用户未提供关键词时擅自猜测并调用脚本

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

  • 排序方式--sort):默认 1(综合排序)
    • 用户提到"最新"、"最近发布" → 2
    • 用户提到"点赞"、"热门"、"爆款" → 3
    • 未提及排序 → 1(默认)
  • 发布时间--time):默认 7(最近7天)
    • 用户提到"近一个月"、"30天" → 30
    • 用户提到"近三个月"、"90天" → 90
    • 用户提到"不限时间"、"全部" → 0
    • 未提及时间 → 7(默认)
  • 页码--page):默认 1
    • 用户提到"下一页"、"第2页" → 对应页码
    • 用户提到"上一页" → 当前页 - 1
    • 未提及页码 → 1(默认)

Step 2:调用搜索脚本

⚠️ 核心约束:每次查询严格只调用一次脚本,禁止重复调用。

  • 无论脚本返回成功还是失败,都不得重试或二次调用
  • 不得为"验证数据""获取更多信息"等任何理由再次执行脚本
  • 若脚本执行失败,直接向用户报告错误,不得重试
python3 "$SKILL_PATH/scripts/search_bili_realtime.py" "<关键词>" [--sort 排序] [--time 时间] [--page 页码]

参数说明:

参数可选值含义
keyword任意字符串搜索关键词,多个词用英文逗号连接
--sort1 / 2 / 3综合排序 / 最新发布 / 最多点赞(默认1)
--time7 / 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标签、空格、特殊字符,[]已替换为【】)
authorUP主昵称
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 表格(全部展示)

| #   | 视频标题             | UP主   | 播放量 | 点赞数 | 评论数 | 收藏数 |
| --- | -------------------- | ------ | ------ | ------ | ------ | ------ |
| 1   | [标题文字](视频链接) | UP主名 | 105.2w | 30.5w  | 7.1w   | 3.5w   |

数字格式化规则:

  • < 10000:原始数字(如 320
  • ≥ 10000x.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 格式展示推送到当前对话

通用配置方案:

# Linux/macOS crontab
0 10 * * * python3 "$SKILL_PATH/scripts/search_bili_realtime.py" "<关键词>"

创建成功后告知用户:"已成功订阅关键词「<关键词>」的B站视频推送,每天 10:00 将自动查询最新数据并通知你。"

Signals

GitHub stars
399
Forks
53
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
bilibili-keywords-search
Source
github.com/redfox-data/redfox-community