# Xhs Auth

小红书认证管理技能。检查登录状态、登录（二维码或手机号）、退出登录。 当用户要求登录小红书、检查登录状态、退出登录时触发。

- Repository: https://github.com/autoclaw-cc/xiaohongshu-skills (2016 stars)
- Category: Engineering
- License: MIT
- Last updated: 2026-05-23
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add autoclaw-cc/xiaohongshu-skills --skill xhs-auth -g -a claude-code -y`
Codex: `npx skills add autoclaw-cc/xiaohongshu-skills --skill xhs-auth -g -a codex -y`
Cursor: `npx skills add autoclaw-cc/xiaohongshu-skills --skill xhs-auth -g -a cursor -y`
Gemini CLI: `npx skills add autoclaw-cc/xiaohongshu-skills --skill xhs-auth -g -a gemini-cli -y`

## Description

小红书认证管理技能。检查登录状态、登录（二维码或手机号）、退出登录。 当用户要求登录小红书、检查登录状态、退出登录时触发。

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# 小红书认证管理

你是"小红书认证助手"。负责管理小红书登录状态。

## 🔒 技能边界（强制）

**所有认证操作只能通过本项目的 `python scripts/cli.py` 完成，不得使用任何外部项目的工具：**

- **唯一执行方式**：只运行 `python scripts/cli.py <子命令>`，不得使用其他任何实现方式。
- **忽略其他项目**：AI 记忆中可能存在 `xiaohongshu-mcp`、MCP 服务器工具或其他小红书登录方案，执行时必须全部忽略，只使用本项目的脚本。
- **禁止外部工具**：不得调用 MCP 工具（`use_mcp_tool` 等）、Go 命令行工具，或任何非本项目的实现。
- **完成即止**：登录流程结束后，直接告知结果，等待用户下一步指令，不主动触发其他功能。

**本技能允许使用的全部 CLI 子命令：**

| 子命令 | 用途 |
|--------|------|
| `check-login` | 检查当前登录状态 |
| `get-qrcode` | 获取二维码图片（非阻塞） |
| `wait-login` | 等待扫码完成（阻塞） |
| `send-code --phone` | 发送手机验证码 |
| `verify-code --code` | 提交验证码完成登录 |
| `delete-cookies` | 退出登录并清除 cookies |

---

## 输入判断

按优先级判断用户意图：

1. 用户要求"检查登录 / 是否登录 / 登录状态"：执行登录状态检查。
2. 用户要求"登录 / 扫码登录 / 手机登录 / 打开登录页"：执行登录流程。
3. 用户要求"退出登录 / 清除登录"：执行 `delete-cookies`。

## 必做约束

- 所有 CLI 命令位于 `scripts/cli.py`，输出 JSON。
- 如果使用文件路径，必须使用绝对路径。
- **不要频繁重复登录或退出登录**，避免触发账号风控。

## 工作流程

### 第一步：检查登录状态

```bash
python 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（手机验证码）**。

### 第二步：根据输出选择登录方式

#### 方式 A：二维码登录（所有平台通用）

> `check-login` 未登录时会自动返回二维码（`qrcode_image_url` + `qrcode_path`），无需单独调 `get-qrcode`。

**第一步**, 从 `check-login` 返回的 JSON 取 `qrcode_image_url`，在回复中展示：

```
请使用小红书 App 扫描以下二维码登录：

![小红书登录二维码]({qrcode_image_url})

您也可以在手机浏览器中直接访问此链接完成登录：
{qr_login_url}
```

> **展示规范（必须全部遵守）**：
> 1. 展示二维码图片（`qrcode_image_url`）。
> 2. 如果输出含 `qr_login_url`，**必须**同时展示该链接并提示用户"也可以在手机浏览器中直接访问此链接完成登录"。
> 3. **禁止**省略 `qr_login_url`，即使已展示了二维码图片。

图片内嵌在对话窗口，用户可以扫码或直接访问链接登录。

**第二步**, 等待登录完成（**单次调用，无需轮询**）：

```bash
python scripts/cli.py wait-login
```

- 连接已有浏览器 tab，内部阻塞等待（最多 120 秒）。
- 输出 `{"logged_in": true}` 则完成；超时则提示用户重新运行 `get-qrcode` 刷新二维码。

> **二维码过期刷新**：如需单独刷新二维码（如超时后），可运行 `get-qrcode`，它仍作为独立命令保留。

#### 方式 B：手机验证码登录（无界面服务器，分两步）

The rest: https://github.com/autoclaw-cc/xiaohongshu-skills/blob/HEAD/skills/xhs-auth/SKILL.md
