xiaohongshu
zhjiang22/openclaw-xhs
Search, analyze, and interact with Xiaohongshu (RedNote) content programmatically.
What is xiaohongshu?
A shell script toolkit wrapping xiaohongshu-mcp for searching notes, tracking trending topics, fetching user profiles, posting comments, and publishing content on Xiaohongshu. Use it to automate content discovery, sentiment analysis, and engagement on the platform.
- Search Xiaohongshu notes with filters (sort, type, time, location)
- Fetch post details including text, images, engagement metrics, and comments
- Post and reply to comments on notes
- Get user profiles and their note lists
- Like and favorite posts
- Publish image or video notes with optional scheduling
How to install xiaohongshu
npx skills add https://github.com/zhjiang22/openclaw-xhs --skill xiaohongshu- xiaohongshu-mcp installed
- jq (JSON processor)
- Python 3.10+ (for image export)
- MCP service running on port 18060 (or custom MCP_URL)
- Xiaohongshu account with valid cookies (valid ~30 days)
How to use xiaohongshu
- 1.Run ./install-check.sh to verify dependencies (xiaohongshu-mcp, jq, python3)
- 2.Run ./start-mcp.sh to start the MCP service on port 18060
- 3.If not logged in, run mcp-call.sh get_login_qrcode and scan with Xiaohongshu app
- 4.Use search.sh <keyword> to find notes, which returns feed_id and xsec_token
- 5.Use post-detail.sh <feed_id> <xsec_token> to fetch full post details and comments
- 6.Use comment.sh or track-topic.sh to engage or analyze content
- 7.Use publish_content or publish_with_video to post new notes
Use cases
- Monitor trending topics on Xiaohongshu and generate sentiment reports
- Automate engagement by posting comments on relevant notes
- Publish scheduled content to Xiaohongshu from external workflows
- Research user-generated content and discussions around specific keywords
- Export curated posts as visual long-form content for sharing
- Content creators and marketers managing Xiaohongshu presence
- Social media analysts tracking trends and sentiment
- Researchers studying Chinese social media discussions
- Automation workflows integrating Xiaohongshu data
xiaohongshu FAQ
feed_id and xsec_token are paired identifiers required for most operations. They are returned by search_feeds, list_feeds, or user_profile results—do not construct them manually. Each feed object contains both values needed for subsequent detail, comment, or interaction calls.
Run mcp-call.sh get_login_qrcode to retrieve a QR code, then scan it with your Xiaohongshu mobile app. Cookies are valid for approximately 30 days; after expiration, repeat the login process.
Yes. When using publish_content, include a schedule_at parameter with an ISO8601 timestamp between 1 hour and 14 days in the future.
Title ≤20 characters, content ≤1000 characters, and max 50 posts per day per account.
Use export-long-image.sh with a JSON file containing post metadata (title, author, description, images). Requires Python 3.10+ and Pillow library. Output is a white background JPG.
Full instructions (SKILL.md)
Source of truth, from zhjiang22/openclaw-xhs.
name: xiaohongshu description: | 小红书(RedNote)内容工具。使用场景:
- 搜索小红书笔记并获取详情
- 获取首页推荐列表
- 获取帖子详情(正文、图片、互动数据、评论)
- 发表评论 / 回复评论
- 获取用户主页和笔记列表
- 点赞、收藏帖子
- 发布图文或视频笔记
- 热点话题跟踪与分析报告
- 帖子导出为长图 触发词示例:
- "搜一下小红书上的XX"
- "跟踪一下小红书上的XX热点"
- "分析小红书上关于XX的讨论"
- "小红书XX话题报告"
- "生成XX的小红书舆情报告"
小红书 MCP Skill
基于 xiaohongshu-mcp 封装的 shell 脚本工具集。
前置条件
cd scripts/
./install-check.sh # 检查依赖(xiaohongshu-mcp、jq、python3)
./start-mcp.sh # 启动 MCP 服务(默认端口 18060)
./status.sh # 确认已登录
未登录时需扫码:mcp-call.sh get_login_qrcode 获取二维码,用小红书 App 扫码。
服务端口可通过 MCP_URL 环境变量覆盖(默认 http://localhost:18060/mcp)。
核心数据流
重要: 大多数操作需要 feed_id + xsec_token 配对。这两个值从搜索/推荐/用户主页结果中获取,不可自行构造。
search_feeds / list_feeds / user_profile
│
▼
返回 feeds 数组,每个 feed 包含:
├── id → 用作 feed_id
├── xsecToken → 用作 xsec_token
└── noteCard → 标题、作者、封面、互动数据
│
▼
get_feed_detail(feed_id, xsec_token)
│
▼
返回完整笔记: 正文、图片列表、评论列表
评论中包含 comment_id、user_id(用于回复评论)
脚本参考
| 脚本 | 用途 | 参数 |
|---|---|---|
search.sh <关键词> | 搜索笔记 | 关键词 |
recommend.sh | 首页推荐 | 无 |
post-detail.sh <feed_id> <xsec_token> | 帖子详情+评论 | 从搜索结果获取 |
comment.sh <feed_id> <xsec_token> <内容> | 发表评论 | 从搜索结果获取 |
user-profile.sh <user_id> <xsec_token> | 用户主页+笔记 | 从搜索结果获取 |
track-topic.sh <话题> [选项] | 热点分析报告 | --limit N --output file --feishu |
export-long-image.sh | 帖子导出长图 | --posts-file json -o output.jpg |
mcp-call.sh <tool> [json_args] | 通用 MCP 调用 | 见下方工具表 |
start-mcp.sh | 启动服务 | --headless=false --port=N |
stop-mcp.sh | 停止服务 | 无 |
status.sh | 检查登录 | 无 |
install-check.sh | 检查依赖 | 无 |
MCP 工具详细参数
search_feeds — 搜索笔记
{"keyword": "咖啡", "filters": {"sort_by": "最新", "note_type": "图文", "publish_time": "一周内"}}
filters 可选字段:
sort_by: 综合 | 最新 | 最多点赞 | 最多评论 | 最多收藏note_type: 不限 | 视频 | 图文publish_time: 不限 | 一天内 | 一周内 | 半年内search_scope: 不限 | 已看过 | 未看过 | 已关注location: 不限 | 同城 | 附近
get_feed_detail — 帖子详情
{"feed_id": "...", "xsec_token": "...", "load_all_comments": true, "limit": 20}
load_all_comments: false(默认) 返回前10条,true 滚动加载更多limit: 加载评论上限(仅 load_all_comments=true 时生效),默认 20click_more_replies: 是否展开二级回复,默认 falsereply_limit: 跳过回复数超过此值的评论,默认 10scroll_speed: slow | normal | fast
post_comment_to_feed — 发表评论
{"feed_id": "...", "xsec_token": "...", "content": "写得真好!"}
reply_comment_in_feed — 回复评论
{"feed_id": "...", "xsec_token": "...", "content": "谢谢!", "comment_id": "...", "user_id": "..."}
comment_id 和 user_id 从 get_feed_detail 返回的评论列表中获取。
user_profile — 用户主页
{"user_id": "...", "xsec_token": "..."}
user_id 从 feed 的 noteCard.user.userId 获取,xsec_token 使用该 feed 的 xsecToken。
like_feed — 点赞/取消
{"feed_id": "...", "xsec_token": "..."}
{"feed_id": "...", "xsec_token": "...", "unlike": true}
favorite_feed — 收藏/取消
{"feed_id": "...", "xsec_token": "..."}
{"feed_id": "...", "xsec_token": "...", "unfavorite": true}
publish_content — 发布图文
{"title": "标题(≤20字)", "content": "正文(≤1000字)", "images": ["/path/to/img.jpg"], "tags": ["美食","旅行"]}
images: 至少1张,支持本地路径或 HTTP URLtags: 可选,话题标签schedule_at: 可选,定时发布(ISO8601,1小时~14天内)
publish_with_video — 发布视频
{"title": "标题", "content": "正文", "video": "/path/to/video.mp4"}
其他工具
| 工具 | 参数 | 说明 |
|---|---|---|
check_login_status | 无 | 检查登录状态 |
list_feeds | 无 | 获取首页推荐 |
get_login_qrcode | 无 | 获取登录二维码(Base64 PNG) |
delete_cookies | 无 | 删除 cookies,重置登录 |
热点跟踪
自动搜索 → 拉取详情 → 生成 Markdown 报告。
./track-topic.sh "DeepSeek" --limit 5
./track-topic.sh "春节旅游" --limit 10 --output report.md
./track-topic.sh "iPhone 16" --limit 5 --feishu # 导出飞书
报告包含:概览统计、热帖详情(正文+热评)、评论关键词、趋势分析。
长图导出
将帖子导出为白底黑字的 JPG 长图。
./export-long-image.sh --posts-file posts.json -o output.jpg
posts.json 格式:
[{
"title": "标题", "author": "作者", "stats": "1.3万赞",
"desc": "正文摘要", "images": ["https://..."],
"per_image_text": {"1": "第2张图的说明"}
}]
依赖:Python 3.10+、Pillow。
注意事项
- Cookies 有效期约 30 天,过期需重新扫码
- 首次启动会下载 headless 浏览器(~150MB)
- 同一账号避免多客户端同时操作
- 发布限制:标题≤20字符,正文≤1000字符,日发布≤50条
- Linux 服务器无桌面环境需安装 xvfb(
apt-get install xvfb,脚本自动管理)
Related skills
More from zhjiang22/openclaw-xhs and the wider catalog.
find-skills
Discover and install agent skills to extend your coding agent's capabilities on demand
frontend-design
Build visually distinctive UI with opinionated aesthetic direction, typography, and layout choices that avoid templated defaults.
vercel-react-best-practices
70 React/Next.js performance rules from Vercel Engineering, prioritized by impact for writing, reviewing, and refactoring code.
agent-browser
Fast browser automation CLI for AI agents — navigate, click, scrape, screenshot, and test via Chrome CDP
web-design-guidelines
Review UI code against Web Interface Guidelines for accessibility, UX, and design best practices
finetuning
Fine-tune models on Azure AI Foundry with SFT, DPO, or RFT training methods.