用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/Leoyishou/personal-ai-company --skill publish-to-xiaohongshu命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | publish-to-xiaohongshu |
| description | 基于小红书 MCP 服务发布图文和视频内容到小红书。支持发布图文笔记、视频笔记,自动验证参数,提供内容优化建议。适用于内容创作、营销推广、社交媒体管理等场景 |
| allowed-tools | * |
| skills | xhs-cover |
使用小红书 MCP (Model Context Protocol) 服务快速发布内容到小红书平台。
两种发布方式(优先 REST API):
curl 调用 http://localhost:18060/api/v1/publishpublish_content / publish_with_videoCRITICAL: 禁止重复发布!每次发布请求只能调用一次。
- 禁止在同一次用户请求中多次发布
- 如果发布已成功,不要再次尝试发布
为什么优先 REST API?
确保小红书 MCP 服务已启动:
# 克隆项目
git clone https://github.com/xpzouying/xiaohongshu-mcp
cd xiaohongshu-mcp
# 启动服务(默认无头模式)
go run .
# 或使用浏览器界面
go run . -headless=false
服务将运行在 http://localhost:18060/mcp
claude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcp
首次使用需要登录小红书账号。在 Claude Code 中说:
请帮我登录小红书
Claude 会调用 xiaohongshu_login MCP 工具打开登录界面。
发布图文内容:
帮我发一篇小红书笔记:
标题:我的日常穿搭分享
内容:今天的穿搭灵感来自...(1000字以内)
图片:/path/to/image1.jpg, /path/to/image2.jpg
发布视频内容:
帮我发一个小红书视频:
标题:美食教程
内容:教你做简单又美味的...
视频:/path/to/video.mp4
使用 publish_content MCP 工具发布图文内容。
参数要求:
title (必需): 标题,最多 20 个字符content (必需): 正文内容,最多 1000 个字符,不要包含 #标签tags (可选): 话题标签数组,如 ["美食", "旅行"],不要加 # 符号images (必需): 图片列表,支持:
/Users/xxx/image.jpg示例:
{
"title": "我的日常穿搭",
"content": "今天分享一套简约风穿搭...",
"tags": ["穿搭", "日常", "简约风"],
"images": [
"/Users/liuyishou/Pictures/outfit1.jpg",
"/Users/liuyishou/Pictures/outfit2.jpg"
]
}
使用 publish_with_video MCP 工具发布视频内容。
参数要求:
title (必需): 标题,最多 20 个字符content (必需): 正文内容,最多 1000 个字符,不要包含 #标签tags (可选): 话题标签数组,如 ["美食", "教程"],不要加 # 符号video (必需): 视频文件本地绝对路径(不支持 URL)示例:
{
"title": "美食教程",
"content": "教你做简单的意大利面...",
"tags": ["美食", "教程", "意大利面"],
"video": "/Users/liuyishou/Videos/cooking.mp4"
}
IMPORTANT: 登录必须使用 REST API,不要用 MCP 工具获取二维码。
MCP 工具返回的二维码图片数据无法在 Claude Code 终端中保存为本地文件,导致用户无法扫码。REST API 可以完美解决这个问题。
| 端点 | 方法 | 说明 |
|---|---|---|
/api/v1/login/status | GET | 检查登录状态 |
/api/v1/login/qrcode | GET | 获取登录二维码(返回 Base64) |
/api/v1/login/cookies | DELETE | 删除 cookies,重置登录 |
Step 1: 检查登录状态
curl -s http://localhost:18060/api/v1/login/status
# 返回: {"success":true,"data":{"is_logged_in":true/false,...},...}
Step 2: 如果未登录,获取二维码并保存到本地文件
curl -s http://localhost:18060/api/v1/login/qrcode | python3 -c "
import sys, json, base64
resp = json.load(sys.stdin)
img_data = resp['data']['img']
b64 = img_data.split(',')[1] if ',' in img_data else img_data
with open('/Users/liuyishou/tmp/xiaohongshu_qrcode.png', 'wb') as f:
f.write(base64.b64decode(b64))
print('Saved to /Users/liuyishou/tmp/xiaohongshu_qrcode.png')
"
Step 3: 告知用户扫码
请用小红书 App 扫码登录
二维码图片:/Users/liuyishou/tmp/xiaohongshu_qrcode.png
Step 4: 用户确认扫码后,再次检查登录状态
curl -s http://localhost:18060/api/v1/login/status
注意事项:
~/tmp/ 目录(用户偏好的下载目录)curl -X DELETE http://localhost:18060/api/v1/login/cookies当用户请求发布小红书内容时,遵循以下流程:
⚠️ 重要:发布前必须先检查登录状态,未登录时的发布操作无效!
curl -s http://localhost:18060/api/v1/login/status
如果已登录(is_logged_in: true): 继续下一步
如果未登录: 执行 REST API 登录流程(见「3. 登录管理」章节)
curl 获取二维码 → python3 解码保存为 PNG/Users/liuyishou/tmp/xiaohongshu_qrcode.pngcurl 检查登录状态与用户确认以下信息:
发布类型
标题 (必需)
正文内容 (必需)
媒体文件 (必需)
发布前执行以下验证:
标题验证:
def validate_title(title: str) -> bool:
if len(title) > 20:
print(f"标题过长({len(title)}字符),需要缩短到 20 字符以内")
return False
return True
内容验证:
def validate_content(content: str) -> bool:
if len(content) > 1000:
print(f"内容过长({len(content)}字符),需要精简到 1000 字符以内")
return False
return True
图片验证:
def validate_images(images: list) -> bool:
for img in images:
if not img.startswith('http') and not os.path.isabs(img):
print(f"图片路径必须是绝对路径或 URL: {img}")
return False
return True
视频验证:
def validate_video(video: str) -> bool:
if not os.path.isabs(video):
print(f"视频必须使用本地绝对路径: {video}")
return False
if not os.path.exists(video):
print(f"视频文件不存在: {video}")
return False
return True
🚨 严格要求:在生成任何封面之前,必须先用 AskUserQuestion 让用户选择方案!
禁止行为:
必须执行:
使用 AskUserQuestion 工具向用户展示以下选项:
问题 1:封面风格选择
请选择封面风格:
A. 手绘白板风格 ⭐ - 流程图/知识框架/AI科技话题(推荐)
B. 杂志大字风格 - 观点金句/简短有力
C. 荧光笔划线风格 - 干货教程/步骤方法
D. 科技渐变风格 - 赛博朋克/深蓝紫渐变
E. 其他(请说明)
问题 2:内容处理方式
请选择内容处理方式:
A. 原文发布 - 保持原文不做修改(推荐)
B. 优化润色 - 按小红书爆款风格改写
C. 只改标题 - 正文保持原文,优化标题
示例调用:
AskUserQuestion:
- 问题1: "封面风格?" 选项: [手绘白板⭐, 杂志大字, 荧光笔划线, 科技渐变]
- 问题2: "内容处理?" 选项: [原文发布⭐, 优化润色, 只改标题]
用户确认后,再执行 Step 5 生成封面。
根据用户在 Step 4 的选择,使用对应的设计模式生成封面。
5.1 用户选择 → 设计模式对照表:
| 用户选择 | 设计模式 | 适用场景 |
|---|---|---|
| A. 手绘白板 ⭐ | 模式 0 | 流程图、知识框架、AI/科技、方法论 |
| B. 杂志大字 | 模式 4 | 观点金句、核心论点、简短有力 |
| C. 荧光笔划线 | 模式 2 | 干货教程、步骤方法、学习笔记 |
| D. 科技渐变 | 赛博朋克风 | 深蓝紫渐变、霓虹发光、未来感 |
5.2 使用对应模式的 Prompt 模板:
根据选择的模式,在「配图设计模式」章节找到对应的 Prompt 模板,填入具体内容后调用 nanobanana-draw 生成封面。
5.3 示例流程:
内容:"AI 能替代所有 CRUD,也能写爬虫,对网络攻防影响大"
↓
分析:这是一个观点/洞察类内容
↓
选择:模式 4 - 杂志大字风格
↓
生成 Prompt:
"生成一张小红书风格封面图,3:4竖版比例,
纯白色背景,无任何纹理,
只用超大号关键词:AI替代CRUD,
纯黑色文字,形成极强黑白对比,
大量留白,无装饰元素"
CRITICAL: 只能发布一次。成功后直接进入 Step 7,禁止重试。
方式一:REST API(推荐)
# 发布图文
curl -s -X POST http://localhost:18060/api/v1/publish \
-H "Content-Type: application/json" \
-d '{
"title": "标题(≤20字符)",
"content": "正文(≤1000字符,不含#标签)",
"tags": ["标签1", "标签2"],
"images": ["/abs/path/to/image1.jpg", "/abs/path/to/image2.jpg"]
}'
# 发布视频
curl -s -X POST http://localhost:18060/api/v1/publish_video \
-H "Content-Type: application/json" \
-d '{
"title": "标题",
"content": "正文",
"tags": ["标签1"],
"video": "/abs/path/to/video.mp4"
}'
方式二:MCP 工具(备选)
调用 publish_content 或 publish_with_video MCP 工具,传入相同参数。
### Step 7: 处理结果
发布完成后:
1. **成功情况:**
- 告知用户发布成功
- 如果 MCP 返回了笔记链接,提供给用户
2. **失败情况:**
- 显示错误信息
- 提供可能的解决方案:
- 检查登录状态
- 验证参数格式
- 检查 MCP 服务是否运行
- 查看文件路径是否正确
### Step 8: 后置 Hook - 同步到 Twitter(必须执行)
**⚠️ 小红书发布成功后,必须询问用户是否同步到 Twitter。**
发布成功后立即询问:
需要同步发到 Twitter 吗?
**如果用户同意:**
1. 将内容精简到 280 字符以内(Twitter 限制)
2. 调用 x-post skill 发布:
```bash
python3 ~/.claude/skills/x-post/scripts/x_post.py "精简后的内容" -i 图片路径
内容适配建议:
当用户提供原始文案或主题时,Claude 应主动运用以下规则优化内容。
在标题中随机融入 1-2 个爆款词,提升点击率:
好用到哭、大数据、教科书般、小白必看、宝藏、绝绝子、神器、都给我冲、
划重点、笑不活了、YYDS、秘方、我不允许、压箱底、建议收藏、停止摆烂、
上天在提醒你、挑战全网、手把手、揭秘、普通女生、沉浸式、有手就能做、
吹爆、好用哭了、搞钱必看、狠狠搞钱、打工人、吐血整理、家人们、
高级感、治愈、破防了、万万没想到、爆款、永远可以相信、被夸爆、
手残党必备、正确姿势、一招搞定、真的绝了、闭眼入、无限回购
正面刺激(激发向往):
负面刺激(制造焦虑):
标题模板:
数字+结果:「3招搞定xxx,效果绝了!」
身份+痛点:「打工人必看!xxx的正确姿势」
反常识+好奇:「原来xxx才是关键,后悔没早知道」
挑战+效果:「挑战全网最简单的xxx,有手就能做」
风格要求:
结构模板:
【开篇钩子】15字内抓住注意力(故事/疑问/数据 三选一)
【核心内容】分点陈述,每段带 emoji
- 要点1 ✨
- 要点2 💡
- 要点3 🔥
【互动结尾】引导点赞收藏
「姐妹们觉得有用记得点赞收藏呀~」
「你们还想看什么内容?评论区告诉我!」
Emoji 使用规则:
从内容中提取 3-6 个关键词作为话题标签:
当用户直接提供完整文案时,尊重原文内容,不做修改,只执行以下操作:
触发条件: 用户直接粘贴大段文字 + "发到小红书" 等指令
小红书最流行的封面是简洁文字封面,而非复杂插画。使用 nanobanana-draw 生成时,遵循以下模板:
核心原则:
Prompt 模板:
生成一张小红书风格的文字封面图片,
[背景色]背景,中间用[字体颜色]大字写着:[主标题],
下面小字写:[副标题/关键词],
字体简洁现代,排版居中,极简风格,无其他装饰
配色方案速查:
| 风格 | 背景色 | 字体色 | 适用场景 |
|---|---|---|---|
| 经典极简 | 纯白 | 黑色 | 干货、观点、知识 |
| 高级灰 | 浅灰/米白 | 深灰/黑 | 职场、商业、理性 |
| 治愈系 | 奶油黄/米色 | 棕色/深橙 | 生活、情感、日常 |
| 科技感 | 深蓝/黑色 | 白色/霓虹蓝 | AI、编程、科技 |
| 少女感 | 淡粉/淡紫 | 白色/深粉 | 美妆、穿搭、甜系 |
示例 Prompt:
知识干货类:
生成一张小红书风格的文字封面图片,纯白色背景,中间用黑色大字写着:每个人都需要两个Agent,下面小字写:云Agent + 本地Agent,字体简洁现代,排版居中,极简风格,无其他装饰
科技观点类:
生成一张小红书风格的文字封面图片,深蓝色渐变背景,中间用白色大字写着:2026年AI趋势,下面小字用霓虹蓝写:LLM + 图灵机 = Everything,未来科技感,排版居中,极简风格
生活感悟类:
生成一张小红书风格的文字封面图片,奶油色背景,中间用棕色大字写着:慢下来也没关系,字体温暖手写风,排版居中,治愈系风格,简洁无装饰
当用户需要插画风格配图时,使用 nanobanana-draw 生成,遵循以下模板:
通用结构:
[主体描述], [场景/背景], [风格关键词],
bright colors, soft lighting, aesthetic,
xiaohongshu style, high quality, 4k
风格关键词速查:
| 类型 | Prompt 关键词 |
|---|---|
| 干净简约 | minimal, clean background, soft pastel colors |
| 氛围感 | cinematic lighting, moody, warm tones |
| 少女感 | dreamy, pink aesthetic, soft focus, kawaii |
| 高级感 | luxury, elegant, muted colors, editorial |
| 科技感 | neon lights, cyberpunk, dark background, glowing |
| 治愈系 | cozy, warm sunlight, peaceful, natural |
| 扁平插画 | flat illustration, vector style, minimal |
场景示例:
知识/观点类:
A person standing in center orchestrating floating icons and symbols,
minimalist illustration, dark background, neon blue purple glow,
tech aesthetic, high quality
生活方式类:
Cozy morning scene, soft natural light, warm beige tones,
aesthetic flatlay, dreamy atmosphere, xiaohongshu style
美食类:
Delicious [食物名], top view, bright natural lighting,
food photography, appetizing, high quality, 4k
本节收集了小红书高传播内容的配图设计模式,可直接套用。
根据内容类型选择合适的设计模式:
| 设计模式 | 适用场景 | 效果 |
|---|---|---|
| 手绘白板风格 ⭐ | 流程图、知识框架、方法论、AI/科技话题 | 优先推荐,高级感+专业感 |
| 数字emoji标题 | 教程类、步骤类内容 | 信息流中更醒目 |
| 手写+数字界面混搭 | 产品介绍、知识付费 | 增加真实感和亲和力 |
| 三层信息架构 | 任何需要快速传达价值的封面 | 清晰的信息层级 |
| 暖色调极简背景 | 知识类、阅读类内容 | 营造舒适专业感 |
| 真实产品截图 | 工具类、平台类产品 | 增加可信度 |
| 竖屏双框对比图 | 对比展示、观点阐述、认知转变 | 强烈视觉对比,易传播 |
适用场景: 流程图、知识框架、方法论、系统架构、AI/科技话题、商业概念可视化
设计特点:
Prompt 模板:
生成一张小红书风格封面图,3:4竖版比例,
手绘白板草图风格,视觉笔记美学,
极简线条艺术,粗黑马克笔线条,蓝色高亮点缀,
简单涂鸦图标,流程图结构,箭头连接各元素,
纯白背景,干净专业,商业概念可视化。
顶部标题:「[主标题]」用粗体手写风格,蓝色下划线强调。
内容布局(从左到右/从上到下的流程):
- 第一部分「[模块名]」:[图标描述1]、[图标描述2]
- 第二部分「[模块名]」:[图标描述1]、[图标描述2]
- 第三部分「[模块名]」:[图标描述1]、[图标描述2]
用粗箭头连接各部分,展示流程走向。
风格:Excalidraw 手绘美学,无阴影,无渐变,无3D效果,略带不规则的草图线条。
示例 Prompt:
知识体系类:
生成一张小红书风格封面图,3:4竖版比例,
手绘白板草图风格,视觉笔记美学,
极简线条艺术,粗黑马克笔线条,蓝色高亮点缀,
简单涂鸦图标,流程图结构,箭头连接各元素,
纯白背景,干净专业。
顶部标题:「AI学习路径」用粗体手写风格,蓝色下划线。
布局(从上到下):
- 基础层:书本图标「理论基础」、代码图标「编程能力」
- 核心层:大脑图标「模型原理」、齿轮图标「工程实践」
- 应用层:火箭图标「项目落地」、奖杯图标「持续迭代」
箭头从上往下连接,Excalidraw手绘风格。
方法论/流程类:
生成一张小红书风格封面图,3:4竖版比例,
手绘白板草图风格,视觉笔记美学,
极简线条艺术,粗黑马克笔线条,蓝色高亮点缀,
简单涂鸦图标,流程图结构,纯白背景。
顶部标题:「内容创作工作流」
横向布局(左到右):
- 输入「灵感来源」:灯泡图标、书籍图标
- 处理「内容加工」:铅笔图标、AI芯片图标
- 输出「多平台分发」:手机图标、地球图标
粗箭头连接,Excalidraw手绘美学,无渐变无阴影。
常用图标关键词:
| 类别 | 图标描述 |
|---|---|
| 科技 | 机器人头像、芯片、神经网络、代码符号 |
| 数据 | 数据库、文件夹、云存储、放大镜 |
| 社交 | 手机、对话气泡、用户头像、地球 |
| 工具 | 齿轮、扳手、闪电、火箭 |
| 知识 | 书本、灯泡、大脑、毕业帽 |
| 商业 | 图表、金币、握手、奖杯 |
适用场景: 两种心态/方法/前后的对比展示
布局结构:
┌─────────────────────┐
│ 顶部标题 │ ← 总结性标题,点明主题
├─────────────────────┤
│ ┌───────────────┐ │
│ │ 上框内容 │ │ ← 第一种情况/观点
│ │ (视觉元素) │ │
│ └───────────────┘ │
│ 1. 文字说明 │
├─────────────────────┤
│ ┌───────────────┐ │
│ │ 下框内容 │ │ ← 第二种情况/观点(对比)
│ │ (视觉元素) │ │
│ └───────────────┘ │
│ 2. 文字说明 │
└─────────────────────┘
设计要点:
应用示例:
| 主题 | 上框(情况A) | 下框(情况B) |
|---|---|---|
| 心态对比 | "我想要,但我害怕..." | "我害怕,但我想要!" |
| 方法对比 | 错误做法 | 正确做法 |
| 前后变化 | 改变前 | 改变后 |
| 选择对比 | 普通选择 | 更好的选择 |
适用场景: 知识干货、学习笔记、经验总结
Prompt 模板:
生成一张小红书风格封面图,3:4竖版比例,
模拟 Muji 风格的米白色笔记本内页,带有淡淡的灰色横线,
主标题使用加粗黑体字(深灰色),多层级字号,
对关键词 [关键词1]、[关键词2] 使用黄色荧光笔划线高亮,
角落加入小字"干货分享"或"建议收藏"
适用场景: 生活感悟、旅行日记、情感类
Prompt 模板:
生成一张小红书风格封面图,3:4竖版比例,
纯白色背景上放置一张边缘有撕裂效果的白色纸片,
纸片有细微自然阴影形成立体拼贴感,
标题使用手写体黑色字,居中排版,
左上角添加一个半透明的和纸胶带小贴纸(斜纹或波点图案),
点缀一个与内容相关的简笔画小图标
适用场景: 观点输出、金句分享、高端内容
Prompt 模板:
生成一张小红书风格封面图,3:4竖版比例,
纯白色背景(#FFFFFF),无任何纹理,
只用1-2个超大号关键词作为主标题,
字体选择宋体或 Helvetica Neue,
纯黑色文字(#000000),形成极强黑白对比,
大量留白,无装饰元素,
右下角极小字号标注创作者ID
适用场景: 产品介绍、工具推荐、知识付费
Prompt 模板:
生成一张小红书风格封面图,3:4竖版比例,
低饱和度莫兰迪灰蓝色背景(#E8EDF2),
上半部:年份标签 + 主标题(加粗黑体,最大字号)+ 副标题,
下半部:产品截图/流程图 + 手写风格标注,
用手写箭头串联步骤(如:阅读 → 灵感 → 链接),
整体高级感,信息密度适中
标题优化
正文结构
图片要求
视频要求
文件处理
批量发布
常见错误及解决方案
xiaohongshu_login 重新登录调试技巧
-headless=false)观察浏览器操作帮我发布一篇产品推广笔记:
标题:新品首发|限时优惠
内容:详细介绍产品特点...
图片:产品图片路径
发布我的旅行日记:
标题:三亚旅行攻略
内容:分享我的三亚之旅...
图片:旅行照片
发布一个编程教程视频:
标题:Python 入门教程
内容:本期教你 Python 基础...
视频:教程视频路径
记录今天的美食:
标题:自制提拉米苏
内容:做法和心得...
图片:成品照片
xiaohongshu-mcp 服务同时提供 MCP 和 REST API 两套接口,功能完全一致。
Base URL: http://localhost:18060
| 端点 | 方法 | 说明 |
|---|---|---|
/health | GET | 健康检查 |
/api/v1/login/status | GET | 检查登录状态 |
/api/v1/login/qrcode | GET | 获取登录二维码(返回 data.img 为 base64 PNG) |
/api/v1/login/cookies | DELETE | 删除 cookies,重置登录 |
/api/v1/publish | POST | 发布图文笔记 |
/api/v1/publish_video | POST | 发布视频笔记 |
/api/v1/feeds/list | GET | 获取 Feeds 列表 |
/api/v1/feeds/search | GET/POST | 搜索 Feeds(keyword 参数) |
/api/v1/feeds/detail | POST | 获取 Feed 详情(feed_id, xsec_token) |
/api/v1/user/profile | POST | 获取用户主页 |
/api/v1/user/me | GET | 获取当前登录用户信息 |
响应格式:
// 成功
{"success": true, "data": {...}, "message": "..."}
// 失败
{"error": "...", "code": "ERROR_CODE", "details": "..."}
Q: 提示找不到 MCP 工具? A:
http://localhost:18060/mcpclaude mcp listclaude mcp add --transport http xiaohongshu-mcp http://localhost:18060/mcpQ: MCP 服务启动失败? A:
Q: 发布失败,提示未登录? A:
check_login_status 检查登录状态get_login_qrcode 获取二维码xiaohongshu_login_qrcode.png 到当前目录Q: 二维码过期了怎么办?
A: 二维码有效期约 5 分钟,过期后重新调用 get_login_qrcode 获取新二维码
Q: 需要切换账号怎么办? A:
delete_cookies 删除当前登录信息get_login_qrcode 获取二维码Q: 图片上传失败? A:
Q: 视频上传失败? A:
账号安全
内容审核
MCP 服务安全
配置完成后,直接在 Claude Code 中说:
帮我发一篇小红书笔记
发布视频到小红书
登录小红书账号
Claude 会自动使用这个 skill 帮你完成小红书内容发布!