小红书爆款笔记查询

API key required
Other

小红书热门笔记搜索工具,支持关键词搜索获取热门内容数据,基于数据评分排序推荐热门笔记,助力创作者发现热门趋势、获取创作灵感。仅在主Agent中执行,不派发给子Agent。

Install

openclaw skills install xiaohongshu-search-redfox

小红书爆款笔记查询

核心功能

小红书热门笔记搜索工具,支持关键词搜索获取热门内容数据,基于数据评分排序推荐热门笔记,助力创作者发现热门趋势、获取创作灵感。

鉴权

  • 凭证:需要配置环境变量 REDFOX_API_KEY(红狐数据 API Key)

获取 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..."

重要数据说明

  • 数据库仅包含昨天至30天前的数据
  • 默认时间范围为最近7天(today-6天)
  • 数据不足自动扩展范围,并提示用户

⚠️ 核心执行规则(必须遵守)

  1. 泛化词必须先询问再查询:当识别到泛化词时,绝对禁止直接调用脚本,必须先输出细分词推荐并等待用户选择后再执行查询
  2. 正确执行顺序:关键词提取 → 判断是否泛化词 → 是泛化词则询问用户 → 用户回复后再调用脚本
  3. 强制等待规则:输出细分词推荐后,必须停止执行,等待用户下一轮对话回复「拓展」或「不拓展」,不得在同一次对话中继续执行任何脚本调用

常见泛化词: 泛词:抽象层级高、覆盖范围广的概括性词汇,无具体场景/属性修饰,行业分类等,可包含多个子类。特征:①语义上为上位概念(如"美妆"包含"粉底液/口红";"运动"包含"跑步/瑜伽";如AI);②上下文中常搭配"领域""类型"等概括词(如"美妆领域""运动类型")。 常见具体词: 具体词:抽象层级低、指向明确的实例化词汇,含具体场景/属性修饰,属于某泛词的直接子类。特征:①语义上为下位概念(如"粉底液"是"美妆产品"子类;"生酮饮食"是"饮食方式"子类);②词语结构多含修饰成分(如"春日"→"春日穿搭";"生酮"→"生酮饮食");

操作步骤

功能一:热门笔记搜索

核心功能:输入关键词,获取最匹配的小红书热门内容

步骤1:用户意图理解(查询脚本前)

⚠️ 核心规则:应该语意理解,优先提取用户描述中的细分方向词,而非泛化的大类词

  1. 判断用户是否提到赛道关键词

    • 无赛道关键词(如"最近的热门笔记有哪些"、"最近有什么热门内容"、"看看热门数据")→ 直接调用脚本,关键词传空字符串 "",查询全站热门
    • 有赛道关键词 → 继续提取和判断
  2. 提取精确搜索关键词(仅当用户提到赛道时执行):

    • 分析用户描述:从用户自我介绍或需求描述中提取明确的细分领域词
    • 示例分析:
      • 用户输入:"我是一个文艺类自媒体万粉小红书博主,平时会发小众电影审美积累、书评、乐评、港台文化等相关内容,帮我找电影领域热门话题"
      • 分析结果:用户提到的细分方向 = 小众电影、书评、乐评、港台文化
      • 将前文场景和"电影"相关,得到细分词 = 小众电影、港台电影、电影乐评
      • 搜索关键词:小众电影、港台电影、电影乐评
      • ❌ 错误做法:只提取泛化词「电影」去搜索
  3. 关键词类型判断(仅当提取到关键词时执行):

    • 细分词/垂直赛道(含具体场景/属性修饰的词,如"职场穿搭"、"减脂餐"、"小个子穿搭")→ 直接搜索,无需拓展询问
    • 泛化词/分类(纯大类词,如"穿搭"、"美食"、"美妆",无任何修饰)→ 执行拓展策略(步骤2)
    • 判断原则:有修饰词(场景/人群/风格/意图)= 细分词,直接搜索;无修饰词 = 泛化词,需要拓展

步骤2:泛化词拓展策略

  1. 泛化词处理流程(⚠️ 必须等待用户明确回复后再调用脚本!)
    1. 第一步:生成细分词(禁止调用脚本搜索数据)

      • 拓展词生成原则:

        • 词的大小适中:词语不要加组合,避免过细(如"中产穿搭"太细,查不到数据),
        • 必须覆盖不同场景:趋势词、人群词、场景词、意图词各2-3个
      • 输出示例:

      我识别到「中产」是较大的分类,已查询近期热门趋势,推荐以下细分方向:
      老钱、轻奢、品质生活、松弛感、高级感穿搭、体面、法式穿搭、律师、医生、品质家居
      回复「拓展」将同时搜索这10个词,回复「不拓展」将继续搜索「中产」
      
    2. 第二步:等待用户回复

      • 禁止:用户未回复时调用脚本
      • 正确:只等待用户明确回复「拓展」或「不拓展」后再执行
    3. 第三步:根据用户明确回复执行

      • 用户回复「拓展」 → 调用脚本搜索10个细分词
      • 用户回复「不拓展」或「继续」 → 调用脚本搜索原关键词
      • 用户未回复或回复其他内容 → 识别对应意图

