Install
openclaw skills install xiaohongshu-mcp-node-skill通过 MCP 协议操作小红书平台,支持内容发布、搜索、互动等完整功能
openclaw skills install xiaohongshu-mcp-node-skill通过 Model Context Protocol 让 AI 能够操作小红书平台。
本 Skill 是一个 MCP Server 集成配置,实际功能由 xiaohongshu-mcp-node MCP Server 提供。
OpenClaw/AI Agent
↓ (读取 Skill 配置)
xiaohongshu-mcp-node-skill
↓ (启动 MCP Server)
xiaohongshu-mcp-node
↓ (MCP Protocol - 13 Tools)
小红书平台
当用户需要操作小红书平台时,AI 会自动调用相应的 MCP 工具:
触发关键词:
# 克隆并构建 MCP Server
git clone https://github.com/sipingme/xiaohongshu-mcp-node.git
cd xiaohongshu-mcp-node
# 安装依赖
npm install
# 安装浏览器
npx playwright install chromium
# 构建项目
npm run build
# 首次登录(获取 Cookie)
npm run login
在 OpenClaw 的 MCP 配置中添加:
{
"mcpServers": {
"xiaohongshu": {
"command": "node",
"args": ["/path/to/xiaohongshu-mcp-node/dist/index.js"],
"env": {
"HEADLESS": "true",
"COOKIES_PATH": "/path/to/cookies.json"
}
}
}
}
# 克隆 Skill 配置和文档
git clone https://github.com/sipingme/xiaohongshu-mcp-node-skill.git
cp -r xiaohongshu-mcp-node-skill ~/.openclaw/skills/xiaohongshu/
场景:在执行任何操作前,先确认登录状态
MCP 工具:xhs_check_login
步骤:
xhs_check_login 工具输出示例:
{
"isLoggedIn": true,
"username": "用户名"
}
异常处理:
isLoggedIn: false,执行操作 2(登录流程)场景:首次使用或 Cookie 过期
MCP 工具:xhs_get_qrcode
步骤:
xhs_get_qrcode 工具获取二维码输出示例:
{
"image": "data:image/png;base64,iVBORw0KG...",
"timeout": "4m"
}
异常处理:
场景:用户提供标题、正文和图片,发布到小红书
MCP 工具:xhs_publish_note
步骤:
验证用户已登录(调用 xhs_check_login)
收集发布信息:
调用 xhs_publish_note 工具:
{
"title": "文章标题",
"content": "文章正文内容...",
"imagePaths": ["/path/to/image1.jpg", "/path/to/image2.jpg"],
"tags": ["标签1", "标签2"],
"isOriginal": true,
"visibility": "public"
}
等待发布完成(可能需要30-60秒)
向用户报告结果
输出示例:
{
"success": true,
"noteId": "abc123",
"message": "发布成功"
}
异常处理:
场景:用户提供标题、正文和视频文件
步骤:
xhs-cli publish-video \
--title-file /tmp/title.txt \
--content-file /tmp/content.txt \
--video /path/to/video.mp4 \
--tags "视频" "教程"
参数说明:
--title 或 --title-file:标题(必需)--content 或 --content-file:正文内容(必需)--video:视频文件路径(必需)--tags:标签列表(可选)--visibility:可见范围(可选)注意事项:
场景:用户想搜索小红书上的内容
步骤:
xhs-cli search \
--keyword "Node.js" \
--sort-by "综合" \
--note-type "图文"
参数说明:
--keyword:搜索关键词(必需)--sort-by:排序方式(可选)--note-type:笔记类型(可选)--publish-time:发布时间(可选)输出示例:
{
"success": true,
"count": 20,
"feeds": [
{
"id": "abc123",
"xsecToken": "xyz789",
"title": "Node.js 开发技巧",
"user": {
"userId": "user123",
"nickname": "技术博主",
"avatar": "https://..."
},
"cover": "https://...",
"likeCount": "1.2k",
"commentCount": "89"
}
],
"message": "找到 20 条结果"
}
场景:用户想查看某条内容的详细信息
步骤:
xhs-cli get-detail \
--feed-id "abc123" \
--xsec-token "xyz789" \
--load-all-comments
参数说明:
--feed-id:内容ID(必需,从搜索结果中获取)--xsec-token:安全令牌(必需,从搜索结果中获取)--load-all-comments:加载所有评论(可选)输出包含:
场景:用户想对某条内容发表评论
步骤:
cat > /tmp/comment.txt << 'EOF'
很棒的分享!学到了很多。
EOF
xhs-cli comment \
--feed-id "abc123" \
--xsec-token "xyz789" \
--content-file /tmp/comment.txt
参数说明:
--feed-id:内容ID(必需)--xsec-token:安全令牌(必需)--content 或 --content-file:评论内容(必需)场景:用户想点赞某条内容
步骤:
# 点赞
xhs-cli like \
--feed-id "abc123" \
--xsec-token "xyz789"
# 取消点赞
xhs-cli like \
--feed-id "abc123" \
--xsec-token "xyz789" \
--unlike
场景:用户想收藏某条内容
步骤:
# 收藏
xhs-cli favorite \
--feed-id "abc123" \
--xsec-token "xyz789"
# 取消收藏
xhs-cli favorite \
--feed-id "abc123" \
--xsec-token "xyz789" \
--unfavorite
场景:用户想查看推荐内容
步骤:
xhs-cli list-feeds
输出:返回20条推荐内容,格式同搜索结果
所有命令统一使用 JSON 格式输出:
成功响应:
{
"success": true,
"message": "操作成功",
"data": { ... }
}
错误响应:
{
"success": false,
"error": "错误信息"
}
小红书标题最多 20个字,计算规则:
如果超长,需要提示用户修改或自动截断。
症状:提示"未登录"或操作失败
解决:
xhs-cli login
扫码重新登录
症状:提示"标题验证失败"
解决:
症状:提示"图片上传失败"
原因:
解决:
症状:提示"页面元素未找到"
原因:小红书页面结构变化
解决:
症状:xhs-cli: command not found
解决:
# 确认安装
npm list -g xiaohongshu-mcp-node-skill
# 重新安装
npm install -g xiaohongshu-mcp-node-skill
# 检查 PATH
which xhs-cli
./cookies.json)用户:帮我把这篇文章发布到小红书
AI:好的,我来帮你发布。请提供以下信息:
用户:[提供内容和图片]
AI:收到!我将为你发布到小红书。
[执行命令]
xhs-cli publish \
--title "Node.js 开发技巧分享" \
--content "..." \
--images /tmp/img1.jpg /tmp/img2.jpg \
--tags "Node.js" "编程" "技术分享" \
--original
AI:✅ 文章已成功发布到小红书!
新用户应该能在 5 分钟内完成:
npm install -g xiaohongshu-mcp-node xiaohongshu-mcp-node-skillxhs-cli --versionxhs-cli login(扫码)xhs-cli check-login如果以上步骤都能顺利完成,说明 Skill 已正确配置!