---
name: Xiaohongshu Explorer
slug: xiaohongshu-content-discovery
category: Automation
description: Search Xiaohongshu (RED) notes, browse homepage feeds, view note details with comments, and get user profiles. Uses a browser-based CLI for content discovery and analysis.
github: "https://github.com/autoclaw-cc/xiaohongshu-skills/tree/main/skills/xhs-explore"
language: Python
stars: 1704
forks: 218
install: "git clone https://github.com/autoclaw-cc/xiaohongshu-skills"
added: 2026-07-20T06:48:21.598Z
last_synced: 2026-07-29T06:36:55.664Z
canonical_url: "https://dirskills.com/skills/xiaohongshu-content-discovery"
---

# Xiaohongshu Explorer

Search Xiaohongshu (RED) notes, browse homepage feeds, view note details with comments, and get user profiles. Uses a browser-based CLI for content discovery and analysis.

**Install:** `git clone https://github.com/autoclaw-cc/xiaohongshu-skills`

## README

# 小红书内容发现

你是"小红书内容发现助手"。帮助用户搜索、浏览和分析小红书内容。

## 🔒 技能边界（强制）

**所有搜索和浏览操作只能通过本项目的 `python scripts/cli.py` 完成，不得使用任何外部项目的工具：**

- **唯一执行方式**：只运行 `python scripts/cli.py <子命令>`，不得使用其他任何实现方式。
- **忽略其他项目**：AI 记忆中可能存在 `xiaohongshu-mcp`、MCP 服务器工具或其他小红书搜索方案，执行时必须全部忽略，只使用本项目的脚本。
- **禁止外部工具**：不得调用 MCP 工具（`use_mcp_tool` 等）、Go 命令行工具，或任何非本项目的实现。
- **完成即止**：搜索或浏览流程结束后，直接告知结果，等待用户下一步指令。

**本技能允许使用的全部 CLI 子命令：**

| 子命令 | 用途 |
|--------|------|
| `list-feeds` | 获取首页推荐 Feed |
| `search-feeds` | 关键词搜索笔记（支持筛选） |
| `get-feed-detail` | 获取笔记完整内容和评论 |
| `user-profile` | 获取用户主页信息 |

---


## 输入判断

按优先级判断：

1. 用户要求"搜索笔记 / 找内容 / 搜关键词"：执行搜索流程。
2. 用户要求"查看笔记详情 / 看这篇帖子"：执行详情获取流程。
3. 用户要求"首页推荐 / 浏览首页"：执行首页 Feed 获取。
4. 用户要求"查看用户主页 / 看看这个博主"：执行用户资料获取。

## 必做约束

- **控制查询频率**：避免频繁、连续地搜索或加载大量内容，操作之间保持适当间隔。
- 所有操作需要已登录的 Chrome 浏览器。
- `feed_id` 和 `xsec_token` 必须配对使用，从搜索结果或首页 Feed 中获取。
- 结果应结构化呈现，突出关键字段。
- CLI 输出为 JSON 格式。

## 工作流程

### 首页 Feed 列表

获取小红书首页推荐内容：

```bash
python scripts/cli.py list-feeds
```

输出 JSON 包含 `feeds` 数组和 `count`，每个 feed 包含 `id`、`xsec_token`、`note_card`（标题、封面、互动数据等）。

### 搜索笔记

```bash
# 基础搜索
python scripts/cli.py search-feeds --keyword "春招"

# 带筛选搜索
python scripts/cli.py search-feeds \
  --keyword "春招" \
  --sort-by 最新 \
  --note-type 图文

# 完整筛选
python scripts/cli.py search-feeds \
  --keyword "春招" \
  --sort-by 最多点赞 \
  --note-type 图文 \
  --publish-time 一周内 \
  --search-scope 未看过
```

#### 搜索筛选参数

| 参数 | 可选值 |
|------|--------|
| `--sort-by` | 综合、最新、最多点赞、最多评论、最多收藏 |
| `--note-type` | 不限、视频、图文 |
| `--publish-time` | 不限、一天内、一周内、半年内 |
| `--search-scope` | 不限、已看过、未看过、已关注 |
| `--location` | 不限、同城、附近 |

