Install
openclaw skills install rednote-cliUse when the user wants to operate Xiaohongshu (RedNote) from the terminal with the `@skills-store/rednote` CLI, including browser setup, login, environment...
openclaw skills install rednote-cliUse this skill only for the CLI command surface of @skills-store/rednote when the user wants to operate Xiaohongshu from the terminal.
Focus on:
Prefer global-install examples first:
npm install -g @skills-store/rednote
bun add -g @skills-store/rednote
rednote <command> [...args]
Only mention npx -y @skills-store/rednote ... if the user explicitly asks for one-off execution without global installation.
Only show local repo commands if the user is explicitly developing the CLI.
Use rednote --version when the user wants to confirm the installed @skills-store/rednote version before troubleshooting or upgrading.
For Xiaohongshu operation commands, default to omitting --instance. Assume the CLI uses the current or default connected instance unless the user explicitly asks to target a named instance.
If browser list shows no custom instance yet, tell the user to create one first with rednote browser create --name <NAME> .... A name is required; prefer a short, stable name such as seller-main.
| Command | Purpose | Key required flags | Recommended when | Notes |
|---|---|---|---|---|
browser | Manage reusable browser instances | create requires --name | The user needs to create, inspect, or connect a browser profile | See references/browser.md for detailed subcommands |
--version | Show installed CLI version | None | The user is checking install state or troubleshooting | Useful before upgrade/debugging |
env | Check local runtime and dependencies | None | The user is debugging setup or installation | Supports JSON output with --save |
status | Check current instance and login state | None | The user wants a quick health check before running other commands | Good after browser connect |
check-login | Verify whether the current session is still valid | None | The user only wants to know whether login is still active | Lighter than full login flow |
login | Log in to Xiaohongshu in the connected browser | None | The browser is connected but not authenticated | On success, show the returned QR code image to the user |
home | Read the current recommendation feed | None | The user wants candidate notes from the personalized feed | Good starting point before detail lookup |
search | Search notes by keyword | --keyword | The user wants notes for a topic or query | Use before choosing a note to inspect |
get-feed-detail | Fetch structured note detail | Prefer --id; --url only if the user only has a URL | The user wants title, content, stats, media, or comments for one note | Prefer internal note ID for stability |
get-profile | Fetch author/account profile data | --id | The user wants author info or the author's notes | Supports --mode profile and --mode notes |
interact | Like, collect, or comment on one note | Prefer --id; keep --url as fallback, plus one of --like, --collect, --comment | The user wants to engage with a note | Use get-feed-detail first if they want to inspect before acting |
publish | Publish or save drafts | Depends on content type | The user wants to post image, video, or article content | Usually requires connected and logged-in browser |
Use this sequence for most live Xiaohongshu operations:
rednote envrednote browser list; if no custom instance exists, create one with rednote browser create --name seller-main --browser chrome --port 9222rednote browser connectrednote login or rednote check-loginrednote statushome, search, get-feed-detail, get-profile, publish, or interactIf the user needs exact browser subcommands, flags, or examples, open ./references/browser.md.
If the instance is blocked by a stale profile lock, check ./references/browser.md for the force reconnect command.
Read the current recommendation feed:
rednote home --format md
rednote home --format json --save ./output/home.jsonl
Use home when the user wants to browse candidate posts from the personalized feed before choosing one to inspect or comment on.
Search by keyword:
rednote search --keyword 护肤
rednote search --keyword 护肤 --format json --save ./output/search.json
Use search when the user wants candidate notes for a topic instead of the home feed.
Prefer the internal note ID:
rednote get-feed-detail --id NOTE_ID
rednote get-feed-detail --id NOTE_ID --format json --save ./output/feed-detail.json
rednote get-feed-detail --id NOTE_ID --comments --format json --save ./output/feed-detail-with-comments.json
rednote get-feed-detail --id NOTE_ID --comments 100 --format json --save ./output/feed-detail-100-comments.json
Only use --url if the user only has a note URL and does not have the internal ID yet.
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy"
Use get-feed-detail after home or search when the user wants the title, content, interaction data, and media before taking an action. Add --comments only when comment data is needed.
Prefer the internal note ID:
rednote interact --id NOTE_ID --like --collect
rednote interact --id NOTE_ID --like --collect --comment "内容写得很清楚,步骤也很实用,感谢分享。"
Only use --url if the user only has a note URL and does not have the internal ID yet.
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect
Use interact when the user wants one command entrypoint for like, collect, or comment. Recommend --id first because it is the preferred and more stable input; keep --url as a fallback. Combine --like, --collect, and --comment TEXT to perform multiple operations in one command. Use --comment TEXT for replies; there is no standalone comment command.
Publish content for an authenticated instance.
Video note:
rednote publish --type video --video ./note.mp4 --title 标题 --content 描述 --tag 穿搭 --tag 日常 --publish
Image note:
rednote publish --type image --image ./1.jpg --image ./2.jpg --title 标题 --content 描述 --tag 探店 --publish
Article:
rednote publish --type article --title 标题 --content $'# 一级标题\n\n正文' --publish
Use publish when the user wants to post or save drafts from an authenticated browser instance.
Find a post, inspect it, then reply:
rednote home --format md
rednote get-feed-detail --id NOTE_ID
rednote interact --id NOTE_ID --comment "谢谢分享,信息整理得很完整,对我很有帮助。"
Inspect a post, then like or collect it:
rednote home --format md
rednote get-feed-detail --id NOTE_ID
rednote interact --id NOTE_ID --like --collect
Start from a keyword, then inspect the note and reply:
rednote search --keyword 低糖早餐 --format md
rednote get-feed-detail --id NOTE_ID --comments --format json --save ./output/feed-detail-with-comments.json
rednote get-feed-detail --id NOTE_ID --comments 100 --format json --save ./output/feed-detail-100-comments.json
rednote interact --id NOTE_ID --comment "这份搭配看起来很实用,食材和步骤都写得很清楚。"
Check the author before engaging:
rednote get-feed-detail --id NOTE_ID --format json --save ./output/feed-detail.json
rednote get-profile --id USER_ID --mode profile
rednote get-profile --id USER_ID --mode notes --format json --save ./output/profile-notes.json
browserUse browser list to inspect default browsers, custom instances, stale locks, and the current lastConnect target.
Use browser create to create a reusable named browser profile for later account-scoped commands. Creation requires --name; if the user has no custom instance yet, tell them to pick a name first and then create it, for example rednote browser create --name seller-main --browser chrome --port 9222.
For exact browser subcommands, flags, and examples, open references/browser.md.
versionrednote --version
Use --version when the user wants to check the installed @skills-store/rednote version.
envrednote env
rednote env --format json --save ./output/env.json
Use env when the user is debugging installation or local setup.
statusrednote status
Use status to confirm whether the instance exists, is running, and appears logged in.
check-loginrednote check-login
Use check-login when the user only wants to verify whether the session is still valid.
loginrednote login
Use login after browser connect if the account is not authenticated yet.
If login succeeds and returns rednote.qrCodePath, show the QR code image to the user instead of only repeating the path so they can scan it immediately.
homerednote home --format md --save
Use home when the user wants the current home feed and optionally wants to save it.
searchrednote search --keyword 护肤
rednote search --keyword 护肤 --format json --save ./output/search.json
Use search when the user wants notes by keyword.
get-feed-detailPrefer the internal note ID:
rednote get-feed-detail --id NOTE_ID
rednote get-feed-detail --id NOTE_ID --format json --save ./output/feed-detail.json
rednote get-feed-detail --id NOTE_ID --comments --format json --save ./output/feed-detail-with-comments.json
rednote get-feed-detail --id NOTE_ID --comments 100 --format json --save ./output/feed-detail-100-comments.json
Only fall back to URL input when the user does not have the internal note ID:
rednote get-feed-detail --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy"
Use get-feed-detail when the user wants structured detail data for one note. Recommend --id first because it is the preferred and more stable input; use --url only as a fallback.
--comments, the saved JSON contains only the note item array.--comments, each item may include a comments array with reduced comment fields only, using only the comments already loaded on the page. It does not scroll.--comments COUNT, the CLI scrolls .note-scroller until it has collected about COUNT comments, reaches the end, or times out.--save PATH is required, and the saved file contains only the note items array instead of the full wrapper object.get-profilerednote get-profile --id USER_ID
rednote get-profile --id USER_ID --mode profile
rednote get-profile --id USER_ID --mode notes
rednote get-profile --id USER_ID --mode notes --format json --save ./output/profile-notes.json
Use get-profile when the user wants author or account profile information.
--mode profile returns only the normalized profile.user data. This is the default mode.--mode notes returns only the normalized profile.notes list.--format json is used, --save PATH is required, and the saved JSON contains only the selected mode data instead of the full wrapper object.interactPrefer the internal note ID:
rednote interact --id NOTE_ID --like --collect
rednote interact --id NOTE_ID --like --collect --comment "内容写得很清楚,感谢分享。"
Only fall back to URL input when the user does not have the internal note ID:
rednote interact --url "https://www.xiaohongshu.com/explore/xxx?xsec_token=yyy" --like --collect
Use interact when the user wants a unified command for like, collect, or comment. Recommend --id first because it is the preferred and more stable input; use --url only as a fallback. Use --comment TEXT for replies.
publishrednote publish --type video --video ./note.mp4 --title 标题 --content 描述 --publish
rednote publish --type image --image ./1.jpg --title 标题 --content 描述 --publish
rednote publish --type article --title 标题 --content $'# 一级标题\n\n正文' --publish
Use publish when the user wants to publish or save a draft.
When the user asks for --format json, remember these CLI rules:
env, home, search, get-feed-detail, and get-profile require --save PATH in JSON mode.get-profile --mode profile saves only the normalized user object.get-profile --mode notes saves only the normalized notes array.get-feed-detail saves only the normalized note items array; add --comments to include reduced comment data from the currently loaded comments, or --comments COUNT to scroll for more comments.--instance NAME picks the browser instance for account-scoped commands.--format json is best for scripting.--format md is best for direct reading.--save PATH is required in JSON mode for env, home, search, get-feed-detail, and get-profile.--keyword is required for search.--id for get-feed-detail; use --url only when the internal note ID is unavailable.--id for interact; use --url only when the internal note ID is unavailable.interact uses --comment TEXT for comment content; there is no standalone comment command.interact requires either --id or --url, plus at least one of --like, --collect, or --comment TEXT.--id is required for get-profile.--type, --title, --content, --video, --image, --tag, and --publish are the main publish flags.publish usually requires a connected and logged-in instance before running; without --publish, it saves a draft.When answering users:
browser connect and login if the command requires an authenticated instance--name is requiredhome or search first when the user still needs to find a postget-feed-detail before interact --comment when the user wants to inspect the post before replyingget-feed-detail, recommend --id first and treat --url as a fallback onlyinteract, recommend --id first and treat --url as a fallback onlyIf a command fails, check these in order:
rednote browser create --name NAME ...rednote browser connect --instance NAME --force--keyword, --id or --url, --comment, or --content