Skip to content

Repository files navigation

xhs-skills


仓库地址:https://github.com/tensorslab/xhs-skills.git

本项目基于 Skills 工作流重新组织了小红书内容创作、图片生成与发布能力。当前仓库相对于原上游仓库在目录结构、技能拆分、提示词协作方式、发布流程和方案展示细节上都已发生较大变化;原上游仓库已移入致谢列表。

项目包含两个小红书创作技能(各司其职),并通过独立的 xhs-publisher 技能完成发布:

技能 定位 适用场景
xhs-note-creator 文字类小红书创作与卡片渲染 撰写文案 → 专业化排版渲染卡片
xhs-images-design 图片类小红书图文卡片生成 AI 生成插画/卡通/手绘风格原创配图
xhs-publisher 小红书发布(浏览器自动化) 驱动真实浏览器,模拟真人操作把卡片发布到小红书

核心能力:

  • 创作与渲染由两个 skill 各司其职;发布统一交由 xhs-publisher真实浏览器模拟用户操作完成,全程不调用任何平台私有接口、不抓取 Cookie 签名,规避直接调接口的高风险。
  • 发布默认采用「仅自己可见」,不会直接公开;用户可在小红书中确认后再自行公开。
  • 文字类与图片类内容分别由两个 skill 处理,提示词已调整为更协调的协作关系。
  • 方案展示细节经过专业化改造,更适合内容确认、风格选择和后续复用。

合规与使用边界

本项目定位为创作辅助与私密草稿推送工具,不鼓励也不支持无人值守的托管运营、批量发布或绕过平台规则的行为。所有内容默认仅自己可见,需由用户在小红书端确认后自行公开。

本仓库不是 GitHub fork,而是在 MIT License 允许范围内基于相关项目重新组织、改造和扩展。原始来源已在致谢中列出,并在 LICENSE 中保留对应版权声明。


安装

方式一:Claude Code Plugin 安装(推荐)

# 添加本仓库为 marketplace
/plugin marketplace add tensorslab/xhs-skills

# 安装插件
/plugin install xhs-skills@tensorslab-xhs-skills

安装后运行 /reload-plugins 即可使用。

方式二:一句话安装

跟你的 Agent 说:

拉取下面的项目,安装其中的技能:https://github.com/tensorslab/xhs-skills.git

方式三:手动安装

git clone https://github.com/tensorslab/xhs-skills.git
cd xhs-skills

可以将本项目skills 目录中所有skill 放到支持 Skills 的客户端目录,例如:

  • Claude:~/.claude/skills/
  • Alma:~/.config/Alma/skills/
  • TRAE:/your-path/.trae/skills/

安装依赖

Python:

pip install -r requirements.txt
playwright install chromium

Node.js:

npm install
npx playwright install chromium

发布使用浏览器自动化,需额外安装 playwright-cli:npm install -g @playwright/cli(详见 技能三)。


技能一:xhs-note-creator(文字类小红书创作与卡片渲染)

以文字内容为主的笔记场景:干货分享、知识科普、清单排行、教程步骤等。

工作流程

  1. 撰写小红书笔记文案(标题 + 正文 + 标签)
  2. 生成渲染用 Markdown 文档
  3. 通过本地脚本渲染专业化图片卡片(9 种主题 + 多种分页模式)
  4. 渲染完成后,交由 xhs-publisher 技能通过真实浏览器发布(默认仅自己可见)

渲染图片(Python)

核心脚本:skills/xhs-note-creator/scripts/render_xhs.py

# 最简单用法(默认主题 + 手动分页)
python skills/xhs-note-creator/scripts/render_xhs.py demos/content.md

# 使用自动分页(推荐:内容长短难控)
python skills/xhs-note-creator/scripts/render_xhs.py demos/content.md -m auto-split

# 使用固定尺寸自动缩放(auto-fit)
python skills/xhs-note-creator/scripts/render_xhs.py demos/content_auto_fit.md -m auto-fit

# 切换主题(例如 Playful Geometric)
python skills/xhs-note-creator/scripts/render_xhs.py demos/content.md -t playful-geometric -m auto-split

# 自定义尺寸和像素比
python skills/xhs-note-creator/scripts/render_xhs.py demos/content.md -t retro -m dynamic --width 1080 --height 1440 --max-height 2160 --dpr 2

主要参数:

参数 简写 说明
--theme -t 可用主题:defaultplayful-geometricneo-brutalismbotanicalprofessionalretroterminalsketchglassmorphism
--mode -m 分页模式:separator / auto-fit / auto-split / dynamic
--width -w 图片宽度(默认 1080)
--height 图片高度(默认 1440,dynamic 为最小高度)
--max-height dynamic 模式最大高度(默认 2160)
--dpr 设备像素比,控制清晰度(默认 2)

生成结果:封面 cover.png + 正文卡片 card_1.pngcard_2.png...

渲染图片(Node.js)

脚本:skills/xhs-note-creator/scripts/render_xhs.js,参数与 Python 基本一致:

# 默认主题 + 手动分页
node skills/xhs-note-creator/scripts/render_xhs.js demos/content.md

# 指定主题 + 自动分页
node skills/xhs-note-creator/scripts/render_xhs.js demos/content.md -t terminal -m auto-split

发布到小红书

本技能只负责文案创作与卡片渲染,已不再内置任何发布脚本或 Cookie/接口调用(早期版本的 publish_xhs.py 直接调接口,风险极高,已彻底移除)。发布统一交由独立的 xhs-publisher 技能完成——详见下文 技能三