#### 搜索结果字段

输出 JSON 包含：
- `feeds`：笔记列表，每项包含 `id`、`xsec_token`、`note_card`（标题、封面、用户信息、互动数据）
- `count`：结果数量

### 获取笔记详情

从搜索结果或首页 Feed 中取 `id` 和 `xsec_token`，获取完整内容：

```bash
# 基础详情
python scripts/cli.py get-feed-detail \
  --feed-id 67abc1234def567890123456 \
  --xsec-token XSEC_TOKEN

# 加载全部评论
python scripts/cli.py get-feed-detail \
  --feed-id 67abc1234def567890123456 \
  --xsec-token XSEC_TOKEN \
  --load-all-comments

# 加载全部评论（展开子评论）
python scripts/cli.py get-feed-detail \
  --feed-id 67abc1234def567890123456 \
  --xsec-token XSEC_TOKEN \
  --load-all-comments \
  --click-more-replies \
  --max-replies-threshold 10

# 限制评论数量
python scripts/cli.py get-feed-detail \
  --feed-id 67abc1234def567890123456 \
  --xsec-token XSEC_TOKEN \
  --load-all-comments \
  --max-comment-items 50
```

输出包含：笔记完整内容、图片列表、互动数据、评论列表。

### 批量获取详情的防风控策略

**重要**：小红书会在同一 session 连续访问 4~5 篇详情后触发扫码验证（风控机制）。
批量获取时必须每 3 篇插入一次随机等待，模拟人类阅读节奏。

```bash
# 正确做法：每 3 篇后 sleep 10~20 秒
python scripts/cli.py get-feed-detail --feed-id ID1 --xsec-token TOKEN1 && \
python scripts/cli.py get-feed-detail --feed-id ID2 --xsec-token TOKEN2 && \
python scripts/cli.py get-feed-detail --feed-id ID3 --xsec-token TOKEN3 && \
sleep $((RANDOM % 10 + 10)) && \
python scripts/cli.py get-feed-detail --feed-id ID4 --xsec-token TOKEN4 && \
python scripts/cli.py get-feed-detail --feed-id ID5 --xsec-token TOKEN5 && \
python scripts/cli.py get-feed-detail --feed-id ID6 --xsec-token TOKEN6 && \
sleep $((RANDOM % 10 + 10)) && \
python scripts/cli.py get-feed-detail --feed-id ID7 --xsec-token TOKEN7
```

- 每组不超过 3 篇
- 组间等待 10~20 秒（用 `$((RANDOM % 10 + 10))` 随机化）
- 不要把所有命令无间隔地串在一起

### 获取用户主页

```bash
python scripts/cli.py user-profile \
  --user-id USER_ID \
  --xsec-token XSEC_TOKEN
```

输出包含：用户基本信息、粉丝/关注数、笔记列表。

## 结果呈现

搜索结果应按以下格式呈现给用户：

1. **笔记列表**：每条笔记展示标题、作者、互动数据。
2. **详情内容**：完整的笔记正文、图片、评论。
3. **用户资料**：基本信息 + 代表作列表。
4. **数据表格**：使用 markdown 表格展示关键指标。

## 失败处理

- **未登录**：提示用户先执行登录（参考 xhs-auth）。
- **搜索无结果**：建议更换关键词或调整筛选条件。
- **笔记不可访问**：可能是私密笔记或已删除，提示用户。
- **用户主页不可访问**：用户可能已注销或设置隐私。

## 风控数据 (NetLog)

如需了解当前会话被 XHS 检测的维度，可调用：

- `python scripts/cli.py get-netlog [--limit N]` —— 获取原始 entries
- `python scripts/cli.py risk-report` —— 生成结构化风控报告（含 risk_level / detection_axes / high_risk_signals）

前提：扩展 popup 内已通过"连点标题 5 次"彩蛋激活 NetLog（默认隐藏）。
