feat: 增加运营技巧
This commit is contained in:
86
.claude/skills/post-to-xhs/SKILL.md
Normal file
86
.claude/skills/post-to-xhs/SKILL.md
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
name: post-to-xhs
|
||||
argument-hint: "[标题或内容描述]"
|
||||
description: |
|
||||
发布内容到小红书,支持图文笔记和视频笔记。自动判断发布类型,校验标题和素材,用户确认后发布。
|
||||
当用户想在小红书发布内容时使用——包括发笔记、发图文、发视频、上传图片、写一篇小红书、把内容发到红书上、种草笔记、好物分享等,即使用户只说"帮我发一下"但上下文明确是小红书也应触发。
|
||||
---
|
||||
|
||||
## 输入判断
|
||||
|
||||
根据用户提供的素材判断发布类型:
|
||||
- 提供了视频文件 → 视频笔记
|
||||
- 提供了图片 → 图文笔记
|
||||
- 仅提供文本 → 提示用户至少提供图片或视频
|
||||
|
||||
## 约束
|
||||
|
||||
- 标题最多 20 个中文字或英文单词(小红书平台限制,超长会被截断)
|
||||
- 图文笔记至少 1 张图片(小红书不允许纯文本笔记)
|
||||
- 视频笔记仅支持本地视频文件绝对路径(MCP 服务需要读取本地文件)
|
||||
- 图片和视频不能混用,只能二选一(小红书平台限制)
|
||||
- 正文中不要包含 # 标签(标签通过 `tags` 参数单独传递,MCP 服务会自动处理格式)
|
||||
- 发布前展示完整内容让用户确认(发布后无法撤回)
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 收集发布信息
|
||||
|
||||
确保以下内容齐全:
|
||||
- `title`(必填)— 标题
|
||||
- `content`(必填)— 正文
|
||||
- 图片列表或视频路径(必填其一)
|
||||
- `tags`(可选)— 话题标签
|
||||
- `schedule_at`(可选)— 定时发布,ISO8601 格式
|
||||
- `is_original`(可选,仅图文)— 声明原创
|
||||
- `visibility`(可选)— 公开可见 | 仅自己可见 | 仅互关好友可见
|
||||
|
||||
信息不完整时,向用户询问缺少的部分。
|
||||
|
||||
### 2. 内容校验
|
||||
|
||||
- 检查标题长度(≤20 中文字)
|
||||
- 检查图片/视频文件路径是否为绝对路径
|
||||
- 如用户提供 URL 内容,先用 WebFetch 提取文本和图片
|
||||
|
||||
### 3. 确认发布
|
||||
|
||||
向用户展示完整的发布内容预览:
|
||||
- 标题、正文、标签
|
||||
- 图片列表或视频路径
|
||||
- 定时时间、可见范围(如有)
|
||||
|
||||
等待用户确认后才执行发布。
|
||||
|
||||
### 4. 发布
|
||||
|
||||
**图文笔记** — 调用 `publish_content`:
|
||||
- `title`(string,必填)
|
||||
- `content`(string,必填)
|
||||
- `images`(string[],必填)— 图片路径或 URL
|
||||
- `tags`(string[],可选)
|
||||
- `schedule_at`(string,可选)
|
||||
- `is_original`(bool,可选)
|
||||
- `visibility`(string,可选)
|
||||
|
||||
**视频笔记** — 调用 `publish_with_video`:
|
||||
- `title`(string,必填)
|
||||
- `content`(string,必填)
|
||||
- `video`(string,必填)— 本地视频绝对路径
|
||||
- `tags`(string[],可选)
|
||||
- `schedule_at`(string,可选)
|
||||
- `visibility`(string,可选)
|
||||
|
||||
### 5. 报告结果
|
||||
|
||||
发布成功后,告知用户笔记 ID 和发布状态。
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| 未登录 | 引导使用 xhs-login |
|
||||
| 标题超长 | 提示用户缩短标题 |
|
||||
| 图片路径无效 | 提示检查路径是否正确 |
|
||||
| 视频使用了相对路径 | 提示改为绝对路径 |
|
||||
| 发布失败 | 展示错误信息,建议检查内容或重试 |
|
||||
143
.claude/skills/setup-xhs-mcp/SKILL.md
Normal file
143
.claude/skills/setup-xhs-mcp/SKILL.md
Normal file
@@ -0,0 +1,143 @@
|
||||
---
|
||||
name: setup-xhs-mcp
|
||||
description: |
|
||||
安装部署 xiaohongshu-mcp 服务并配置 MCP 连接,引导用户完成从零到可用的全流程。
|
||||
当用户第一次使用小红书功能、提到安装/部署/配置小红书、环境搭建、MCP 服务连接失败、或 check_login_status 等 MCP 工具不可用时使用。
|
||||
---
|
||||
|
||||
项目仓库:https://github.com/xpzouying/xiaohongshu-mcp
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 检测服务状态
|
||||
|
||||
检查 xiaohongshu-mcp 是否已在运行(注意:MCP 端点只接受 POST,GET 会返回 405,不能用 `-f` 判断):
|
||||
|
||||
```bash
|
||||
curl -so /dev/null http://localhost:18060/mcp && echo "running" || echo "not running"
|
||||
```
|
||||
|
||||
- 已运行 → 记录地址 `http://localhost:18060/mcp`,跳到步骤 3
|
||||
- 未运行 → 询问用户:服务是否部署在其他地址/端口?
|
||||
- 用户提供地址 → 验证可达后跳到步骤 3
|
||||
- 未部署 → 进入步骤 2
|
||||
|
||||
### 2. 部署服务
|
||||
|
||||
确认操作系统(macOS / Linux / Windows)和是否已安装 Docker。
|
||||
|
||||
#### 方式一:Docker Compose(推荐)
|
||||
|
||||
Docker 镜像内置 Chrome 和中文字体,无需额外配置。
|
||||
|
||||
```bash
|
||||
# 下载 docker-compose.yml
|
||||
wget https://raw.githubusercontent.com/xpzouying/xiaohongshu-mcp/main/docker/docker-compose.yml
|
||||
|
||||
# 启动服务
|
||||
docker compose up -d
|
||||
|
||||
# 查看日志
|
||||
docker compose logs -f
|
||||
```
|
||||
|
||||
镜像源:
|
||||
- Docker Hub(默认):`xpzouying/xiaohongshu-mcp`
|
||||
- 阿里云(国内推荐):`crpi-hocnvtkomt7w9v8t.cn-beijing.personal.cr.aliyuncs.com/xpzouying/xiaohongshu-mcp`
|
||||
|
||||
切换方法:编辑 docker-compose.yml,注释默认 image 行,取消注释阿里云 image 行。
|
||||
|
||||
数据持久化:
|
||||
- `./data` — cookies 登录状态
|
||||
- `./images` — 发布图片时的挂载目录
|
||||
|
||||
#### 方式二:下载二进制
|
||||
|
||||
从 GitHub Releases 下载:https://github.com/xpzouying/xiaohongshu-mcp/releases/latest
|
||||
|
||||
```bash
|
||||
curl -s https://api.github.com/repos/xpzouying/xiaohongshu-mcp/releases/latest | grep browser_download_url
|
||||
```
|
||||
|
||||
注意:二进制方式需要本机已安装 Chrome 或 Chromium。
|
||||
|
||||
#### 方式三:源码编译
|
||||
|
||||
不推荐,仅适合 Go 开发者。参考项目仓库 README。
|
||||
|
||||
部署完成后用 curl 确认服务已启动,然后进入步骤 3。
|
||||
|
||||
### 3. 检测 MCP 连接配置
|
||||
|
||||
检查当前客户端是否已配置 xiaohongshu MCP 连接。
|
||||
|
||||
**Claude Code**:读取 `~/.claude/settings.json` 和项目级 `.claude/settings.json`,查找 `mcpServers` 中是否有 `xiaohongshu` 配置。
|
||||
|
||||
- 已配置且地址正确 → 跳到步骤 5
|
||||
- 已配置但地址不匹配 → 修正地址
|
||||
- 未配置 → 进入步骤 4
|
||||
|
||||
### 4. 配置 MCP 连接
|
||||
|
||||
询问用户:
|
||||
|
||||
**连接地址**:如果步骤 1 已确认可达的地址,用该地址作为默认值,否则默认 `http://localhost:18060/mcp`。
|
||||
|
||||
**使用的客户端**:
|
||||
|
||||
**Claude Code**:
|
||||
|
||||
```bash
|
||||
claude mcp add xiaohongshu --transport http <地址>
|
||||
```
|
||||
|
||||
或写入配置文件:
|
||||
- 全局:`~/.claude/settings.json`
|
||||
- 项目级:`.claude/settings.json`
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"xiaohongshu": {
|
||||
"url": "http://localhost:18060/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**Cursor**(`.cursor/mcp.json`):
|
||||
|
||||
```json
|
||||
{
|
||||
"mcpServers": {
|
||||
"xiaohongshu": {
|
||||
"url": "http://localhost:18060/mcp"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
**其他客户端**:告知用户 MCP 服务地址,让用户按客户端文档自行配置。
|
||||
|
||||
### 5. 验证与提示
|
||||
|
||||
1. **提示用户重启当前会话** — MCP 配置变更后需重启客户端才能加载新的 MCP 工具
|
||||
2. 重启后调用 `check_login_status` 验证连接正常
|
||||
3. 验证成功 → 引导用户使用 `/xhs-login` 完成扫码登录
|
||||
|
||||
## 环境变量(可选)
|
||||
|
||||
- `XHS_PROXY` — HTTP/HTTPS/SOCKS5 代理地址
|
||||
- `ROD_BROWSER_BIN` — 自定义 Chromium 路径
|
||||
- `HEADLESS` — 无头模式开关
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| Docker 未安装 | 建议安装 Docker 或改用二进制方式 |
|
||||
| 国内拉取镜像慢 | 切换到阿里云镜像源 |
|
||||
| 端口 18060 被占用 | 检查已有进程,或更换端口 |
|
||||
| Chrome 未安装(二进制方式) | 引导安装 Chrome 或改用 Docker 方式 |
|
||||
| 配置写入后工具仍不可用 | 提示重启客户端会话 |
|
||||
| 已有配置但地址错误 | 修正地址并重启 |
|
||||
@@ -1,212 +0,0 @@
|
||||
---
|
||||
name: xhs-content-creator
|
||||
description: |
|
||||
小红书爆款内容创作器。基于知识库中沉淀的爆款逻辑、用户身份信息和场馆资料,自动生成高质量小红书帖子。
|
||||
完整流程:读取 wiki 知识库 → 可选搜索竞品 → 生成内容 → 审核优化 → 沉淀到知识库。
|
||||
|
||||
触发场景(即使用户没有明确说"小红书",只要意图是创作社交媒体内容也应触发):
|
||||
- "帮我写一篇小红书"
|
||||
- "生成小红书内容"
|
||||
- "写篇帖子/笔记"
|
||||
- "创作一篇关于XX的内容"
|
||||
- "帮我写个引流帖"
|
||||
- "出一篇关于XX的文案"
|
||||
- 用户描述了想表达的主题/卖点,期望产出可发布的内容
|
||||
|
||||
不触发:
|
||||
- 纯搜索/拉取小红书数据(用 xiaohongshu skill)
|
||||
- 分析已有笔记质量(用 xiaohongshu-note-analyzer skill)
|
||||
- 知识库的 ingest/query/lint 操作
|
||||
---
|
||||
|
||||
# 小红书爆款内容创作器
|
||||
|
||||
用户只需说出想表达的主题,本 skill 自动完成:知识库调研 → 内容生成 → 质量审核 → 知识库沉淀。
|
||||
|
||||
## 执行流程
|
||||
|
||||
按以下 5 个阶段顺序执行。每个阶段完成后简要告知用户进度。
|
||||
|
||||
---
|
||||
|
||||
### 阶段 1:读取知识库上下文
|
||||
|
||||
这一步的目的是让你充分理解用户的身份、过往内容风格、已沉淀的爆款规律,避免生成泛泛而谈的内容。
|
||||
|
||||
1. 读取项目根目录的 `CLAUDE.md`,了解知识库结构和页面规范
|
||||
2. 读取 `wiki/index.md`,扫描所有已有的 source、topic、entity、idea 页面
|
||||
3. 根据用户本次创作主题,读取相关的 wiki 页面:
|
||||
- `wiki/topics/` 下与主题相关的爆款逻辑分析
|
||||
- `wiki/sources/` 下的历史素材摘要
|
||||
- `wiki/entities/` 下的用户身份、场馆、品牌信息
|
||||
- `wiki/ideas/` 下是否有相关的已有构思
|
||||
- `wiki/meta/` 下的方法论和风格指南
|
||||
|
||||
从这些页面中提取并记住以下关键信息(后续阶段会用到):
|
||||
|
||||
- **用户身份**:职业、资质认证、从业经验
|
||||
- **场馆/品牌信息**:名称、地址、特色、定位
|
||||
- **爆款规律**:标题公式、正文结构模式、标签策略、互动触发技巧
|
||||
- **历史创作**:过往的选题和风格,避免重复
|
||||
|
||||
如果 wiki 中缺少用户身份或场馆信息(比如 entities 目录为空),直接询问用户补充关键信息,并建议后续创建 entity 页沉淀。
|
||||
|
||||
---
|
||||
|
||||
### 阶段 2:确认创作方向
|
||||
|
||||
和用户对齐内容策略,避免写完才发现方向不对。
|
||||
|
||||
根据知识库中的爆款分析(如果有),向用户展示适合本次主题的内容类型选项:
|
||||
|
||||
| 类型 | 特征 | 适合场景 |
|
||||
|---|---|---|
|
||||
| 经验复盘型 | 赞藏评均衡,评论互动强 | 引流获客、建立信任 |
|
||||
| 模板/清单型 | 高赞高藏,天花板高 | 涨粉、扩大曝光 |
|
||||
| 方法论干货型 | 高收藏,同行传播 | 打造行业 IP |
|
||||
| 避坑/对比型 | 痛点驱动,讨论多 | 引发互动、吸引精准客户 |
|
||||
|
||||
让用户选择或确认。如果用户已经明确说了类型(比如"写篇复盘帖"),直接跳过选择。
|
||||
|
||||
同时确认:
|
||||
- 这篇内容的核心卖点/想表达的重点
|
||||
- 目标读者是谁(潜在客户 vs 同行)
|
||||
|
||||
---
|
||||
|
||||
### 阶段 3:生成内容
|
||||
|
||||
这是核心输出阶段。基于阶段 1 的知识库上下文和阶段 2 的方向确认,生成完整帖子。
|
||||
|
||||
#### 标题生成
|
||||
|
||||
从 wiki 中提取的爆款标题公式中选择最适合本次内容类型的公式,生成 2-3 个备选标题。
|
||||
|
||||
标题要求:
|
||||
- 20 字以内
|
||||
- 必须包含核心关键词
|
||||
- 必须有情绪触发点或价值点
|
||||
- 包含地域词(如果是同城引流内容)
|
||||
|
||||
#### 正文生成
|
||||
|
||||
遵循以下结构原则(来自爆款分析的共性规律):
|
||||
|
||||
1. **开头即钩子**:前 2 句制造"跟我有关"的感觉,用故事或痛点切入,不用"大家好我是XX"
|
||||
2. **结构可扫读**:用 emoji 编号(❶❷❸)+ 短段落,不写大段文字
|
||||
3. **有具体案例**:不讲道理讲经历,不说术语说感受
|
||||
4. **真实感 > 专业感**:用第一人称,带入个人经历和真实数据
|
||||
5. **结尾留互动空间**:提问式引导评论,但不用"一键三连"这类硬引导
|
||||
|
||||
正文字数:300-600 字(小红书最佳区间)。
|
||||
|
||||
自动融入用户身份和场馆信息,但要自然 — 品牌名只在结尾出现一次,认证资质作为背景信息融入叙述,不要堆砌。
|
||||
|
||||
#### 标签生成
|
||||
|
||||
15 个左右标签,覆盖四个维度:
|
||||
- 核心词标签(行业 + 细分)
|
||||
- 地域词标签(城市 + 区域 + 地标)
|
||||
- 场景词标签(痛点场景、使用场景)
|
||||
- 泛赛道标签(跨到更大的流量池,如女性创业、实体门店)
|
||||
|
||||
#### 输出格式
|
||||
|
||||
```
|
||||
## 备选标题
|
||||
|
||||
A: [标题A]
|
||||
B: [标题B]
|
||||
C: [标题C]
|
||||
|
||||
推荐:[推荐哪个,为什么]
|
||||
|
||||
## 正文
|
||||
|
||||
[完整正文,可直接复制发布]
|
||||
|
||||
## 标签
|
||||
|
||||
[所有标签,以 # 分隔]
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### 阶段 4:内容审核与优化
|
||||
|
||||
生成初稿后,调用 xiaohongshu-note-analyzer skill 进行 6 维度审核:
|
||||
|
||||
```
|
||||
使用 Skill tool 调用 xiaohongshu-note-analyzer,传入生成的标题和正文
|
||||
```
|
||||
|
||||
审核维度:
|
||||
1. 关键词分析 — 核心词布局、标签优化
|
||||
2. 标题/首段吸引力 — 爆款公式匹配度
|
||||
3. 敏感内容风险 — 违规词、限流风险
|
||||
4. 商业化程度 — 自然度评分
|
||||
5. 互动触发潜力 — 讨论点、收藏价值
|
||||
6. 内容结构 — 排版节奏
|
||||
|
||||
根据审核结果,自动修改有问题的部分:
|
||||
- 🔴 高危敏感词:直接替换
|
||||
- 🟠 中危问题:调整表述
|
||||
- 标题吸引力 < 7/10:重写标题
|
||||
- 自然度 < 7/10:降低商业感
|
||||
- 互动触发缺失:补充结尾互动引导
|
||||
|
||||
将审核报告和最终优化版一并展示给用户。
|
||||
|
||||
---
|
||||
|
||||
### 阶段 5:沉淀到知识库
|
||||
|
||||
用户确认内容满意后(或用户说"就这样"、"可以了"、"保存"),将内容存入知识库。
|
||||
|
||||
1. **创建 idea 页**:保存到 `wiki/ideas/` 目录
|
||||
|
||||
文件名:`xhs-{主题关键词}.md`
|
||||
|
||||
```yaml
|
||||
---
|
||||
type: idea
|
||||
created: YYYY-MM-DD
|
||||
updated: YYYY-MM-DD
|
||||
tags: [相关标签]
|
||||
sources: [引用的 wiki 页面路径]
|
||||
status: ready
|
||||
---
|
||||
```
|
||||
|
||||
页面内容包含:
|
||||
- 最终标题
|
||||
- 完整正文
|
||||
- 标签列表
|
||||
- 审核评分摘要
|
||||
- 创作思路备注(用了哪个标题公式、参考了哪些爆款规律)
|
||||
|
||||
2. **更新 `wiki/index.md`**:在 Ideas 区块添加条目
|
||||
3. **追加 `wiki/log.md`**:`## [YYYY-MM-DD] create | 小红书内容:{标题}`
|
||||
|
||||
---
|
||||
|
||||
## 竞品搜索(可选增强)
|
||||
|
||||
如果用户希望参考竞品(比如说"看看别人怎么写的"、"搜一下类似的"),或者 wiki 中缺少该主题的爆款分析:
|
||||
|
||||
1. 使用 Skill tool 调用 xiaohongshu skill,搜索相关关键词
|
||||
2. 拉取 Top 3-5 的帖子详情
|
||||
3. 快速分析竞品的标题套路、正文结构、互动数据
|
||||
4. 将分析结果临时参考用于生成,并建议用户是否要 ingest 到知识库
|
||||
|
||||
不要每次都自动搜索 — 只在用户要求或知识库中明显缺少相关主题分析时才触发。
|
||||
|
||||
---
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 始终优先使用 wiki 中已沉淀的爆款规律,它们是基于真实数据分析得出的
|
||||
- 内容要有真实感和个人色彩,不要写成通用模板
|
||||
- 认证资质(如斯多特认证)用英文原名更有辨识度(如 STOTT PILATES)
|
||||
- 地址信息放在结尾的 📍 区块,不要散落在正文中
|
||||
- 如果用户只是随口说了个想法还不想深入,先帮 ta 理清思路再动手写
|
||||
41
.claude/skills/xhs-content-plan/SKILL.md
Normal file
41
.claude/skills/xhs-content-plan/SKILL.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
name: xhs-content-plan
|
||||
description: |
|
||||
小红书内容策划助手:搜索分析热门内容和竞品,帮助规划内容方向、选题、标签策略。
|
||||
当用户想做小红书运营规划时使用——内容策划、选题灵感、竞品分析、爆款分析、热门话题研究、怎么做小红书、涨粉策略等。
|
||||
---
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 明确策划需求
|
||||
|
||||
向用户了解:
|
||||
- 目标领域/赛道(如:美妆、旅行、美食)
|
||||
- 策划目的:选题灵感 / 竞品分析 / 热门趋势
|
||||
|
||||
### 2. 搜索分析
|
||||
|
||||
根据需求调用 `search_feeds` 搜索相关内容:
|
||||
- 使用不同关键词多次搜索覆盖领域
|
||||
- 利用 `sort_by` 筛选:最多点赞(爆款)、最新(趋势)
|
||||
|
||||
对高互动笔记,调用 `get_feed_detail` 获取详情,分析:
|
||||
- 标题写法和关键词
|
||||
- 内容结构和篇幅
|
||||
- 话题标签使用
|
||||
- 评论区用户关注点
|
||||
|
||||
如需分析特定博主,调用 `user_profile` 查看其内容风格和数据表现。
|
||||
|
||||
### 3. 输出策划建议
|
||||
|
||||
整理分析结果,为用户提供:
|
||||
- 热门选题方向
|
||||
- 标题参考模板
|
||||
- 推荐话题标签
|
||||
- 内容结构建议
|
||||
|
||||
## 约束
|
||||
|
||||
- 这是只读分析 skill,不执行任何发布或互动操作
|
||||
- 搜索操作需要已登录状态
|
||||
44
.claude/skills/xhs-explore/SKILL.md
Normal file
44
.claude/skills/xhs-explore/SKILL.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
name: xhs-explore
|
||||
description: |
|
||||
浏览小红书推荐流、查看笔记详情和评论。
|
||||
当用户想看推荐内容、刷首页、查看某条笔记的详情/评论、或已有 feed_id 想获取完整内容时使用。
|
||||
---
|
||||
|
||||
## 输入判断
|
||||
|
||||
- 用户想浏览推荐 → 步骤 1
|
||||
- 用户提供了 feed_id → 步骤 2
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 获取推荐流
|
||||
|
||||
调用 `list_feeds`(无参数),返回首页推荐笔记列表。
|
||||
|
||||
展示每条笔记的标题、作者、互动数据,附带 `feed_id` 和 `xsec_token`。
|
||||
|
||||
### 2. 查看笔记详情
|
||||
|
||||
调用 `get_feed_detail`:
|
||||
- `feed_id`(string,必填)
|
||||
- `xsec_token`(string,必填)
|
||||
- `load_all_comments`(bool,可选,默认 false,仅返回前 10 条评论)
|
||||
- `limit`(int,可选,load_all_comments=true 时生效,默认 20)
|
||||
- `click_more_replies`(bool,可选,是否展开二级回复)
|
||||
- `reply_limit`(int,可选,跳过回复数超过此值的评论,默认 10)
|
||||
- `scroll_speed`(string,可选:slow | normal | fast)
|
||||
|
||||
展示:笔记内容、图片、作者信息、互动数据、评论列表。
|
||||
|
||||
提示用户可以:
|
||||
- 点赞/收藏(使用 xhs-interact)
|
||||
- 发表评论(使用 xhs-interact)
|
||||
- 查看作者主页(使用 xhs-profile)
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| 未登录 | 引导使用 xhs-login |
|
||||
| 笔记已删除或不可见 | 告知用户该笔记无法访问 |
|
||||
70
.claude/skills/xhs-interact/SKILL.md
Normal file
70
.claude/skills/xhs-interact/SKILL.md
Normal file
@@ -0,0 +1,70 @@
|
||||
---
|
||||
name: xhs-interact
|
||||
description: |
|
||||
对小红书笔记进行互动:点赞/取消点赞、收藏/取消收藏、发表评论、回复评论。
|
||||
当用户想对小红书笔记进行互动时使用——赞一下、收藏一下、留个评论、回复某条评论、取消点赞、取消收藏等。
|
||||
---
|
||||
|
||||
## 输入判断
|
||||
|
||||
根据用户意图路由:
|
||||
- 点赞/取消点赞 → 点赞流程
|
||||
- 收藏/取消收藏 → 收藏流程
|
||||
- 发表评论 → 评论流程
|
||||
- 回复评论 → 回复流程
|
||||
|
||||
## 约束
|
||||
|
||||
- 评论和回复执行前展示内容让用户确认(评论以用户身份公开发表,无法撤回)
|
||||
- 点赞和收藏可直接执行(操作可逆,MCP 服务有幂等处理)
|
||||
- 所有操作都需要 `feed_id` + `xsec_token`(来自搜索或详情结果,编造会导致报错)
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 点赞
|
||||
|
||||
调用 `like_feed`:
|
||||
- `feed_id`(string,必填)
|
||||
- `xsec_token`(string,必填)
|
||||
- `unlike`(bool,可选)— true 取消点赞,默认 false 点赞
|
||||
|
||||
已点赞时再点赞会自动跳过,反之同理。
|
||||
|
||||
### 收藏
|
||||
|
||||
调用 `favorite_feed`:
|
||||
- `feed_id`(string,必填)
|
||||
- `xsec_token`(string,必填)
|
||||
- `unfavorite`(bool,可选)— true 取消收藏,默认 false 收藏
|
||||
|
||||
已收藏时再收藏会自动跳过,反之同理。
|
||||
|
||||
### 发表评论
|
||||
|
||||
调用 `post_comment_to_feed`:
|
||||
- `feed_id`(string,必填)
|
||||
- `xsec_token`(string,必填)
|
||||
- `content`(string,必填)— 评论内容
|
||||
|
||||
发送前展示评论内容让用户确认。
|
||||
|
||||
### 回复评论
|
||||
|
||||
调用 `reply_comment_in_feed`:
|
||||
- `feed_id`(string,必填)
|
||||
- `xsec_token`(string,必填)
|
||||
- `comment_id`(string,可选)— 目标评论 ID
|
||||
- `user_id`(string,可选)— 目标评论作者 ID
|
||||
- `content`(string,必填)— 回复内容
|
||||
|
||||
`comment_id` 和 `user_id` 至少提供一个。
|
||||
|
||||
发送前展示回复内容让用户确认。
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| 未登录 | 引导使用 xhs-login |
|
||||
| 缺少 feed_id/xsec_token | 提示先搜索或浏览获取笔记信息 |
|
||||
| 笔记不可评论 | 告知用户该笔记已关闭评论 |
|
||||
55
.claude/skills/xhs-login/SKILL.md
Normal file
55
.claude/skills/xhs-login/SKILL.md
Normal file
@@ -0,0 +1,55 @@
|
||||
---
|
||||
name: xhs-login
|
||||
description: |
|
||||
管理小红书登录状态:检查是否已登录、二维码扫码登录、重置登录切换账号。
|
||||
当用户提到登录、扫码、账号、切换账号、退出登录、登录状态检查,或其他 skill 报告"未登录"需要先登录时使用。
|
||||
---
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 检查登录状态
|
||||
|
||||
调用 `check_login_status`(无参数),返回是否已登录及用户名。
|
||||
|
||||
- 已登录 → 告知用户当前登录账号
|
||||
- 未登录 → 进入步骤 2
|
||||
|
||||
### 2. 扫码登录
|
||||
|
||||
调用 `get_login_qrcode`(无参数)。MCP 工具返回两部分内容:
|
||||
- 文本:超时提示(含截止时间)
|
||||
- 图片:PNG 格式二维码(MCP image content type,Base64 编码)
|
||||
|
||||
**展示二维码**:MCP 返回的图片会通过客户端渲染给用户。如果客户端无法直接展示图片(如纯文本终端),则将 Base64 数据保存为临时 PNG 文件,告知用户文件路径让其手动打开:
|
||||
```bash
|
||||
# fallback: 保存二维码到临时文件
|
||||
echo "<base64_data>" | base64 -d > /tmp/xhs-qrcode.png
|
||||
open /tmp/xhs-qrcode.png # macOS
|
||||
xdg-open /tmp/xhs-qrcode.png # Linux
|
||||
```
|
||||
|
||||
提示用户:
|
||||
- 打开小红书 App 扫描二维码
|
||||
- 二维码有效期有限,过期需重新获取
|
||||
|
||||
扫码完成后,调用 `check_login_status` 确认登录成功。
|
||||
|
||||
### 3. 重新登录 / 切换账号
|
||||
|
||||
当用户要求重新登录或切换账号时:
|
||||
|
||||
1. 调用 `delete_cookies`(⚠️ 需用户确认)— 清除当前登录状态
|
||||
2. 调用 `get_login_qrcode` — 获取新二维码
|
||||
3. 引导用户扫码
|
||||
|
||||
## 约束
|
||||
|
||||
- `delete_cookies` 会清除登录状态,执行前必须确认
|
||||
- 登录需要用户手动用手机 App 扫码,无法自动完成
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| MCP 工具不可用 | 引导用户使用 `/setup-xhs-mcp` 完成部署和连接配置 |
|
||||
| 二维码超时 | 重新调用 `get_login_qrcode` |
|
||||
29
.claude/skills/xhs-profile/SKILL.md
Normal file
29
.claude/skills/xhs-profile/SKILL.md
Normal file
@@ -0,0 +1,29 @@
|
||||
---
|
||||
name: xhs-profile
|
||||
description: |
|
||||
查看小红书用户主页:基本信息、粉丝/关注/获赞数据、发布的笔记列表。
|
||||
当用户想查看某个博主、作者、用户的主页信息和作品时使用。
|
||||
---
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 获取用户信息
|
||||
|
||||
调用 `user_profile`:
|
||||
- `user_id`(string,必填)— 用户 ID(来自笔记详情或搜索结果)
|
||||
- `xsec_token`(string,必填)
|
||||
|
||||
### 2. 展示结果
|
||||
|
||||
- 基本信息:昵称、头像、简介、性别、地区
|
||||
- 数据:粉丝数、关注数、获赞与收藏数
|
||||
- 最近发布的笔记列表(含 feed_id 和 xsec_token)
|
||||
|
||||
提示用户可以查看某条笔记详情或进行互动。
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| 未登录 | 引导使用 xhs-login |
|
||||
| 用户不存在 | 告知用户该主页无法访问 |
|
||||
44
.claude/skills/xhs-search/SKILL.md
Normal file
44
.claude/skills/xhs-search/SKILL.md
Normal file
@@ -0,0 +1,44 @@
|
||||
---
|
||||
name: xhs-search
|
||||
argument-hint: "[搜索关键词]"
|
||||
description: |
|
||||
搜索小红书笔记,支持关键词搜索和多维度筛选(排序、内容类型、时间范围、位置等)。
|
||||
当用户想在小红书上搜索、查找内容时使用——包括搜笔记、找攻略、看看小红书上有没有某某内容、搜一下、查一查等场景。
|
||||
---
|
||||
|
||||
## 执行流程
|
||||
|
||||
### 1. 确认搜索条件
|
||||
|
||||
从用户输入中提取:
|
||||
- `keyword`(必填)— 搜索关键词
|
||||
- `filters`(可选)— 筛选条件
|
||||
|
||||
### 2. 调用搜索
|
||||
|
||||
调用 `search_feeds`:
|
||||
- `keyword`(string,必填)
|
||||
- `filters`(object,可选):
|
||||
- `sort_by`:综合 | 最新 | 最多点赞 | 最多评论 | 最多收藏
|
||||
- `note_type`:不限 | 视频 | 图文
|
||||
- `publish_time`:不限 | 一天内 | 一周内 | 半年内
|
||||
- `search_scope`:不限 | 已看过 | 未看过 | 已关注
|
||||
- `location`:不限 | 同城 | 附近
|
||||
|
||||
### 3. 展示结果
|
||||
|
||||
将搜索结果整理为列表展示,每条包含:
|
||||
- 标题、作者
|
||||
- 点赞数、评论数、收藏数
|
||||
- `feed_id` 和 `xsec_token`(后续操作需要)
|
||||
|
||||
提示用户可以:
|
||||
- 查看某条笔记详情(使用 xhs-explore)
|
||||
- 对笔记进行互动(使用 xhs-interact)
|
||||
|
||||
## 失败处理
|
||||
|
||||
| 场景 | 处理 |
|
||||
|---|---|
|
||||
| 未登录 | 引导使用 xhs-login 登录 |
|
||||
| 无搜索结果 | 建议调整关键词或筛选条件 |
|
||||
@@ -1 +0,0 @@
|
||||
../../.agents/skills/xiaohongshu
|
||||
@@ -1 +0,0 @@
|
||||
../../.agents/skills/xiaohongshu-note-analyzer
|
||||
Reference in New Issue
Block a user