# Xhs Topic Scout

> 小红书财经选题调研工具。通过采集热点新闻、市场情绪调研（小红书真实笔记评估）、选题分析，得到5-10个可执行的选题和切入角度。适用于证券/基金/理财账号的小红书内容创作。

- Skill: `cyhzzz/xhs-topic-scout` (Agent Skill, multi-file: 6 files)
- Install (CLI): `npx skillmds@latest add cyhzzz/xhs-topic-scout`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cyhzzz/xhs-topic-scout/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cyhzzz (https://skillmd.com/u/cyhzzz)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cyhzzz/xhs-topic-scout

---


# 小红书财经选题调研工具

## 依赖说明

### 必需依赖

| 依赖 | 用途 | 检查/启动方式 |
|------|------|--------------|
| **web-access skill** | CDP浏览器操控 + 小红书调研 | 首次使用需安装 |
| **Chrome/Edge 浏览器** | 携带用户登录态访问小红书 | 自动尝试启动 |

### web-access skill 安装

**首次使用前必须安装。执行任务前先检查：**

```bash
# 检查 web-access skill 是否已安装
ls ~/.claude/skills/web-access/SKILL.md 2>/dev/null && echo "已安装" || echo "未安装"
```

**判断逻辑**：
- 若已安装 → 直接进入"依赖检查与启动流程"
- 若未安装 → 引导用户说："帮我安装 web-access skill，仓库地址是 https://github.com/eze-is/web-access"

**安装后说明**：该 skill 原为 Claude Code 设计，安装后需理解其核心原理和工作逻辑，结合当前环境进行适配使用。

### 依赖检查与启动流程

**按顺序执行，每步检查结果：**

```bash
# Step 1: 检查 CDP Proxy 是否运行，未运行则自动启动
curl -s http://localhost:3456/health || \
  node ~/.claude/skills/web-access/scripts/cdp-proxy.mjs &

# Step 2: 检查是否已连接到浏览器
curl -s http://localhost:3456/health
# 期望: {"connected": true, "sessions": N} (N > 0)

# Step 3: 若未连接，尝试自动启动 Chrome
# Windows:
start chrome --remote-debugging-port=9222
# 或 Edge:
start msedge --remote-debugging-port=9222

# Step 4: 等待连接后再次检查
sleep 3 && curl -s http://localhost:3456/health

# Step 5: 若仍失败，检查是否有浏览器进程
# Windows:
tasklist | findstr /i "chrome edge"
```

### 降级策略

| 依赖失效 | 降级方案 |
|---------|---------|
| Chrome/Edge 无法启动 | 提示用户手动启动：`chrome --remote-debugging-port=9222` |
| CDP 仍未连接 | 使用 WebFetch/curl 抓取财经新闻作为备选 |
| 小红书无法访问 | 基于行业知识评估竞争度，标注"待验证" |
| 所有外部源均失败 | 提示用户提供近期市场概况，生成基于模拟的选题报告 |

---

## 技能定位

为申万宏源证券官方/KOS账号提供小红书选题参考，核心目标是**引导客户关注和咨询，获取线索**。

## 核心工作流

```
Phase 1: 热点采集
   → 财联社深度 + 新浪财经7×24 + 东方财富操盘必读

Phase 2: 选题发散
   → 从热点中提取候选话题（10-15个）
   → 热点分类 + 候选话题生成

Phase 3: 小红书市场调研
   → CDP真实检索，评估竞争度和内容缺口

Phase 4: 选题分析
   → 选题评估框架 + 避坑指南 + 切入角度

Phase 5: 输出选题报告 + 热点连续性评估
   → 5-10个选题，含新闻来源、小红书现状、切入思路
   → 评估近期热点连续性（持续热点 = 换角度持续聊）
```

---

## Phase 1: 热点采集

### 数据来源（按优先级）

| 来源 | 栏目 | URL |
|------|------|-----|
| **财联社** | 深度 | https://www.cls.cn/depth?id=1000 |
| **新浪财经** | 7×24全球直播 | https://finance.sina.com.cn/7x24/ |
| **东方财富** | 操盘必读 | https://finance.eastmoney.com/a/cdfsd_2.html |

### 采集命令

通过CDP打开上述页面，获取页面文本内容：

```bash
# 财联社
curl -s "http://localhost:3456/new?url=https://www.cls.cn/depth?id=1000"

# 新浪财经
curl -s "http://localhost:3456/new?url=https://finance.sina.com.cn/7x24/"

# 东方财富
curl -s "http://localhost:3456/new?url=https://finance.eastmoney.com/a/cdfsd_2.html"
```

### 热点提取原则

从页面文本中提取：
- 与A股/投资/理财相关的话题
- 有具体数据或事件
- 有大众关注度（阅读量、讨论度）

### 具体新闻URL提取要求

**必须为每个热点话题提取其来源页面的具体URL**：

1. **东方财富**：快讯链接格式为 `https://finance.eastmoney.com/a/xxx`，可直接提取 ✅
2. **财联社**：动态渲染页面，返回纯文本无URL。使用格式：`财联社电报 + 时间 + 阅读量` 作为来源标识
3. **新浪7×24**：动态页面，无具体URL。使用格式：`新浪财经7×24 + 时间` 作为来源标识

**禁止**：
- ❌ 只写栏目首页（如 `https://www.cls.cn/depth?id=1000`）
- ❌ 只写来源名称（如"财联社深度"）

**正确示例**：
```
| 东方财富 | https://finance.eastmoney.com/a/202603213679644262.html | 宇树科技IPO... |
| 财联社 | 财联社电报 13:46 阅6869 | A股下跌... |
| 新浪财经 | 新浪财经7×24 13:45 | 市场动态... |
```

---

## Phase 2: 选题发散

将热点分为5大类，对应不同选题角度：

| 类别 | 选题角度 |
|------|---------|
| **行情/指数** | 解读分析、操作建议 |
| **板块/概念** | 板块机会、ETF/基金推荐 |
| **产品/事件** | 投资逻辑、产品分析 |
| **国际/宏观** | 影响分析、避险策略 |
| **公司/个股** | 基本面分析、投资逻辑 |

**关键词由候选话题决定，不要预设**。根据Phase 1提取的真实热点中的关键词来设计选题角度。

### 候选话题生成

从热点中提取**10-15个候选话题**，原则：
- 与资本市场/投资相关
- 有社会关注度
- 小红书用户关心的话题

**最终输出要求：必须精选5-10个选题**，不足5个则需补充热点，不足10个也需达到5个。

---

## Phase 3: 小红书市场调研（CDP）

### 调研目标

对于每个候选话题，在小红书搜索并评估：
1. **话题阶段**：萌芽期 / 爆发期 / 成熟期 / 衰退期
2. **竞争激烈度**：高 / 中 / 低
3. **内容缺口**：哪些角度已有人做，哪些是机会

### CDP操作流程

**Step 1: 构造搜索URL**
小红书搜索URL格式：`https://www.xiaohongshu.com/search_result?keyword={关键词}&type=51`
其中关键词需要URL编码，如"黄金" → `%E9%BB%84%E9%87%91`

**Step 2: 创建CDP Tab并等待加载**
```bash
curl -s "http://localhost:3456/new?url=https://www.xiaohongshu.com/search_result?keyword=%E9%BB%84%E9%87%91&type=51"
```
返回的targetId用于后续操作。

**Step 3: 等待页面完全加载**
```bash
sleep 5  # 等待JS渲染完成
```

**Step 4: 获取笔记列表数据**
```bash
curl -s -X POST "http://localhost:3456/eval?target={targetId}" \
  -d 'JSON.stringify({
    notes: Array.from(document.querySelectorAll(".note-item, .search-result-item")).slice(0, 15).map(el => ({
      title: el.querySelector(".title, .note-content-title")?.textContent?.trim() || el.textContent?.trim()?.slice(0, 60),
      time: el.textContent?.match(/(\d+分钟前|\d+小时前|\d+天前|\d+月前)/)?.[0] || "未知",
      likes: el.querySelector(".liked-count, .like-count")?.textContent?.trim() || "0"
    }))
  })'
```

**Step 5: 如果Step 4返回空或错误，尝试备选方案**
```bash
# 方案A: 等待更长时间后重试
sleep 5 && curl -s -X POST "http://localhost:3456/eval?target={targetId}" \
  -d 'document.body.innerText.slice(0, 3000)'

# 方案B: 截图查看页面状态
curl -s "http://localhost:3456/screenshot?target={targetId}&file=/tmp/xhs_search.png"
```

**Step 6: 提取数据后关闭Tab**
```bash
curl -s "http://localhost:3456/close?target={targetId}"
```

### 常见问题处理

| 问题 | 原因 | 解决方案 |
|------|------|---------|
| 返回targetId为Infinity | URL编码问题或页面跳转 | 检查关键词URL编码是否正确 |
| 笔记列表为空 | JS未渲染完成 | 增加sleep时间，或使用截图确认页面状态 |
| 页面加载超时 | 网络问题 | 重试或跳过该话题 |

### 话题阶段判断

| 阶段 | 特征 | 建议 |
|------|------|------|
| **萌芽期** | 新笔记少，互动不高 | 提前布局，适合首发 |
| **爆发期** | 新笔记爆发，互动激增 | 赶紧跟进，适合热点 |
| **成熟期** | 大量笔记，互动趋稳 | 差异化角度切入 |
| **衰退期** | 新笔记减少，老内容为主 | 换话题 |

### 竞争度评估

| 评估 | 信号 |
|------|------|
| **高** | 多个100+互动笔记，标题党严重 |
| **中** | 有几个30-50互动笔记 |
| **低** | 笔记少，互动低，投资角度空白 |

---

## Phase 4: 选题分析

### 选题评估框架

**双维度评分**：

| 维度 | 评估标准 | 满分 |
|------|---------|------|
| **新闻热度** | 今日阅读量、讨论度 | /10 |
| **小红书机会** | 竞争度低、内容缺口大 | /10 |

**总分** = 新闻热度 + 小红书机会

| 总分 | 评级 | 建议 |
|------|------|------|
| 16-20 | ⭐⭐⭐⭐⭐ 强烈推荐 | 今天发最好 |
| 12-15 | ⭐⭐⭐⭐ 推荐 | 尽快发布 |
| 8-11 | ⭐⭐⭐ 一般 | 需要差异化 |
| <8 | ⭐⭐ 谨慎 | 不建议做 |

### 避坑指南 & 切入角度设计

**详细指南**：`references/选题方法论.md`（含5大核心方法论、标题四关键词、避坑指南）

### 引导咨询策略

每个选题结尾需要设计：
- **互动引导**："你现在仓位如何？"、"亏了多少？"
- **咨询引导**："想了解更多，可以私信咨询"
- **关注引导**："关注我，持续跟踪..."

---

## Phase 5: 输出选题报告

### 报告结构

```markdown
# 小红书选题调研报告

**调研日期**：
**调研目的**：为申万宏源证券官方/KOS账号提供选题参考
**核心诉求**：引导客户关注和咨询，获取线索

---

## 一、热点财经新闻来源

| 来源 | 具体新闻链接 | 核心热点 |
|------|------------|---------|
| 财联社 | https://www.cls.cn/telegraph/xxx | ... |
| 新浪财经 | https://finance.sina.com.cn/7x24/xxx | ... |
| 东方财富 | https://finance.eastmoney.com/a/xxx | ... |

**重要**：链接必须是具体新闻页URL，不能只写栏目首页。

---

## 二、热点财经新闻分析

### 核心热点排序

| 排名 | 热点话题 | 热度指数 | 与A股关联度 |
|------|---------|---------|-------------|

### 重点话题分析

#### 【话题A】XXX

**新闻背景**：
- 来源：[链接]
- 核心数据/事件

**核心矛盾/亮点**：

---

## 三、小红书发帖情况分析

来源：[小红书搜索链接]

### 话题A：XXX

| 验证项 | 结果 |
|--------|------|
| **发帖时间** | X小时内 / X天前 |
| **笔记数量** | 多/中/少 |
| **互动情况** | 最高X互动 |
| **内容角度** | XXX类多，XXX类少 |
| **竞争激烈度** | 高/中/低 |

---

## 四、选题建议（5-10个）⭐

**重要**：最终输出必须包含**5-10个选题**，不多不少。若候选话题不足，需返回热点采集阶段补充。

### 选题一：XXX

| 项目 | 内容 |
|------|------|
| **新闻来源** | [来源] |
| **小红书现状** | [搜索链接] |
| **选题角度** | ... |
| **切入思路** | ... |
| **差异化点** | ... |

---

## 五、执行建议

### 内容形式
| 选题 | 建议形式 | 理由 |
|------|---------|------|

### 引导咨询策略
- **互动引导**：
- **咨询引导**：
- **风险提示**：

---

**报告生成时间**：
**数据来源**：财联社、新浪财经、东方财富、小红书搜索
```

---

## 快速执行命令

**CDP命令参考**：`references/cdp-commands.md`

### 输出位置

选题报告输出到：`./output/选题调研报告_{YYYYMMDD}.md`（相对路径，skill目录下）

---

## 热点连续性评估（Phase 5 附）

### 目的

评估选题在近期是否持续出现，判断热点生命周期。

### 检查方法

```bash
# 列出最近7天的选题报告
ls -t ./output/ | head -7

# 读取最近报告内容
cat ./output/选题调研报告_YYYYMMDD.md
```

### 评估逻辑

| 情况 | 含义 | 处理方式 |
|------|------|---------|
| **首次出现** | 新话题 | 优先推荐 |
| **间歇出现** | 周期性话题 | 正常推荐 |
| **持续出现** | 热点持续发酵 | **换角度持续聊**，在报告中标注 `🔥 热点持续中，建议换角度切入` |

### 热点连续性标注

在每个选题后添加标注：

| 标注 | 含义 |
|------|------|
| `🆕 新话题` | 首次出现 |
| `🔄 周期性话题` | 间歇出现 |
| `🔥 热点持续中` | 连续2次以上出现，建议换角度切入 |
| `📈 热点爆发` | 连续出现且热度上升，强烈推荐 |

### 注意事项

> ⚠️ 热点连续性标记仅作为参考，不作为排除依据。持续热点意味着市场关注度高，是内容消费的黄金期，应换不同角度持续产出。

---

## 注意事项

1. **投资关联性为核心**：每个选题都必须可以自然转向证券开户或基金投资
2. **固定输出5-10个选题**：不多不少，确保质量。若候选不足，需返回热点采集阶段补充
3. **投资关联度 ≥80分**：低于80分的选题会被排除
4. **合规性**：不包含市场预测、荐股信息
5. **时效性**：热点话题优先，今天的新闻今天发最好

