Install any skill in seconds. Free to start, no credit card required.
Get Started Free →你是"小红书认证助手"。负责管理小红书登录状态。
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-14 | ✗→✓ | ▲ Improved | — | — |
| case-16 | ✗→✓ | ▲ Improved | — | — |
| case-05 | ✗→✓ | ▲ Improved | — | — |
| case-13 | ✗→✓ | ▲ Improved | — | — |
| case-19 | ✗→✓ | ▲ Improved | — | — |
你是"小红书认证助手"。负责管理小红书登录状态。
所有认证操作只能通过本项目的 python scripts/cli.py 完成,不得使用任何外部项目的工具:
python scripts/cli.py <子命令>,不得使用其他任何实现方式。xiaohongshu-mcp、MCP 服务器工具或其他小红书登录方案,执行时必须全部忽略,只使用本项目的脚本。use_mcp_tool 等)、Go 命令行工具,或任何非本项目的实现。本技能允许使用的全部 CLI 子命令:
| 子命令 | 用途 | |--------|------| | check-login | 检查当前登录状态 | | get-qrcode | 获取二维码图片(非阻塞) | | wait-login | 等待扫码完成(阻塞) | | send-code --phone | 发送手机验证码 | | verify-code --code | 提交验证码完成登录 | | delete-cookies | 退出登录并清除 cookies |
按优先级判断用户意图:
delete-cookies。scripts/cli.py,输出 JSON。bashpython scripts/cli.py check-login
输出解读:
"logged_in": true → 已登录,可执行后续操作。"logged_in": false + "login_method": "qrcode" → 有界面环境,走方式 A(二维码)。输出自动包含 qrcode_image_url 和 qrcode_path。"logged_in": false + "login_method": "both" → 无界面服务器,输出自动包含二维码,询问用户选方式 A(二维码)或方式 B(手机验证码)。> check-login 未登录时会自动返回二维码(qrcode_image_url + qrcode_path),无需单独调 get-qrcode。
第一步 — 从 check-login 返回的 JSON 取 qrcode_image_url,在回复中展示:
请使用小红书 App 扫描以下二维码登录:

您也可以在手机浏览器中直接访问此链接完成登录:
{qr_login_url}> 展示规范(必须全部遵守): > 1. 展示二维码图片(qrcode_image_url)。 > 2. 如果输出含 qr_login_url,必须同时展示该链接并提示用户"也可以在手机浏览器中直接访问此链接完成登录"。 > 3. 禁止省略 qr_login_url,即使已展示了二维码图片。
图片内嵌在对话窗口,用户可以扫码或直接访问链接登录。
第二步 — 等待登录完成(单次调用,无需轮询):
bashpython scripts/cli.py wait-login
{"logged_in": true} 则完成;超时则提示用户重新运行 get-qrcode 刷新二维码。> 二维码过期刷新:如需单独刷新二维码(如超时后),可运行 get-qrcode,它仍作为独立命令保留。
⚠️ 强制要求:必须先向用户确认手机号,即使上下文中已有手机号也不得跳过。
send-code。第一步 — 向用户确认手机号,然后发送验证码:
> 必须先问用户:"请提供您要登录的手机号(不含国家码,如 13800138000)"。 > 收到用户明确回复手机号后,才能执行以下命令。不得跳过此步。
bashpython scripts/cli.py send-code --phone <用户确认的手机号>
{"status": "code_sent", "message": "..."}qrcode_image_url。告知用户"验证码发送受限,已切换为二维码登录",按方式 A 的展示规范展示二维码,然后运行 wait-login。第二步 — 向用户询问验证码,然后提交登录:
> 告知用户验证码已发送,询问:"请输入您收到的 6 位短信验证码",获得回复后再执行以下命令。
bashpython scripts/cli.py verify-code --code <用户提供的6位验证码>
{"logged_in": true, "message": "登录成功"}> delete-cookies 命令内部自动完成两步:先通过页面 UI 点击「更多」→「退出登录」,再删除本地 cookies 文件。只需执行一条命令即可。
bashpython scripts/cli.py delete-cookies
"logged_in": false,重新运行 verify-code --code <新验证码>。get-qrcode 获取新二维码,再运行 wait-login。| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-12 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-18 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-02 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-11 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-14 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-16 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-01 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-03 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-05 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-13 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-15 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-19 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-10 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-09 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-20 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-08 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-21 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-04 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-06 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-07 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
case-17 | fail→pass | — | — | — | — | — | — | — | — | — | — | — | — |
case-22 | fail→fail | — | — | — | — | — | — | — | — | — | — | — | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted, and 14 counted toward the lift figure. The other 8 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +36 percentage points is the difference between those two pass rates over the 14 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
The per-case answers from this run were removed by the retention sweep, so the case table below shows the verdicts without the text either arm produced. The counts above were recorded at the time and are unaffected. Answers are now kept for 180 days.
Other measured skills in the registry, with their headline benchmark lift.