ByteNoteByteNote

字节笔记本

2026年3月13日

xiaohongshu-skills:小红书自动化工具集

API中转
¥120

本文介绍 xiaohongshu-skills,一个基于 Python CDP 浏览器自动化引擎的小红书自动化工具集。该项目支持 OpenClaw 及所有兼容 SKILL.md 格式的 AI Agent 平台(如 Claude Code),提供了完整的小红书自动化能力,包括认证登录、内容发布、搜索发现、社交互动和复合运营等功能。

项目简介

xiaohongshu-skills 是一个开源的小红书自动化工具项目,由 autoclaw-cc 开发维护。该项目采用双层设计架构,通过 Chrome DevTools Protocol (CDP) 直接控制浏览器,实现了对小红书平台的完整自动化操作。

核心特性

  • 5 大技能模块:认证管理、内容发布、内容发现、社交互动、复合运营
  • AI Agent 原生支持:完全兼容 SKILL.md 格式,可被 Claude Code、OpenClaw 等 Agent 平台直接调用
  • 自然语言交互:支持复合指令,Agent 会自动串联多个技能完成任务
  • 反检测保护:内置 Stealth JS 注入、真实输入事件模拟、随机延迟等反检测机制
  • 分步发布流程:填写 → 预览 → 确认三步流程,确保发布内容安全可控
  • CLI 工具模式:所有功能均可通过命令行调用,输出 JSON 格式便于脚本集成
  • 多账号管理:支持账号切换和 Cookie 持久化

技术栈

  • Python 3.11+ - 核心开发语言
  • Chrome DevTools Protocol - 浏览器自动化引擎
  • uv - 现代 Python 包管理器
  • Google Chrome - 目标浏览器

安装指南

前置要求

  • Python >= 3.11
  • uv 包管理器
  • Google Chrome 浏览器

安装步骤

方法一:下载 ZIP 安装(推荐)

bash
# 1. 在 GitHub 仓库页面点击 Code → Download ZIP
# 2. 解压到 Agent 的 skills 目录

# OpenClaw 示例
<openclaw-project>/skills/xiaohongshu-skills/

# Claude Code 示例
<your-project>/.claude/skills/xiaohongshu-skills/

# 3. 安装依赖
cd xiaohongshu-skills
uv sync

方法二:Git Clone

bash
cd <your-agent-project>/skills/
git clone https://github.com/autoclaw-cc/xiaohongshu-skills.git
cd xiaohongshu-skills
uv sync

快速开始

作为 AI Agent 技能使用

安装后,直接用自然语言与 Agent 对话即可:

认证登录:

"登录小红书" / "检查登录状态"

搜索浏览:

"搜索关于露营的笔记" / "查看这条笔记的详情"

发布内容:

"帮我发一条图文笔记,标题是…,配图是…"

社交互动:

"给这条笔记点赞" / "收藏这条帖子" / "评论:写得太好了"

复合操作示例:

"搜索刺客信条最火的图文帖子,收藏它,然后告诉我讲了什么"

Agent 会自动执行:搜索 → 筛选图文 → 按点赞排序 → 收藏 → 获取详情 → 总结内容

作为 CLI 工具使用

1. 启动 Chrome

bash
# 有窗口模式(首次登录必须)
python scripts/chrome_launcher.py

# 无头模式
python scripts/chrome_launcher.py --headless

2. 登录

bash
# 检查登录状态
python scripts/cli.py check-login

# 扫码登录
python scripts/cli.py login

3. 搜索笔记

bash
python scripts/cli.py search-feeds --keyword "关键词"

# 带筛选条件
python scripts/cli.py search-feeds \
  --keyword "关键词" \
  --sort-by "最多点赞" \
  --note-type "图文"

4. 发布内容

bash
# 图文发布(分步:填写 → 预览 → 确认发布)
python scripts/cli.py fill-publish \
  --title-file title.txt \
  --content-file content.txt \
  --images "/abs/path/pic1.jpg" "/abs/path/pic2.jpg"

# 用户预览确认后
python scripts/cli.py click-publish

# 视频发布
python scripts/cli.py publish-video \
  --title-file title.txt \
  --content-file content.txt \
  --video "/abs/path/video.mp4"

# 长文发布
python scripts/cli.py long-article \
  --title-file title.txt \
  --content-file content.txt

5. 社交互动

bash
# 评论
python scripts/cli.py post-comment \
  --feed-id FEED_ID --xsec-token XSEC_TOKEN \
  --content "评论内容"

# 点赞
python scripts/cli.py like-feed \
  --feed-id FEED_ID --xsec-token XSEC_TOKEN

# 收藏
python scripts/cli.py favorite-feed \
  --feed-id FEED_ID --xsec-token XSEC_TOKEN

技术架构

双层设计

