📕 小红书发布助手
核心能力:文案创作(标题+正文+封面图)和笔记发布(图文/视频)
支持三种笔记格式:
- 1. 📷 纯封面图 — AI 生成单张封面图 + 正文(最常用)
- 🖼️ 知识卡片 — 生成精美知识卡片 + 正文(适合教程/长文)
- 🎬 视频笔记 — AI 生成视频 + 添加字幕 + 正文(适合动态展示)
一、完整发布流程
CODEBLOCK0
关键确认节点(AI 执行重点):
- - ① 询问主题 — 如果用户未提供主题
- ② 笔记类型 — 纯封面图/知识卡片/视频笔记
- ③ 视频流程 — 视频笔记专用(内部包含多个步骤)
- ④ 内容确认 — 最终确认所有内容(标题+正文+封面/视频)
- ⑤ 发布流程 — 调用小红书 MCP 发布
- ⑥ 登录流程 — 发布失败时扫码登录
🔴 内容禁忌(重要)
⚠️ 笔记内容禁止出现以下关键词!
禁止关键词:
- - ❌ "小红书"
- ❌ "xhs"、"XHS"
- ❌ "红书"
- ❌ xhs 前缀的 skill 名称(如 xhs-publish、xhs-auto-reply、xhs-post-monitor 等)
原因:
- - 小红书平台禁止自动发布
- 笔记中出现这些关键词可能被判定为违规
- 避免触发平台风控
替代方案:
- - "小红书" → "这里"、"这个平台"、"某社交平台"
- 如需举例 skill,使用其他热门 skill(如 weather、github、obsidian)
检查时机:
- - 生成正文后,自动检查是否包含禁忌词
- 如有,自动替换后再展示给用户
🔴 飞书图片发送规则(最重要)
⚠️ 永远不要发路径!永远要发图片!
正确方式:
CODEBLOCK1
✅ 永远用 media 参数发送图片,✅ 永远从 /root/.openclaw/media/inbound/ 目录发送
❌ 所有其他方式都不行:
- - ❌ 直接发路径字符串 → 用户看到路径
- ❌ 用
message 参数发路径 → 用户看到路径 - ❌ Base64 编码 → 用户收不到
- ❌ file_token → 用户收不到
📝 文案创作
2.1 第一步:确认主题(如需要)
⚠️ 智能判断是否需要询问主题!
判断规则:
- 1. 用户已提供主题(如「帮我发个小红书,关于 OpenClaw」)→ 直接进入第二步
- 用户未提供主题(如「帮我发个小红书」)→ 询问主题
询问主题的提示:
请选择主题类型:
- 1. 📱 产品/工具分享 — 分享你使用的某个产品或工具
- 📖 教程/攻略 — 教别人如何做某件事
- 🌅 日常分享 — 分享日常生活、旅行、美食等
- 🎁 好物推荐 — 推荐你觉得好用的东西
2.2 第二步:确认笔记类型和封面方式
⚠️ 用户确认主题后,询问笔记类型和封面方式!
请选择笔记类型:
- 1. 📷 纯封面图 — AI 生成单张封面图 + 正文(最常用,适合分享/种草)
- 🖼️ 知识卡片 — 生成精美知识卡片 + 正文(适合教程/长文)
- 🎬 视频笔记 — AI 生成视频 + 正文(适合动态展示/教程)
用户选择纯封面图后,询问封面方式:
请选择封面生成方式:
- 1. 🎨 AI 模型生图 — 使用 AI 模型生成封面图(需要 API Key)
- 📝 MD2Card 一句话封面 — 输入一句话,自动生成精美封面(支持关键字标注)(推荐)
用户选择知识卡片或视频笔记后,直接进入生成流程。
2.3 第三步:生成内容
⚠️ 不同笔记类型的生成流程不同!
📷 纯封面图 / 🖼️ 知识卡片
并行生成,一次性确认:
- 1. 生成 5 个标题
- 生成正文(600-800字)
- 生成知识卡片内容(仅知识卡片,1500-2000字)
- 生成封面图
- 生成知识卡片图(仅知识卡片)
- 一次性发送给用户确认
🎬 视频笔记
分步确认,避免浪费资源:
- 1. 生成标题+正文(200-300字)→ 用户确认
- 询问视频风格(5个选项)→ 用户选择
- 生成分镜脚本(根据正文拆分3-6个镜头)→ 用户确认
- 生成视频片段(每个镜头生成视频)
- 音画同步校验(配音时长 vs 视频时长)
- 发送最终确认(标题+正文+视频预览)
⚠️ 视频笔记不需要生成封面图! 小红书会自动从视频中截取。
📷 纯封面图 / 🖼️ 知识卡片生成流程
自动执行流程(每步完成后发送进度提示):
- 1. 生成标题:自动生成 5 个标题,默认选择第一个
- 发送进度: INLINECODE3
- 2. 生成正文:根据主题生成 600-800 字正文
- 发送进度: INLINECODE4
- 3. 生成知识卡片内容(仅知识卡片类型):2000-3000 字
- 发送进度: INLINECODE5
- 4. 生成封面图:根据类型生成
- 纯封面图:AI 模型生图
- 知识卡片:MD2Card API 生成封面
- 视频笔记:AI 生成视频
- 发送进度: INLINECODE6
- 5. 生成知识卡片图(仅知识卡片类型):使用 MD2Card MCP
- 发送进度: INLINECODE7
生成完成后,一次性发送给用户确认:
📝 笔记内容已生成!
标题(默认第一个):
- 1. 标题1
- 标题2
- 标题3
- 标题4
- 标题5
正文:
[正文内容]
封面:[图片]
是否满意?
- 1. 满意,直接发布
- 换个标题
- 重新生成正文
- 重新生成封面
- 全部重新生成
2.4 标题生成规则
优先使用当前对话模型,参考 references/title-guide.md 生成 5 个不同风格的标题。
核心要求:
- 1. 每个标题使用不同风格
- 20 字以内
- 含 1-2 个 emoji
- 禁用平台禁忌词
5 种标题风格:
- 1. 数字悬念型:【3个方法让你秒懂xxx】
- 情感共鸣型:【谁懂啊!这个方法太绝了!】
- 结果导向型:【跟着做,7天搞定xxx】
- 反差对比型:【从xxx到xxx,我只做了这件事】
- 价值宣言型:【2025必学技能,xxx让你更厉害】
2.5 正文生成规则
优先使用当前对话模型,参考 references/content-guide.md。
字数要求:
| 笔记类型 | 正文字数 | 知识卡片文字 | 配音文案 | 说明 |
|---|
| 📷 纯封面图 | 600-800 字 | - | - | 简洁总结 |
| 🖼️ 知识卡片 |
600-800 字 |
2000-3000 字 | - | 正文简洁,知识卡片内容更丰富 |
| 🎬 视频笔记 | 200-300 字 | - |
与正文一致 | 正文即配音文案 |
知识卡片字数说明:
- - 正文(600-800字):发布时显示的正文,简洁总结
- 知识卡片文字(1500-2000字):用于生成 MD2Card 知识卡片的内容,比正文更丰富、更详细
视频笔记字数说明:
- - 正文(200-300字):发布时显示的正文,同时也是配音文案的内容
- 配音文案:与正文内容一致,逐字对应(可微调语气,但核心内容一致)
格式要求:
- 1. 小标题:加合适的图标(如 💡、🔧、📚、🎯 等)
- 有顺序的内容:加数字图标(如 1️⃣、2️⃣、3️⃣ 或 ①②③)
- 分段清晰:段落之间用空行分隔
三、封面生成
3.1 AI 模型生图
适用场景:需要个性化、创意性强的封面图
前置条件:需要配置 AI 生图 API Key(Doubao/Hunyuan)
自动执行流程:
- 1. 生成英文 Prompt:根据文案主题自动生成
- 调用 AI 生图:优先使用 Doubao(豆包)API
- 输出封面图:1080x1080 正方形
Prompt 模板:
CODEBLOCK2
生图调用示例:
CODEBLOCK3
3.2 MD2Card 一句话封面
适用场景:快速生成精美封面,支持关键字标注
特点:
- - 纵向小红书风格封面
- 支持关键字高亮标注
- 多种模板可选
自动执行流程:
- 1. 生成封面文案:根据标题生成一句话描述
- 调用 MD2Card API:生成封面图片
- 下载图片:保存到本地
封面文案生成规则:
- - 一句话概括主题(15-30字)
- 可添加副标题(如:3分钟看懂 | 实用技巧 | 效率翻倍)
- 突出核心价值点
示例:
CODEBLOCK4
⚠️ MD2Card API 调用(推荐):
CODEBLOCK5
参数说明:
| 参数 | 类型 | 说明 |
|---|
| INLINECODE8 | string | 封面文字(支持换行符 \n) |
| INLINECODE9 |
string | 关键词(用于高亮) |
|
count | number | 生成数量(1-3) |
返回值说明:
- -
images:图片数组(最多3张) - INLINECODE12 :图片下载链接
- INLINECODE13 :消耗积分(通常2分)
四、知识卡片生成(MD2Card MCP)
⚠️ 知识卡片需要生成封面 + 知识卡片内容!
封面生成位置:已在「三、封面生成」章节的「3.2 MD2Card 一句话封面」中完成
本章只负责生成知识卡片内容(MD2Card MCP)
💰 付费说明(重要)
MD2Card 知识卡片是付费服务!
约
0.1 元/张 |
充值地址:https://md2card.cn/zh/login
积分不足时的处理:
- 1. 检测方法:调用 MD2Card API 时返回 402 错误或"积分不足"提示
- 处理流程:
- 告知用户当前积分已用完
- 提供充值地址:https://md2card.cn/zh/login
- 建议用户改用「📷 纯封面图」模式(封面 API 可能还有额度)
检测积分的 API 调用:
CODEBLOCK6
错误提示模板:
⚠️ MD2Card 积分不足
知识卡片生成需要 MD2Card 积分(约 0.1 元/张)。
当前账户积分已用完,请充值后继续:
👉 充值地址:https://md2card.cn/zh/login
或者改用「📷 纯封面图」模式发布笔记?
自动执行流程:
- 1. 生成封面:使用 MD2Card API 生成封面图(已在 3.2 章节完成)
- 转换格式:将知识卡片文字(1500-2000字)转换为 Markdown 格式
- 生成知识卡片:使用 MD2Card MCP 生成知识卡片图片
- 自动拆分:MCP 会自动将长内容拆分为多张卡片图片
- 发送确认:将所有图片发送给用户确认(封面图 + 多张知识卡片图片)
⚠️ 封面生成位置:封面已在「三、封面生成」章节生成,这里只生成知识卡片内容!
🔴 重要:知识卡片必须使用 API 方式,并设置自动拆分参数!
关键参数:splitMode: "autoSplit"(不是 "auto",不是 "noSplit")
完整 API 调用示例:
CODEBLOCK7
入参 JSON 示例:
CODEBLOCK8
参数说明:
| 参数 | 值 | 说明 |
|---|
| INLINECODE17 | 字符串 | Markdown 格式的知识卡片内容(1500-2000字) |
| INLINECODE18 |
"小红书" | 卡片类型,使用小红书尺寸(440x586) |
|
theme |
"apple-notes" | 主题风格(推荐苹果备忘录) |
|
splitMode |
"autoSplit" |
🔴 关键!自动拆分参数,必须是这个值! |
|
width | 440 | 卡片宽度(小红书默认) |
|
height | 586 | 卡片高度(小红书默认) |
返回结果示例(多张图片):
CODEBLOCK9
⚠️ 消耗积分:每张卡片消耗 1 积分(10 张卡片 = 10 积分)
⚠️ 图片尺寸:自动拆分后的卡片尺寸为 880 x 1172(小红书标准尺寸)
⚠️ 用户确认时必须展示所有拆分后的图片!
CODEBLOCK10
4.1 生成知识卡片内容(MD2Card MCP)
⚠️ 优先使用 MD2Card MCP 生成知识卡片!
前置条件:
- 1. 安装 MCP 服务: INLINECODE26
- 申请 API 密钥:https://md2card.cn/zh/login
- 配置环境变量: INLINECODE27
检测 MCP 是否已安装:
CODEBLOCK11
如果 MCP 已配置,使用 MCP 生成:
CODEBLOCK12
MCP 调用示例(JSON-RPC 2.0 批量请求):
CODEBLOCK13
MCP 参数说明:
| 参数 | 类型 | 说明 |
|---|
| INLINECODE28 | string | Markdown 格式内容 |
| INLINECODE29 |
string | 卡片类型:小红书、正方形、手机海报、A4纸打印 |
|
theme | string | 主题风格(见下方列表) |
|
themeMode | string | 主题模式(可选) |
可用主题列表(theme):
- -
apple-notes - 苹果备忘录(推荐) - INLINECODE33 - 紫色小红书
- INLINECODE34 - 暗黑科技
- INLINECODE35 - 玻璃拟态
- INLINECODE36 - 简约高级灰
- INLINECODE37 - 梦幻渐变
- INLINECODE38 - 复古打字机
- 更多主题:见 MCP 文档
返回结果格式:
CODEBLOCK14
下载所有拆分后的图片:
CODEBLOCK15
⚠️ 注意:每张卡片消耗 1 积分,下载前确认积分充足!
如果 MCP 未配置,提示用户安装(必装):
⚠️ MD2Card MCP 未安装!
MD2Card MCP 是知识卡片的必装组件,请先安装:
安装步骤:
- 1. 访问 https://md2card.cn/zh/login 申请 API 密钥
- 复制 API 密钥
- 发送给我,格式: INLINECODE39
- 我会自动配置环境变量
配置完成后,即可生成知识卡片。
五、视频生成
⚠️ 视频笔记采用多镜头方式,需要用户多次确认!
⚠️ 视频笔记不需要生成封面图! 小红书会自动从视频中截取。
5.1 视频风格选择
⚠️ 用户确认内容后,询问视频风格!
5 个视频风格选项:
| 序号 | 风格 | 描述 | 适合场景 |
|---|
| 1 | 🎨 卡通可爱 | 卡通角色,明亮色彩,轻松有趣 | 日常分享、趣味内容 |
| 2 |
🔬
科技简约 | 简洁线条,科技蓝,专业感 | 技术讲解、工具介绍 |
| 3 | 🌙
暗黑科技 | 深色背景,霓虹光效,未来感 | 高端产品、极客内容 |
| 4 | 🌈
梦幻渐变 | 柔和渐变,温暖色调,治愈系 | 情感分享、生活记录 |
| 5 | 📰
商务专业 | 简洁大气,商务配色,正式感 | 职场干货、商业内容 |
询问提示:
🎬 请选择视频风格:
- 1. 🎨 卡通可爱 — 卡通角色,明亮色彩,轻松有趣
- 🔬 科技简约 — 简洁线条,科技蓝,专业感(推荐)
- 🌙 暗黑科技 — 深色背景,霓虹光效,未来感
- 🌈 梦幻渐变 — 柔和渐变,温暖色调,治愈系
- 📰 商务专业 — 简洁大气,商务配色,正式感
请回复数字 1-5,或直接说风格名称。
默认风格:如果用户跳过或不确定,默认使用「科技简约」
5.2 第二步:生成分镜脚本和配音文案
⚠️ 用户选择风格后,生成分镜脚本 + 配音文案!
🔴 文案-语音-视频三同步规则(最重要!)
三要素必须完全一致:
- 1. 文案:正文内容(200-300字)
- 语音:配音文案(逐字对应文案)
- 视频:画面内容(视觉呈现文案描述的场景)
同步要求:
- - 文案说"让AI帮你整理文件,它说无法访问" → 配音必须读这句话 → 视频必须展示这个场景
- 禁止:文案说A、配音说B、视频展示C
- 强制:三者内容必须一一对应
分镜规则:
- 1. 文案拆分:将正文内容按段落/句子拆分为 3-6 个镜头
- 配音生成:每个镜头的配音文案 = 对应的正文片段(可微调语气,但核心内容一致)
- 视频生成:视频 Prompt 必须准确描述配音文案的场景
- 每个镜头 3-6 秒
- 总时长 15-35 秒
分镜脚本模板:
CODEBLOCK16
Prompt 生成规则(根据风格调整):
| 风格 | Prompt 关键词 |
|---|
| 卡通可爱 | INLINECODE40 |
| 科技简约 |
clean minimal design, tech blue, simple lines, professional, modern UI |
| 暗黑科技 |
dark background, neon glow, cyberpunk, futuristic, holographic |
| 梦幻渐变 |
soft gradient, pastel colors, dreamy, warm tones, ethereal |
| 商务专业 |
clean corporate design, professional colors, business style, formal |
5.3 第三步:发送分镜确认
⚠️ 生成分镜后,必须发送给用户确认!
确认提示:
🎬 分镜脚本已生成!
视频风格:[用户选择的风格]
总时长:约 XX 秒
镜头 1(0-5秒)
镜头 2(5-10秒)
...(所有镜头)
分镜满意吗?
- 1. ✅ 满意,开始生成视频
- 调整配音文案
- 调整画面风格
- 重新生成分镜
5.4 第四步:生成视频
⚠️ 用户确认分镜后,才开始生成视频!
生成流程:
- 1. 生成配音:使用 Edge TTS 生成完整配音
- 生成视频片段:为每个镜头生成视频(带进度反馈)
- 合并视频:将所有片段合并
- 添加配音和字幕:合成最终视频
进度反馈:
🎬 视频生成中...
✅ 1/5 配音生成完成
✅ 2/5 视频片段 1/4 完成
✅ 3/5 视频片段 2/4 完成
...
5.5 视频生成 API
豆包 Seedance API(当前使用):
CODEBLOCK17
环境变量(存储在 /etc/environment):
CODEBLOCK18
付费说明:约 0.1 元/5秒视频
充值入口:https://console.volcengine.com/finance/recharge
5.6 配音生成(Edge TTS)
使用 Edge TTS 生成中文配音:
CODEBLOCK19
可用中文语音:
- -
zh-CN-XiaoxiaoNeural — 温柔女声(推荐) - INLINECODE46 — 阳光男声
- INLINECODE47 — 专业男声
5.7 视频合并和字幕
合并视频片段:
CODEBLOCK20
添加配音:
CODEBLOCK21
添加字幕:
CODEBLOCK22
5.8 音画同步校验(重要!)
⚠️ 视频生成完成后,必须进行音画同步校验!通过后才能发送给用户确认!
校验步骤:
CODEBLOCK23
调整方案:
CODEBLOCK24
示例:
- - 视频 25 秒,配音 32 秒
- 速度比 = 25/32 ≈ 0.78
- setpts = 1/0.78 ≈ 1.28
- 命令: INLINECODE48
⚠️ 校验不通过时:
- 1. 自动调整视频速度
- 重新校验
- 如果仍不通过,提示用户并询问是否继续
]
}
---
## 六、发布流程
**⚠️ 用户确认内容后,立即发布,不需要询问!**
### 6.1 立即发布
#### 前置检查
**⚠️ 小红书 MCP 是必装项,无法发布笔记!**
执行环境检查:
bash
bash {baseDir}/check_env.sh
**返回码说明**:
| 返回码 | 状态 | 处理方式 |
|-------|------|---------|
| `0` | ✅ 正常已登录 | 继续发布 |
| `1` | ❌ 未安装 MCP | 告知用户必须安装(见「八、安装 MCP 服务」)|
| `2` | ⚠️ 未登录 | 进入「七、登录流程」|
**如果返回码为 1(未安装),提示用户:**
> ⚠️ **小红书 MCP 未安装,无法发布笔记!**
>
> 小红书 MCP 是发布笔记的**必装组件**,请先安装:
>
> **安装步骤:**
> 1. 安装依赖:`sudo apt install -y xvfb imagemagick zbar-tools xdotool fonts-noto-cjk`
> 2. 下载 MCP:`cd ~/xiaohongshu-mcp && wget https://github.com/xpzouying/xiaohongshu-mcp/releases/latest/download/xiaohongshu-mcp-linux-amd64.tar.gz`
> 3. 解压并启动:`tar xzf xiaohongshu-mcp-linux-amd64.tar.gz && DISPLAY=:99 nohup ./xiaohongshu-mcp-linux-amd64 -port :18060 > mcp.log 2>&1 &`
>
> 详细安装步骤见「八、安装 MCP 服务」
#### 发布纯封面图笔记
python
{
"name": "publish_content",
"arguments": {
"title": "标题",
"content": "正文",
"images": ["/path/to/cover.jpg"],
"tags": ["标签1", "标签2"]
}
}
#### 发布知识卡片笔记
python
{
"name": "publish_content",
"arguments": {
"title": "标题",
"content": "正文",
"images": ["/path/to/cover.jpg", "/path/to/content.jpg"],
"tags": ["标签1", "标签2"]
}
}
#### 发布视频笔记
python
{
"name": "publish
withvideo",
"arguments": {
"title": "标题",
"content": "正文",
"video": "/path/to/video.mp4"
}
}
#### 超时处理
**MCP 发布超时设置为 180 秒(3 分钟)**
**发布失败自动重试机制**:
1. 第一次发布:调用 MCP 发布笔记
2. 如果失败:自动重试 1 次
3. 如果仍然失败:自动获取登录二维码
---
## 七、登录流程
### 7.1 扫码登录
**⚠️ 小红书需要扫码两次**:
1. 第一次:验证账号
2. 第二次:确认登录设备
**获取二维码**:
bash
MCP_URL="http://localhost:18060/mcp"
SESSIONID=$(curl -s -D /tmp/headers -X POST "$MCPURL" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}},"id":1}' \
> /dev/null && grep -i 'Mcp-Session-Id' /tmp/headers | awk '{print $2}')
curl -s --max-time 30 -X POST "$MCPURL" -H "Mcp-Session-Id: $SESSIONID" \
-d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"getloginqrcode","arguments":{}},"id":2}'
---
### 7.2 Cookie 登录
当扫码登录失败时使用。
**获取 Cookie**:
1. 打开浏览器,访问 https://www.xiaohongshu.com 并登录
2. 按 F12 → Application → Cookies
3. 复制 Cookie 值:`a1`、`web_session`、`websectiga`、`id_token`
**更新 Cookie 文件**:
bash
nano ~/xiaohongshu-mcp/cookies.json
**重启 MCP 服务**:
bash
pkill -f xiaohongshu-mcp && sleep 3
cd ~/xiaohongshu-mcp && export DISPLAY=:99
nohup ./xiaohongshu-mcp-linux-amd64 -port :18060 > mcp.log 2>&1 &
---
## 八、安装 MCP 服务
### 8.1 安装依赖
bash
sudo apt update && sudo apt install -y xvfb imagemagick zbar-tools xdotool fonts-noto-cjk
### 8.2 启动虚拟显示
bash
Xvfb :99 -screen 0 1920x1080x24 &
### 8.3 下载并启动 MCP
bash
mkdir -p ~/xiaohongshu-mcp && cd ~/xiaohongshu-mcp
wget https://github.com/xpzouying/xiaohongshu-mcp/releases/latest/download/xiaohongshu-mcp-linux-amd64.tar.gz
tar xzf xiaohongshu-mcp-linux-amd64.tar.gz
chmod +x xiaohongshu-*
export RODDEFAULTTIMEOUT=10m
DISPLAY=:99 nohup ./xiaohongshu-mcp-linux-amd64 -port :18060 > mcp.log 2>&1 &
---
## 🔴 强制规则
### ✅ 正确做法
图片/视频必须使用服务器本地绝对路径:
python
"images": ["{baseDir}/media/inbound/cover.jpg"]
"video": "{baseDir}/media/inbound/video.mp4"
### ❌ 错误做法
不要用 base64 编码(会导致上传超时):
python
"images": ["data:image/jpeg;base64,..."]
**⚠️ 永远用文件路径,永远不要用 base64!**
---
## 九、故障排查
### 9.1 诊断命令
bash
pgrep -f xiaohongshu-mcp # MCP 是否运行
pgrep -x Xvfb # Xvfb 是否运行
tail -20 ~/xiaohongshu-mcp/mcp.log # 查看日志
lsof -i :18060 # 检查端口
``
### 9.2 常见错误
**1. 发布失败(已重试)**
- 原因:登录状态失效
- 解决:自动获取二维码,扫码重新登录
**2. context deadline exceeded
**
- 原因:rod 库超时
- 解决:设置 ROD
DEFAULTTIMEOUT=10m`
3. 图片上传超时
- - 原因:使用 base64 编码
- 解决:改用文件路径
十、参考文档