主题效果示例

所有示例均为 1080x1440px,小红书推荐 3:4 比例 更多示例去 demo 中查看

Playful Geometric Retro
Sketch Terminal

Auto-fit 模式示例(自动缩放)

Auto Fit


技能二:xhs-images-design(图片类小红书图文卡片生成)

AI 生成插画/卡通/手绘配图的图文并茂内容:种草分享、手绘笔记、知识图解、视觉冲击封面等。

支持 12 种视觉风格、8 种信息布局和 3 种配色方案,通过 AI 图像生成工具创建 1-10 张风格化图片卡片。该 skill 已加入本项目的整体小红书工作流,并与 xhs-note-creator 的提示词边界保持协调:文字类内容优先走 xhs-note-creator,需要 AI 原创配图、图解或视觉化表达时走 xhs-images-design

生成图片后,同样交由 xhs-publisher 技能通过真实浏览器发布到小红书(默认仅自己可见)。

详见 skills/xhs-images-design/SKILL.md


技能三:xhs-publisher(小红书发布 · 浏览器自动化)

xhs-note-creator / xhs-images-design 渲染好的图文卡片,通过真实浏览器发布到小红书网页版(creator.xiaohongshu.com)。全程不调用任何平台接口,不维护 Cookie 签名。

为什么用浏览器而不是接口?

早期版本曾通过 publish_xhs.py 直接调用小红书接口发布,风险极高(接口签名频繁变动、易触发风控、账号受限),已彻底移除。改用浏览器自动化后:

  • 真实模拟用户操作:自动化驱动的是带插件的真实 Chrome(navigator.webdriver=false、真实 UA,非带自动化指纹的 Chromium),从打开页面、扫码登录、填写标题正文、上传图片到点击「发布」按钮,每一步都是真实的用户级交互,与真人手动发帖行为一致。
  • 不碰私有接口:无需逆向签名算法、无需抓取并维护 Cookie,平台风控无从识别为「机器调接口」。
  • 连发免重复登录:同一浏览器会话 Cookie 持久,一个会话内连发多篇都无需重新扫码。

一句话核心:小红书「发布」按钮藏在一个自定义元素 XHS-PUBLISH-BTNclosed shadow DOM 里,常规点击和 Playwright 文本/角色定位器都够不到——xhs-publisher 用 CDP pierce:true 取坐标后做真实鼠标点击,这是该技能的核心价值。

前置条件

  • playwright-cli 已安装(包名 @playwright/cli):
npm install -g @playwright/cli
  • 浏览器已登录小红书创作者平台 https://creator.xiaohongshu.com ,或使用 --headed 模式手动扫码登录(自动化浏览器无法替用户扫码)。

使用方式

渲染完卡片后,调用 xhs-publisher 技能,把标题、正文和 cover.pngcard_*.png 交给它。技能会自动:打开小红书 → 扫码登录(首次)→ 进入图文发布页 → 上传图片 → 填标题正文 → 默认设为「仅自己可见」 → 点击发布。发布后由你在小红书端自行决定是否公开。

完整流程、坑点与验证记录详见 skills/xhs-publisher/SKILL.md


项目结构

xhs-skills/
├── README.md                         # 项目文档
├── requirements.txt                  # Python 依赖
├── package.json                      # Node.js 依赖
├── demos/                            # 各主题示例渲染结果
│   ├── content.md
│   ├── content_auto_fit.md
│   ├── auto-fit/
│   ├── playful-geometric/
│   ├── retro/
│   ├── Sketch/
│   └── terminal/
├── skills/
│   ├── xhs-note-creator/             # 文字类小红书技能(创作 + 卡片渲染)
│   │   ├── SKILL.md
│   │   ├── scripts/
│   │   │   ├── render_xhs.py         # Python 渲染(9 主题 + 多种分页)
│   │   │   ├── render_xhs_v2.py      # Python 渲染 V2(渐变色彩风格)
│   │   │   ├── render_xhs.js         # Node.js 渲染
│   │   │   └── render_xhs_v2.js      # Node.js 渲染 V2
│   │   ├── assets/
│   │   │   ├── cover.html            # 封面 HTML 模板
│   │   │   ├── card.html             # 正文卡片 HTML 模板
│   │   │   ├── styles.css            # 公共容器样式
│   │   │   ├── example.md            # 示例 Markdown
│   │   │   └── themes/               # 主题样式
│   │   └── references/
│   │       └── params.md             # 完整参数参考
│   ├── xhs-images-design/            # 图片类小红书图文卡片技能
│   │   ├── SKILL.md
│   │   └── references/               # 风格/布局/配色参考文档
│   └── xhs-publisher/          # 小红书发布技能(浏览器自动化)
│       ├── SKILL.md
│       └── references/
│           └── playwright-cli.md   # Playwright CLI 操作参考

注意事项

  1. 浏览器发布更安全:发布由 xhs-publisher 用真实浏览器模拟用户操作完成,不调用平台接口、不维护 Cookie 签名,规避「机器调接口」被风控的风险。
  2. 默认私密发布:发布到小红书后默认仅自己可见,不会直接公开,用户确认后再自行公开。
  3. 发布频率:避免短时间内高频发布,以免触发平台风控。
  4. 图片尺寸:默认 1080x1440px,符合小红书推荐比例。

致谢


License

MIT License. See LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages