HomeBrowseUpload
← Back to registry
// Skill profile

Rednote Commands

name: rednote

by darknoah · published 2026-03-22

图像生成数据处理加密货币
Total installs
0
Stars
★ 0
Last updated
2026-03
// Install command
$ claw add gh:darknoah/darknoah-rednote-cli
View on GitHub
// Full documentation

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`
  • // Comments
    Sign in with GitHub to leave a comment.
    // Related skills

    More tools from the same signal band