步骤 3:时间范围与数据查询

时间范围

  • 数据库只包含昨天至30天前的数据
  • "最近"的默认定义:最近7天(startDate = 今天 - 7天)
  • 日期计算(将用户表达转换为 startDate):
    • 今天:直接用昨天日期,startDate = 昨天
    • 最近/近7天:startDate = 今天 - 7天
    • 近N天:startDate = 今天 - N天
    • 示例:用户说"近15天" → startDate = 今天 - 15天

数据不足时的自动调整(⚠️ 优先扩展时间,禁止换词!)

  • 处理原则:数据不足时,只能扩展时间范围,不能更换或拓展关键词
  • 调整顺序:按以下顺序自动扩展时间范围
    1. 近1天 → 近3天
    2. 近3天 → 近7天
    3. 近7天 → 近30天
  • 告知用户:自动调整时告知用户:"该关键词近X天数据较少,已自动扩展时间范围至近Y天"
  • 禁止行为:❌ 不可因为数据不足就更换关键词、推荐其他词或触发泛化词拓展流程

超出范围或未更新数据的道歉说明

  • 用户说"今天/今日"时:回答"非常抱歉,今天的数据暂未更新,已为您展示最近可用的数据"
  • 用户要求的时间超出30天时:回答"非常抱歉,当前仅支持最近30天的数据,已为您展示最接近的数据"

执行命令

  • 有赛道关键词:python scripts/fetch_xhs_hot_articles.py --keyword <关键词> --start-date <日期>
  • 无赛道关键词(查询全站热门):python scripts/fetch_xhs_hot_articles.py --keyword "" --start-date <日期>
  • 多个关键词用逗号分隔:python scripts/fetch_xhs_hot_articles.py --keyword "减脂餐,职场穿搭,健身" --start-date <日期>
  • 分页参数:--page-num 1 --page-size 50

输出文件

  • 筛选后推荐数据:{keyword}_热门数据.html

步骤 4:数据展示策略(核心)

⚠️ 强制输出规则

  • ✅ 必须严格按照本步骤规定的格式输出
  • ❌ 禁止在输出前添加任何分析或解读
  • ❌ 禁止自作主张给建议或方案
  • ❌ 禁止询问用户的真实目的或需求
  • ✅ 直接读取脚本返回的JSON数据,按照对应策略输出即可

数据字段说明

  • articles:正常笔记数据(主要展示内容)
  • latestHotArticles:推荐热门笔记(辅助内容,默认展示10条,表格不含评分字段)
  • hotTopics:热门话题(接口返回,仅供参考,不在对话中展示)

展示规则(基于articles数量判断,total以实际返回条数为准):

A. articles数量 ≥ 10条

展示内容:

  1. 时间范围说明:必须告知用户查询的时间范围,如"📅 查询时间范围:5月8日 - 5月19日"
  2. 正常笔记数据(有关键词时按totalScore降序排序,全站热门时按互动数排序)
  3. 拓词推荐(relatedSearches)

Markdown表格格式

⚠️ 表格字段顺序必须严格按以下顺序展示

有关键词时: | 笔记标题 | 作者 | 互动数 | 发布时间 | 相关性 | 热度 | 时效 | 总分 |

全站热门时(无评分字段): | 笔记标题 | 作者 | 互动数 | 发布时间 |

注意:总分字段需要加粗显示(使用**分数**格式)

示例(有关键词): 📅 查询时间范围:5月8日 - 5月19日

笔记标题作者互动数发布时间相关性热度时效总分
职场新人必看:5个让你快速融入团队的技巧职场成长社10.0w2026-05-159.83.02.014.8

示例(全站热门): 📅 查询时间范围:5月8日 - 5月19日

笔记标题作者互动数发布时间
热门笔记标题作者名10.0w2026-05-15

🔤 拓词推荐:职场沟通、职场晋升、打工人

B. articles数量 < 10条但 > 0

展示内容:

  1. 时间范围说明:必须告知用户查询的时间范围,如"📅 查询时间范围:5月8日 - 5月19日"
  2. 提示信息:"💡当前关键词当前时间段仅找到 X 条结果,您可以尝试拓展词或者拓展时间,我们还为您推荐了近期的热门笔记"
  3. 正常笔记数据
  4. 拓词推荐(relatedSearches)
  5. 推荐热门笔记(latestHotArticles,带"推荐热门笔记"标题分区,默认展示10条)
  6. 推荐热门话题

