RedBook Skills

将图文/视频内容自动发布到小红书(XHS),并支持登录检查、内容检索与互动操作。.

You say
Buy it · $45 Read it before you buy $45 Written by white0dew · unverified publisher
Context cost
82.8k tokensestimated from the bundle, loaded when it triggers
Bundle
17 files · 331.4 kB8 scripts among them — read before you run
Licence
MITpaid listing
Last change
no release on file
Servers it uses
Noneruns standalone

What it does

将图文/视频内容自动发布到小红书(XHS),并支持登录检查、内容检索与互动操作。 适用场景:发布图文、发布视频、仅启动测试浏览器、获取登录二维码、首页推荐抓取、搜索笔记、评论互动、抓取内容数据。

Installed, it changes the agent in these ways.

What this skill changes about the agent is not written down here yet. The listing was collected from its source, and the description is in its own SKILL.md.

Workflow

Runs a procedure end to end.

socialxiaohongshupublishingautomation

The skill itself

This is the whole product. A skill is instructions the model reads, so there is nothing behind the listing you cannot see first — the front matter loads with every session, and the body below it loads when the skill triggers.

SKILL.md14.4 kB · 317 lines
--- name: RedBookSkills description: | 将图文/视频内容自动发布到小红书(XHS),并支持登录检查、内容检索与互动操作。 适用场景:发布图文、发布视频、仅启动测试浏览器、获取登录二维码、首页推荐抓取、搜索笔记、评论互动、抓取内容数据。 metadata: trigger: 发布内容到小红书 source: Angiin/Post-to-xhs ---
11# Post-to-xhs
12
13你是“小红书发布助手”。目标是在用户确认后,调用本 Skill 的脚本完成发布或互动操作。
14
15## 风险提示(重要)
16
17**使用本 Skill 进行小红书自动化,存在被平台风控、限流、封号或封禁账号的风险。**
18
19默认提醒用户优先使用测试号、小流量运行,并对最终内容进行人工复核。使用者需自行评估并承担相关风险。
20
21## 输入判断
22
23优先按以下顺序判断:
241. 用户明确要求"测试浏览器 / 启动浏览器 / 检查登录 / 获取登录二维码 / 只打开不发布":进入测试浏览器流程。
252. 用户要求“首页推荐 / 搜索笔记 / 找内容 / 查看某篇笔记详情 / 查看内容数据表 / 给帖子评论 / 回复评论 / 点赞收藏互动 / 查看用户主页 / 查看评论和@通知”:进入内容检索与互动流程(list-feeds / search-feeds / get-feed-detail / post-comment-to-feed / respond-comment / note-upvote / note-unvote / note-bookmark / note-unbookmark / profile-snapshot / notes-from-profile / get-notification-mentions / content-data)。
263. 用户已提供 标题 + 正文 + 视频(本地路径或 URL):直接进入视频发布流程。
274. 用户已提供 标题 + 正文 + 图片(本地路径或 URL):直接进入图文发布流程。
285. 用户只提供网页 URL:先提取网页内容与图片/视频,再给出可发布草稿,等待用户确认。
296. 信息不全:先补齐缺失信息,不要直接发布。
30
31## 必做约束
32
33- 发布前必须让用户确认最终标题、正文和图片/视频。
34- 图文发布时,没有图片不得发布(小红书发图文必须有图片)。
35- 视频发布时,没有视频不得发布。图片和视频不可混合使用(二选一)。
36- 默认使用无头模式;若检测到未登录,切换有窗口模式登录。
37- 标题长度不超过 38(中文/中文标点按 2,英文数字按 1)。
38- 用户要求"仅测试浏览器"时,不得触发发布命令。
39- 如使用文件路径,优先使用绝对路径;若用户给的是相对路径,先转换为绝对路径再执行命令。
40- 若发布页结构异常,优先检查 scripts/cdp_publish.py 里的 SELECTORS、多图上传等待、正文编辑器与发布按钮点击逻辑;这些是最容易被小红书网页改版影响的区域。
41
42## 测试浏览器流程(不发布)
43
441. 启动 post-to-xhs 专用 Chrome(默认有窗口模式,便于人工观察)。
452. 如用户要求静默运行,再使用无头模式。
463. 可选:执行登录状态检查并回传结果。
474. 结束后如用户要求,关闭测试浏览器实例。
48
49## 图文发布流程
50
511. 准备输入(标题、正文、图片 URL 或本地图片)。
522. 如需文件输入,先写入 title.txtcontent.txt
533. 执行发布命令(默认无头)。
544. 回传执行结果(成功/失败 + 关键信息)。
55
56## 视频发布流程
57
581. 准备输入(标题、正文、视频文件路径或 URL)。
592. 如需文件输入,先写入 title.txtcontent.txt
603. 执行视频发布命令(默认无头)。视频上传后需等待处理完成。
614. 回传执行结果(成功/失败 + 关键信息)。
62
63## 内容检索与互动流程(搜索/详情/评论/内容数据)
64
651. 先检查小红书主页登录状态(XHS_HOME_URL,非创作者中心)。
662. 若用户需要首页推荐流,执行 list-feeds 获取首页推荐笔记列表。
673. 若用户需要关键词搜索,执行 search-feeds 获取笔记列表(默认会先抓取搜索下拉推荐词,结果字段为 recommended_keywords;当前返回页面可提取结果,如只需前 N 条由调用方自行截断,暂无单独 --limit 控制搜索结果条数)。
684. 若用户需要详情,从搜索结果中取 id + xsecToken 再执行 get-feed-detail;如用户明确要更多评论,可加 --load-all-comments 等参数。
695. 若用户需要发表评论,执行 post-comment-to-feed(一级评论;必填 feed_id / xsec_token / content)。
706. 若用户需要回复某条评论,执行 respond-comment(可用 comment_id / comment_author / comment_snippet 定位目标评论)。
717. 若用户需要点赞/收藏互动,执行 note-upvote / note-unvote / note-bookmark / note-unbookmark
728. 若用户需要用户主页信息,执行 profile-snapshotnotes-from-profile
739. 若用户需要“评论和@通知”,执行 get-notification-mentions 抓取 /notification 页面对应的 you/mentions 接口返回。
7410. 若用户需要“笔记基础信息表”,执行 content-data 获取曝光/观看/点赞等指标。
7511. 回传结构化结果(数量、核心字段、链接)。
76
77## 常用命令
78
79### 参数顺序提醒(cdp_publish.py / publish_pipeline.py
80
81请严格按下面顺序写命令,避免 unrecognized arguments
82
83- 全局参数放在子命令前:--host --port --headless --account --timing-jitter --reuse-existing-tab
84- 子命令参数放在子命令后:如 search-feeds--keyword --sort-by --note-type
85- 常见可选全局参数:--host 10.0.0.12 --port 9222 --reuse-existing-tab --account NAME
86
87示例(正确):
88
89```bash
90python scripts/cdp_publish.py --reuse-existing-tab search-feeds --keyword "春招" --sort-by 最新 --note-type 图文
91```
92
93### 0) 启动 / 测试浏览器(不发布)
94
95默认 CDP 地址为 127.0.0.1:9222;可按需叠加 --host / --port 指向远程 Chrome。
96
97```bash
98# 启动测试浏览器(有窗口,推荐)
99python scripts/chrome_launcher.py
100
101# 可选:无头启动
102python scripts/chrome_launcher.py --headless
103
104# 检查当前登录状态
105python scripts/cdp_publish.py check-login
106
107# 常见变体:优先复用已有标签页
108python scripts/cdp_publish.py --reuse-existing-tab check-login
109
110# 远程 CDP 检查登录
111python scripts/cdp_publish.py --host 10.0.0.12 --port 9222 check-login
112
113# 获取登录二维码(返回 Base64,可供远程前端展示扫码)
114python scripts/cdp_publish.py get-login-qrcode
115
116# 重启 / 关闭测试浏览器
117python scripts/chrome_launcher.py --restart
118python scripts/chrome_launcher.py --kill
119```
120
121### 0.5) 首次登录 / 重新登录
122
123```bash
124# 本地 Chrome 登录
125python scripts/cdp_publish.py login
126
127# 远程 CDP 登录(不会自动重启远程 Chrome)
128python scripts/cdp_publish.py --host 10.0.0.12 --port 9222 login
129```
130
131### 1) 准备 title.txt / content.txt
132
133若用户给的是标题和正文,可先写入临时文件再执行命令:
134
135```bash
136printf '%s\n' '这里是标题' > /abs/path/title.txt
137printf '%s\n' '这里是正文' > /abs/path/content.txt
138```
139
140### 2) 无头发布 or 有头预览 —— 使用图片 URL 发布
141
142```bash
143# 默认推荐:无头自动发布
144python scripts/publish_pipeline.py --headless \
145 --title-file /abs/path/title.txt \
146 --content-file /abs/path/content.txt \
147 --image-urls "https://example.com/1.jpg" "https://example.com/2.jpg"
148
149# 仅预览:停留在发布页人工确认
150python scripts/publish_pipeline.py \
151 --preview \
152 --title-file /abs/path/title.txt \
153 --content-file /abs/path/content.txt \
154 --image-urls "https://example.com/1.jpg" "https://example.com/2.jpg"
155
156# 常见变体:远程 CDP / 复用已有标签页
157python scripts/publish_pipeline.py --host 10.0.0.12 --port 9222 --reuse-existing-tab \
158 --title-file /abs/path/title.txt \
159 --content-file /abs/path/content.txt \
160 --image-urls "https://example.com/1.jpg"
161```
162
163说明:当 --host 不是 127.0.0.1/localhost 时,脚本会跳过本地 chrome_launcher.py 的自动启动/重启逻辑。
164说明:publish_pipeline.py 默认自动点击发布;如需停留在发布页人工确认,请加 --preview
165
166### 3) 无头发布 or 有头预览 —— 使用本地图片发布
167
168```bash
169# 本地图片发布
170python scripts/publish_pipeline.py --headless \
171 --title-file /abs/path/title.txt \
172 --content-file /abs/path/content.txt \
173 --images "/abs/path/pic1.jpg" "/abs/path/pic2.jpg"
174
175# WSL/远程 CDP + Windows/UNC 路径:跳过本地文件预校验
176python scripts/publish_pipeline.py --headless \
177 --title-file /abs/path/title.txt \
178 --content-file /abs/path/content.txt \
179 --images "\\\\wsl.localhost\\Ubuntu\\home\\user\\pic1.jpg" \
180 --skip-file-check
181```
182
183说明:当控制端在 WSL 运行,且传入 Windows/UNC 路径(如 \\wsl.localhost\...)时,可加 --skip-file-check,避免 Linux 侧 os.path.isfile() 误判不存在。
184说明:脚本会自动识别 C:\...\\wsl.localhost\... 等 Windows/UNC 路径,并在传给 DOM.setFileInputFiles 时保留原始路径形态。
185说明:若需要强制保留原始路径,也可显式加 --preserve-upload-paths
186
187### 3.5) 视频发布(本地视频文件 / 视频 URL)
188
189```bash
190# 本地视频文件
191python scripts/publish_pipeline.py --headless \
192 --title-file /abs/path/title.txt \
193 --content-file /abs/path/content.txt \
194 --video "/abs/path/my_video.mp4"
195
196# 视频 URL
197python scripts/publish_pipeline.py --headless \
198 --title-file /abs/path/title.txt \
199 --content-file /abs/path/content.txt \
200 --video-url "https://example.com/video.mp4"
201```
202
203### 4) 多账号发布 / 切换
204
205```bash
206python scripts/cdp_publish.py list-accounts
207python scripts/cdp_publish.py add-account work --alias "工作号"
208python scripts/cdp_publish.py --port 9223 --account work login
209python scripts/publish_pipeline.py --port 9223 --account work --headless --title-file /abs/path/title.txt --content-file /abs/path/content.txt --image-urls "https://example.com/1.jpg"
210```
211
212### 5) 搜索内容 / 获取笔记详情
213
214```bash
215# 首页推荐笔记
216python scripts/cdp_publish.py list-feeds
217
218# 搜索笔记
219python scripts/cdp_publish.py search-feeds --keyword "春招"
220
221# 常见变体:带筛选 + 复用标签页
222python scripts/cdp_publish.py --reuse-existing-tab search-feeds --keyword "春招" --sort-by 最新 --note-type 图文
223
224# 获取笔记详情(feed_id 与 xsec_token 来自搜索结果)
225python scripts/cdp_publish.py get-feed-detail \
226 --feed-id 67abc1234def567890123456 \
227 --xsec-token XSEC_TOKEN
228
229# 可选:滚动加载更多一级评论,并尝试展开二级回复
230python scripts/cdp_publish.py get-feed-detail \
231 --feed-id 67abc1234def567890123456 \
232 --xsec-token XSEC_TOKEN \
233 --load-all-comments \
234 --limit 20 \
235 --click-more-replies \
236 --reply-limit 10 \
237 --scroll-speed normal
238```
239
240说明:list-feeds 返回首页推荐 feed 列表。
241说明:search-feeds 输出中包含 recommended_keywords_countrecommended_keywords,表示回车前搜索框下拉推荐词。
242说明:search-feeds 返回当前页面可提取到的结果,不提供单独的 --limit 条数控制;若只需前 N 条,请在调用方截断返回列表。
243说明:get-feed-detail --load-all-comments 会先滚动评论区,并可选点击“更多回复”后再提取详情,同时额外返回 comment_loading
244说明:check-login 与主页登录检查默认启用本地缓存(12h,仅缓存“已登录”),到期后自动重新网页校验。
245
246### 6) 给笔记发表评论(一级评论)
247
248```bash
249# 直接传评论文本
250python scripts/cdp_publish.py post-comment-to-feed \
251 --feed-id 67abc1234def567890123456 \
252 --xsec-token XSEC_TOKEN \
253 --content "写得很实用,感谢分享"
254
255# 使用文件传评论(适合多行文本)
256python scripts/cdp_publish.py post-comment-to-feed \
257 --feed-id 67abc1234def567890123456 \
258 --xsec-token XSEC_TOKEN \
259 --content-file "/abs/path/comment.txt"
260```
261
262### 7) 获取内容数据表(content_data)
263
264```bash
265# 获取笔记基础信息表(曝光/观看/封面点击率/点赞/评论/收藏/涨粉/分享/人均观看时长/弹幕)
266python scripts/cdp_publish.py content-data
267
268# 下划线别名
269python scripts/cdp_publish.py content_data
270
271# 可选:导出 CSV
272python scripts/cdp_publish.py --reuse-existing-tab content-data --csv-file "/abs/path/content_data.csv"
273```
274
275### 8) 获取评论和@通知(notification mentions)
276
277```bash
278# 抓取 /notification 页面触发的 you/mentions 接口数据
279python scripts/cdp_publish.py get-notification-mentions
280
281# 下划线别名
282python scripts/cdp_publish.py get_notification_mentions
283```
284
285### 9) 评论回复 / 点赞收藏 / 用户主页信息
286
287```bash
288# 回复评论(支持按评论 ID / 作者 / 文本片段定位)
289python scripts/cdp_publish.py respond-comment \
290 --feed-id 67abc1234def567890123456 \
291 --xsec-token XSEC_TOKEN \
292 --comment-id COMMENT_ID \
293 --content "感谢反馈~"
294
295# 点赞 / 取消点赞
296python scripts/cdp_publish.py note-upvote --feed-id 67abc1234def567890123456 --xsec-token XSEC_TOKEN
297python scripts/cdp_publish.py note-unvote --feed-id 67abc1234def567890123456 --xsec-token XSEC_TOKEN
298
299# 收藏 / 取消收藏
300python scripts/cdp_publish.py note-bookmark --feed-id 67abc1234def567890123456 --xsec-token XSEC_TOKEN
301python scripts/cdp_publish.py note-unbookmark --feed-id 67abc1234def567890123456 --xsec-token XSEC_TOKEN
302
303# 用户主页快照 / 用户主页笔记
304python scripts/cdp_publish.py profile-snapshot --user-id USER_ID
305python scripts/cdp_publish.py notes-from-profile --user-id USER_ID --limit 20 --max-scrolls 3
306```
307
308补充:更完整的背景说明、安装说明与面向人工阅读的示例可参考 README.md,但本文件中的命令样例应优先作为 agent 执行基线。
309
310## 失败处理
311
312- 登录失败:提示用户重新扫码登录并重试;若用户需要远程展示二维码,可改用 get-login-qrcode
313- 图片/视频下载失败:提示更换 URL 或改用本地文件。
314- 本地路径不可用:优先改用绝对路径;若为 WSL/远程 CDP 的 Windows/UNC 路径,可先尝试 --skip-file-check,必要时再加 --preserve-upload-paths
315- 评论/回复目标未定位成功:提示补充 comment_id,或改用 comment_author / comment_snippet 再试。
316- 页面选择器失效:提示检查 scripts/cdp_publish.py 中选择器并更新。
317
In the file
SKILL.md888 words
Files17
LicenceMIT
Why you can read it

