360 Secure SkillHub
360 安全技能中心

Rednote CLI

该 Skill 围绕 @skills-store/rednote 命令行工具,指导在终端完成小红书(RedNote)操作:检查环境与浏览器实例状态、创建并连接实例、扫码登录、读取推荐流、关键词搜索、获取笔记详情与评论、查看作者资料、点赞收藏评论,以及发布图文、视频或文章,并说明 JSON 输出保存规则与常见排查顺序。

darknoah
darknoah
热度 87.61
最近更新 2026-05-11 17:29:52
分类:营销依赖:代码执行 / 联网浏览搜索 / 读写文件应用场景:社交媒体 / 自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add rednote-cli
Metadata
name
rednote
description
Use when the user wants to operate Xiaohongshu (RedNote) from the terminal with the `@skills-store/rednote` CLI, including browser setup, login, environment checks, feed browsing, note inspection, profile lookup, and publishing.

Rednote Commands

Use this skill only for the CLI command surface of @skills-store/rednote when the user wants to operate Xiaohongshu from the terminal.

Focus on:

  • the exact command to run
  • the minimum required flags
  • the correct command order
  • practical, copy-paste-ready examples

Preferred command style

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.

Feature overview

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

Core workflow

Use this sequence for most live Xiaohongshu operations:

  1. rednote env
  2. rednote browser list; if no custom instance exists, create one with rednote browser create --name seller-main --browser chrome --port 9222
  3. rednote browser connect
  4. rednote login or rednote check-login
  5. rednote status
  6. Run home, search, get-feed-detail, get-profile, publish, or interact

If 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.

Common use cases

Find posts from the home feed

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.

Find posts by keyword

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.

Get one note's detail

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.

Interact with one note

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

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.

End-to-end examples

Home → detail → interact comment

Find a post, inspect it, then reply:

rednote home --format md
rednote get-feed-detail --id NOTE_ID
rednote interact --id NOTE_ID --comment "谢谢分享,信息整理得很完整,对我很有帮助。"

Home → detail → like or collect

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

Search → detail → interact comment

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 "这份搭配看起来很实用,食材和步骤都写得很清楚。"

Inspect profile after finding a post

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

Command reference

browser

Use 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.

version

rednote --version

Use --version when the user wants to check the installed @skills-store/rednote version.

env

rednote env
rednote env --format json --save ./output/env.json

Use env when the user is debugging installation or local setup.

status

rednote status

Use status to confirm whether the instance exists, is running, and appears logged in.

check-login

rednote check-login

Use check-login when the user only wants to verify whether the session is still valid.

login

rednote 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.

home

rednote home --format md --save

Use home when the user wants the current home feed and optionally wants to save it.

search

rednote search --keyword 护肤
rednote search --keyword 护肤 --format json --save ./output/search.json

Use search when the user wants notes by keyword.

get-feed-detail

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 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.

  • Without --comments, the saved JSON contains only the note item array.
  • With --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.
  • With --comments COUNT, the CLI scrolls .note-scroller until it has collected about COUNT comments, reaches the end, or times out.
  • In JSON mode, --save PATH is required, and the saved file contains only the note items array instead of the full wrapper object.

get-profile

rednote 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.
  • When --format json is used, --save PATH is required, and the saved JSON contains only the selected mode data instead of the full wrapper object.

interact

Prefer 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.

publish

rednote 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.

JSON save rules

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.
  • The command prints only the saved file path plus a field-format example; the full payload is written to disk.
  • 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.

Flag guidance

  • --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.
  • Prefer --id for get-feed-detail; use --url only when the internal note ID is unavailable.
  • Prefer --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.

Response style

When answering users:

  • lead with the exact command they should run
  • include only the flags needed for that task
  • prefer one happy-path example first
  • mention browser connect and login if the command requires an authenticated instance
  • if no custom instance exists yet, first tell the user to create one and call out that --name is required
  • recommend home or search first when the user still needs to find a post
  • recommend get-feed-detail before interact --comment when the user wants to inspect the post before replying
  • for get-feed-detail, recommend --id first and treat --url as a fallback only
  • for interact, recommend --id first and treat --url as a fallback only

Troubleshooting

If a command fails, check these in order:

  • the instance name is correct
  • the browser instance was created or connected; if no custom instance exists yet, create one first with rednote browser create --name NAME ...
  • login was completed for that instance
  • the profile was not blocked by a stale lock; if it was, run rednote browser connect --instance NAME --force
  • the user provided the required flag such as --keyword, --id or --url, --comment, or --content