Markdown格式示例

📅 爆款笔记收录原则为互动数1000以上的文章, 查询时间范围:5月8日 - 5月19日

当前关键词当前时间段仅找到 3 条结果:

有关键词时:

笔记标题作者互动数发布时间相关性热度时效总分
笔记1作者110.0w2026-05-159.83.02.014.8

全站热门时(无评分字段):

笔记标题作者互动数发布时间
笔记1作者110.0w2026-05-15

🔤 拓展词推荐:职场沟通、职场晋升、打工人

💡我们为您推荐了近期的热门笔记供参考,或许对您有帮助

⚠️ 推荐热门笔记表格不需要评分字段,格式为:

笔记标题作者互动数发布时间
热门笔记1作者A8.5w2026-05-14
热门笔记2作者B6.2w2026-05-13

📈 您还可以尝试搜索以下热门赛道:

穿搭、美食、彩妆、影视、职场、萌宠、家居、旅行、交通、兴趣、科技、互联网、医疗保健、星座情感、婚庆婚礼、拍摄、教育、亲子育儿、个人护理、潮流鞋包、生活、科学探索、新闻资讯、运动

C. articles数量 = 0

⚠️ 必须严格按照以下格式输出,禁止自作主张给建议或分析

展示内容:

**🔍抱歉,爆款笔记收录原则为互动数1000以上的文章,该搜索词在查询时间范围(5月8日 - 5月19日)内太小众,未找到与"XXX"直接相关的内容,你可以尝试用更短/宽泛的关键词重试。**

**推荐搜索词**:从脚本返回的relatedSearches字段中提取推荐词,以加粗形式展示;

💡我们为您推荐了近期的热门笔记供参考,或许对您有帮助:

⚠️ 推荐热门笔记表格不需要评分字段,格式为:
| 笔记标题 | 作者 | 互动数 | 发布时间 |
|---------|------|--------|----------|
| [热门笔记1](url) | [作者A](https://www.xiaohongshu.com/user/profile/xxx) | 8.5w | 2026-05-14 |
| [热门笔记2](url) | [作者B](https://www.xiaohongshu.com/user/profile/xxx) | 6.2w | 2026-05-13 |

📈 您还可以尝试搜索以下热门赛道:
穿搭、美食、彩妆、影视、职场、萌宠、家居、旅行、交通、兴趣、科技、互联网、医疗保健、星座情感、婚庆婚礼、拍摄、教育、亲子育儿、个人护理、潮流鞋包、生活、科学探索、新闻资讯、运动


**输出规则**:
- ✅ 必须直接输出上述格式内容
- ❌ 禁止添加额外的分析或建议
- ❌ 禁止解释为什么搜不到数据
- ❌ 禁止主动提供其他搜索方案
- ❌ 禁止询问用户的真实目的

---

### 步骤 5:展示逻辑

**当articles数量 > 10条时**:
1. 初始默认只展示前10条数据
2. 必须提示用户:

💡 当前共找到 X 条相关笔记(X为实际返回条数),已展示前10条。是否需要查看全部?

3. 等待用户回复:
- 用户回复"是"/"查看全部"/"全部" → 展示全部数据
- 用户回复"否"/"不用"/"不需要" → 不展示更多

**展示全部数据时的格式**:

📊 全部结果(共X条,X为实际返回条数):

有关键词时: | 笔记标题 | 作者 | 互动数 | 发布时间 | 相关性 | 热度 | 时效 | 总分 |

全站热门时: | 笔记标题 | 作者 | 互动数 | 发布时间 |

| ...(全部数据)...


---

### 步骤6:订阅服务询问(必须执行)

**当articles数量 > 0时,结果输出完成后必须询问**:

📬 订阅服务 1️⃣ 是否需要订阅当前搜索条件笔记,订阅后将定时推送给您? 2️⃣ 暂不需要


**处理用户回复**:
- 用户选择1️⃣ → 使用 `calendar_create` 工具创建日程,订阅当前搜索条件
- 用户选择2️⃣ → 结束当前对话

**订阅实现步骤**:

1. **告知数据更新时间并询问推送时间**:

📅 数据更新时间:每日早上7点更新昨日数据

请告诉我您希望推送的具体时间~


2. **用户选择后,调用 `calendar_create` 工具**:
   - **title**:`小红书热门笔记订阅:{关键词}`
   - **description**:记录当前搜索参数(关键词、时间范围)
   - **start_time**:根据用户选择的时间设置
   - **remind_type**:设置为定期提醒
   - 其他参数使用当前查询参数

3. **订阅成功后提示**:

✅ 订阅创建成功!

📌 订阅信息:

  • 关键词:{关键词}
  • 时间范围:{当前时间范围}
  • 推送时间:{用户选择的时间}
  • 数据更新:每日早上7点更新昨日数据

到达设定时间后,将自动为您推送最新的小红书热门笔记。


**⚠️ 强制规则**:

- ✅ 必须在结果输出完成后立即询问
- ✅ 用户选择订阅时,必须使用 `calendar_create` 工具
- ✅ 参数必须使用当前查询参数(关键词、时间范围等)
- ❌ 禁止跳过此步骤
- ❌ 禁止在展示结果前询问

---

### 步骤 7:前置说明(必须展示)

**在展示数据前,必须告知用户**:

- **数据说明**:热门笔记范围为互动数1000以上的文章,每日早上7点更新昨日数据。文章互动数据截止为入库时间,不是实时数据,入库后互动数据可能持续增长。
- **排序说明**(有关键词搜索时):根据相关性(满分10分)、热度(满分3分)、时效(满分2分)三个维度加权计算,总分共15分
- **排序说明**(全站热门/无关键词时):按互动数排序,无评分字段

#### 步骤8:推荐细分赛道(⚠️ 展示数据后必须执行)

**核心规则**:展示完热门数据后,**必须主动询问用户是否需要查询更具体的细分赛道**

1. **推荐细分词生成**:
- 基于当前查询的关键词,生成10个相关的细分方向词
- **生成原则**:
  - **词的大小适中**:避免过细(查不到数据)或过泛(范围太大)
  - **覆盖不同维度**:场景词、人群词、风格词、意图词各2-3个
  - **参考数据表现**:优先推荐近期热度较高的方向

2. **输出格式**:

以上是「{当前关键词}」的热门数据。

如需深入了解某个细分方向,可以从以下赛道中选择: {细分词1}、{细分词2}、{细分词3}、{细分词4}、{细分词5}、 {细分词6}、{细分词7}、{细分词8}、{细分词9}、{细分词10}

回复具体关键词,我将为您查询该赛道的热门笔记。


3. **示例输出**:

以上是「减脂餐」的热门数据。

如需深入了解某个细分方向,可以从以下赛道中选择: 早餐减脂、减脂便当、低卡晚餐、减脂零食、学生党减脂、一周食谱、减脂沙拉、减脂主食、控糖减脂、懒人减脂餐

回复具体关键词,我将为您查询该赛道的热门笔记。


4. **特殊情况处理**:
- 如果用户查询的是非常细分的词(如"减脂餐一周食谱"),可不再推荐更细的方向;已经拓展过的词不需要再询问拓展
- 如果用户查询的是空关键词(全站热门),**直接使用热门赛道列表**推荐,格式如下:

  ```
  以上是全站热门数据。

  如需深入了解某个细分赛道,可以从以下热门赛道中选择:
  穿搭、美食、彩妆、影视、职场、萌宠、家居、旅行、交通、兴趣、科技、互联网、医疗保健、星座情感、婚庆婚礼、拍摄、教育、亲子育儿、个人护理、潮流鞋包、生活、科学探索、新闻资讯、运动

  回复具体关键词,我将为您查询该赛道的热门笔记。
  ```

#### 步骤9: 输出前自检【必须执行】

在输出前,逐项检查输出格式的每一个字段是否完整:

- []**意图识别**:是否准确识别用户搜索意图?
- []**笔记数据**:是否如实展示脚本返回的所有筛选结果(max_items=10时展示10条),每条包含序号(加粗)、笔记标题、作品链接、作者名、作者链接、发布时间、互动数、推荐理由(加粗)?
- []**HTML卡片**:是否包含html卡片?
- []**推荐细分词**:是否列出10个细分词?

如有任何字段遗漏或不完整,必须补齐后再输出。

## 使用示例

- 示例1:
- 场景/输入: 用户询问"最近有什么热门的穿搭内容"
- 预期产出: 返回穿搭领域的热门笔记数据,包含10条筛选结果,每条包含标题、作者、互动数、推荐理由等
- 关键要点: 需判断"穿搭"是否为泛化词,如是则先推荐细分词

- 示例2:
- 场景/输入: 用户询问"小个子穿搭有什么热门笔记"
- 预期产出: 返回"小个子穿搭"相关热门笔记数据
- 关键要点: "小个子穿搭"为细分词,可直接搜索

## 资源索引

- 脚本: 见 [scripts/fetch_xhs_hot_articles.py](scripts/fetch_xhs_hot_articles.py)(用途:调用API获取热门笔记数据并生成HTML报告)
- 参考: 见 [references/xhs_hot_article_format.md](references/xhs_hot_article_format.md)(何时读取:了解数据字段格式和输出规范)

## 注意事项

- 仅在需要时读取参考文档,保持上下文简洁。
- 操作脆弱时优先调用脚本并校验结果。
- 充分利用智能体能力,避免为简单任务编写脚本。