Nothing in a skill executes. The client loads the text and the model follows it, so a skill can be audited the way a runbook is — by reading it.

What it costs in context

Skills are not billed by the call. They are paid for in context: every token the instructions occupy is a token your code, your diff and your conversation cannot use. Here is what this one takes and when it takes it.

≈50
always loaded
The name and description, so the model knows the skill exists and when to reach for it.
82,800
on trigger
The instruction body and 16 supporting files, read only when the skill fires.
41.4%
of a 200k window
Ten skills this size would take about 414% of the window before you open a file.
050k100k150k200k context window

82.8k tokens, estimated from the bundle at four bytes to the token, held for the rest of the session once it triggers. Heavy. Teams tend to install this one per project rather than globally, and load it only when the job comes up.

Servers bill, skills cost

A server charges by the month. A skill charges once per session, in context, and then keeps charging it for as long as the session lives.

Before and after

The same question, put to the same model twice: once as it comes, and once with these instructions loaded.

No worked example has been published for this skill yet.

Adoption
Installsnone yet
Ratingno reviews yet

The procedure it runs

The procedure has not been published here. It is in the skill’s own SKILL.md, which its author has not sent to the marketplace yet.

Prose, not code

These steps are written for a model to follow, not executed by a runtime. It can still be told to skip one, and it will say so when it does.

Servers it uses

None. This skill calls no MCP servers at all.

Everything it needs is in the instructions, so it works in a project with nothing connected — the model reads the file and changes how it works with what it can already reach.

It writes no files and reaches no network. All it changes is how the model reasons and writes.

What it asks for
Writes filesno
Network accessno

Read from the allowed-tools line of this skill’s own SKILL.md. A skill grants no permissions of its own — it can only ask for tools your client already has.

What it will not do

Every skill is narrow, and the useful ones say where they stop. These are the jobs this one is the wrong tool for.

What this skill is not for has not been published here. Nothing is implied by that: it is a section the author has not filled in.

What is in the bundle

17 files, 331.4 kB on disk. Mostly text — the instructions the model reads — with 8 scripts in it that your client would run only if the instructions tell it to.

  • AGENTS.md2.6 kB
  • README.md18.5 kB
  • SKILL.md14.4 kB
  • requirements.txt0.1 kB
  • todo.md0.2 kB
  • .github/workflows/update-star-history.yml0.8 kB
  • config/accounts.json.example0.4 kB
  • docs/claude-code-integration.md2.8 kB
  • docs/code-review-2026-03-07.md9.2 kB
  • scripts/account_manager.py9.7 kB
  • scripts/cdp_publish.py192.6 kB
  • scripts/chrome_launcher.py11.3 kB
  • scripts/feed_explorer.py29.0 kB
  • scripts/generate_star_history.py7.5 kB
  • scripts/image_downloader.py6.9 kB
  • scripts/publish_pipeline.py22.0 kB
  • scripts/run_lock.py3.4 kB