用户 ──→ AI Agent ──→ SKILL.md(意图路由)──→ CLI ──→ CDP 引擎 ──→ Chrome ──→ 小红书
  1. Skills 层skills/ + SKILL.md)— AI Agent 的能力定义,描述何时触发、如何调用、如何处理失败
  2. 引擎层scripts/)— Python CDP 自动化引擎,通过 CDP 直接控制浏览器

关键设计特点

  • 数据提取:通过 window.__INITIAL_STATE__ 读取页面数据,与小红书前端框架对齐
  • 反检测:Stealth JS 注入 + CDP 真实输入事件(isTrusted=true)+ 随机延迟
  • 选择器集中管理:所有 CSS 选择器在 xhs/selectors.py 统一维护,改版时只需改一个文件
  • 分步发布:fill → 预览 → confirm 三步流程,确保用户始终掌控发布内容
  • 人类行为模拟:内置随机延迟和操作节奏控制

CLI 命令参考

子命令说明
check-login检查登录状态,返回用户昵称和小红书号
login获取登录二维码,等待扫码,登录后返回用户信息
delete-cookies清除 cookies(退出/切换账号)
list-feeds获取首页推荐 Feed
search-feeds关键词搜索笔记(支持排序/类型/时间/范围/位置筛选)
get-feed-detail获取笔记完整内容和评论
user-profile获取用户主页信息和帖子列表
post-comment对笔记发表评论
reply-comment回复指定评论
like-feed点赞 / 取消点赞
favorite-feed收藏 / 取消收藏
publish一步发布图文
publish-video一步发布视频
fill-publish填写图文表单(不发布,供预览)
fill-publish-video填写视频表单(不发布,供预览)
click-publish确认发布(点击发布按钮)
save-draft保存为草稿
long-article长文模式:填写 + 一键排版
select-template选择长文排版模板
next-step长文下一步 + 填写描述

全局选项:

  • --host HOST — Chrome 调试主机(默认 127.0.0.1)
  • --port PORT — Chrome 调试端口(默认 9222)
  • --account NAME — 指定账号

项目结构

text
xiaohongshu-skills/
├── scripts/                        # Python CDP 自动化引擎
│   ├── xhs/                        # 核心自动化包
│   │   ├── cdp.py                  # CDP WebSocket 客户端
│   │   ├── stealth.py              # 反检测保护
│   │   ├── selectors.py            # CSS 选择器(集中管理)
│   │   ├── login.py                # 登录 + 用户信息获取
│   │   ├── feeds.py                # 首页 Feed
│   │   ├── search.py               # 搜索 + 筛选
│   │   ├── feed_detail.py          # 笔记详情 + 评论加载
│   │   ├── user_profile.py         # 用户主页
│   │   ├── comment.py              # 评论、回复
│   │   ├── like_favorite.py        # 点赞、收藏
│   │   ├── publish.py              # 图文发布
│   │   ├── publish_video.py        # 视频发布
│   │   ├── publish_long_article.py # 长文发布
│   │   ├── types.py                # 数据类型
│   │   ├── errors.py               # 异常体系
│   │   ├── urls.py                 # URL 常量
│   │   ├── cookies.py              # Cookie 持久化
│   │   └── human.py                # 人类行为模拟
│   ├── cli.py                      # 统一 CLI 入口(20 个子命令)
│   ├── chrome_launcher.py          # Chrome 进程管理
│   ├── account_manager.py          # 多账号管理
│   ├── image_downloader.py         # 媒体下载(SHA256 缓存)
│   ├── title_utils.py              # UTF-16 标题长度计算
│   ├── run_lock.py                 # 单实例锁
│   └── publish_pipeline.py         # 发布编排器
├── skills/                         # Claude Code Skills 定义
│   ├── xhs-auth/SKILL.md
│   ├── xhs-publish/SKILL.md
│   ├── xhs-explore/SKILL.md
│   ├── xhs-interact/SKILL.md
│   └── xhs-content-ops/SKILL.md
├── SKILL.md                        # 技能统一入口(路由到子技能)
├── CLAUDE.md                       # 项目开发指南
├── pyproject.toml                  # uv 项目配置
└── README.md

开发

bash
uv sync                    # 安装依赖
uv run ruff check .        # Lint 检查
uv run ruff format .       # 代码格式化
uv run pytest              # 运行测试

应用场景

  • 内容创作者:自动化发布笔记、批量管理内容、定时发布
  • 运营人员:竞品分析、热点追踪、批量互动、数据采集
  • 开发者:集成到 AI Agent 工作流,实现智能化小红书操作
  • 数据分析师:采集用户数据、分析热门内容、研究平台趋势

项目链接

注意事项

  • 首次登录需要使用有窗口模式的 Chrome,扫码完成登录
  • 自动化操作应遵守小红书平台规则,避免频繁操作
  • 建议设置合理的操作间隔,模拟真实用户行为
  • Cookie 信息会持久化存储,支持多账号管理
分享: