feat: add long article publish mode to post-to-xhs skill

Add "写长文" workflow with template selection support:
- cdp_publish.py: new commands (long-article, select-template, click-next-step)
- publish_pipeline.py: add --mode parameter (image-text / long-article)
- SKILL.md: document long article flow (B.1-B.5 steps)
- publish-workflow.md: add long article selectors, CLI usage, detailed steps
This commit is contained in:
Angiin
2026-02-27 15:52:44 +08:00
parent b50f0aa633
commit 8572c8c5e0
8 changed files with 562 additions and 24 deletions

View File

@@ -1,25 +1,30 @@
---
name: post-to-xhs
description: >
小红书内容发布技能。支持两种输入方式:(1) 用户提供完整内容和图片/图片URL直接发布
(2) 用户提供网页URL自动提取内容和图片适当总结后发布。如果从URL提取不到图片
提示用户手动下载并提供。适用于任何类型的内容发布
小红书内容发布技能。支持两种发布模式:(1) 上传图文模式 - 图片+短文;(2) 写长文模式 - 长篇文章+排版模板。
支持两种输入方式:用户提供完整内容和图片/图片URL直接发布或提供网页URL自动提取内容和图片。
用户说"发长文"时使用长文模式,否则默认图文模式
---
# 小红书内容发布
根据用户输入自动判断发布方式,简化发布流程。
根据用户输入自动判断发布方式和发布模式,简化发布流程。
## 发布模式
- **上传图文**(默认):图片 + 短文,适合日常分享
- **写长文**:长篇文章 + 排版模板选择,适合深度内容。用户明确说"发长文"时使用
## 工作流程
```
用户输入
├─ 完整内容 + 图片/图片URL → 直接进入发布流程
├─ 完整内容 + 图片/图片URL → 判断模式 → 发布流程
└─ 网页 URL → WebFetch 提取内容和图片
├─ 有图片 → 适当总结内容 → 发布流程
├─ 有图片 → 适当总结内容 → 判断模式 → 发布流程
└─ 无图片 → 提示用户手动下载图片
@@ -116,7 +121,9 @@ AskUserQuestion 示例:
将标题和正文写入临时 UTF-8 文本文件。不要在 `python -c` 中内联中文文本。
### 4.4 运行 Pipeline
### 4.4 运行发布(根据模式分流)
#### A. 上传图文模式(默认)
根据用户选择的模式执行发布脚本:
@@ -144,11 +151,44 @@ python ... --images "C:\path\to\image.jpg"
- `READY_TO_PUBLISH` (exit code 0) → 根据模式进入下一步
- Exit code 2 → 报告错误
### 4.5 用户预览确认(仅有窗口模式
#### B. 写长文模式
**仅当用户选择有窗口模式时**,使用 `AskUserQuestion` 请用户在浏览器中检查预览,确认后再发布。
**Step B.1 — 填写长文内容 + 一键排版:**
无头模式跳过此步骤,直接进入 4.6。
```bash
python "C:\Users\admin\AI\.claude\skills\post-to-xhs\scripts\cdp_publish.py" long-article --title-file title.txt --content-file content.txt
```
可选 `--images img1.jpg img2.jpg` 插入图片到编辑器中。
输出中包含 `TEMPLATES: [...]` JSON 数组,为可用的排版模板名称列表。
**Step B.2 — 让用户选择模板:**
使用 `AskUserQuestion` 将模板名称作为选项展示给用户选择(从 TEMPLATES 输出中解析)。
**Step B.3 — 选择模板:**
```bash
python "C:\Users\admin\AI\.claude\skills\post-to-xhs\scripts\cdp_publish.py" select-template --name "用户选择的模板名"
```
**Step B.4 — 点击下一步并填写发布页正文描述:**
```bash
python "C:\Users\admin\AI\.claude\skills\post-to-xhs\scripts\cdp_publish.py" click-next-step --content-file content.txt
```
注意:发布页有独立的正文描述编辑器,必须通过 `--content``--content-file` 传入内容填写。
如果正文超过 1000 字,应压缩到 800 字左右再填入,保持语义不变。
**Step B.5 — 用户预览确认并发布:** 进入下方 4.5 步骤。
### 4.5 用户预览确认(仅有窗口模式 / 长文模式)
**仅当用户选择有窗口模式或使用长文模式时**,使用 `AskUserQuestion` 请用户在浏览器中检查预览,确认后再发布。
无头模式的图文发布跳过此步骤,直接进入 4.6。
### 4.6 点击发布
@@ -164,8 +204,10 @@ python "C:\Users\admin\AI\.claude\skills\post-to-xhs\scripts\cdp_publish.py" cli
## 重要提示
- **绝不自动发布** - 必须在 Step 4.4 获得用户确认
- **图片必须有** - 小红书发布必须有图片,没有图片不能发布
- **绝不自动发布** - 必须获得用户确认
- **图片要求** - 上传图文模式必须有图片;写长文模式图片可选
- **长文模式** - 必须让用户选择模板,不要自动选择
- **正文描述** - 长文模式的发布页有独立正文描述框,超过 1000 字需压缩到 800 字左右
- **无头模式**:使用 `--headless` 参数自动化发布。如需登录,脚本自动切换到有窗口模式
- 如果页面结构变化导致选择器失效,参考 `references/publish-workflow.md` 更新