What is not in it

A skill installs nothing and depends on nothing: it is a folder your client reads. This one carries 8 scripts beside the text, so the bundle is 17 files you can review in full before installing. The MIT licence covers the templates and examples as well as the instructions.

Install

Installing copies the bundle into your project. Nothing runs at install time — the files sit on disk until the model reads them.

$45 once
RedBook Skills · MIT · white0dew
one-time
Price$45 once
LicenceMIT — the author’s, unchanged by this purchase
Paid throughStripe, once, on the card you add at the checkout
Keeps workingfor good — the files are yours once they are on disk
Updatesevery update its author ships, delivered through this account

You can read the whole bundle before paying — the SKILL.md above is the product, not a preview of it. What the money buys is the delivery: the folder packaged and handed to your machine by key, every update its author ships, and our support if it does not do what this listing says. The terms of use are MIT, set by the author and unchanged by buying it here.

Payment runs through Stripe, on a page like this one rather than a redirect. Once there is an account it joins the same mcprush invoice as everything else you run, so there is never a second card to enter.

Which clients pick it up on their own

A skill is a folder of text. A client with a skills folder reads it without being told; everywhere else the same text works, it is just handed to the model rather than found.

Claude Code.claude/skills/
Claude Desktop
ChatGPT
Cursor.cursor/skills/
VS Code.github/skills/
Codex CLI.agents/skills/
Gemini CLI.gemini/skills/
Grok.grok/skills/
Zed.agents/skills/
Windsurf.windsurf/skills/
Agent SDK.claude/skills/
HTTP / API
This release
Versionnot versioned
Publishedno release date on file
Price$45
Referencewhite0dew/redbook-skills

Versions

Its author publishes no version number, so there is nothing here to pin to: what you install is the folder as it stands today. Instructions change more often than APIs do — a skill can be rewritten entirely without anything it depends on moving.

v
  • No earlier releases have been published to the marketplace.
Pinning

Nothing to pin to: this skill carries no version number of its own. What you install is what the folder holds on the day you install it.

Reviews

no reviews yet · no installs yet

Nobody has reviewed this skill yet. The rating is the mean of the reviews written here, so there is none until somebody writes the first.

Who can post

Only accounts that have had the skill installed for fourteen days, so a review is written after living with it rather than after reading it. Publishers may reply once.

Who wrote it

WH
white0dew

Publishes on mcprush.

0 servers listed1 skill listednot claimed
Profile
Publisher
Servers0