87 lines
3.0 KiB
Markdown
87 lines
3.0 KiB
Markdown
---
|
||
name: post-to-xhs
|
||
argument-hint: "[标题或内容描述]"
|
||
description: |
|
||
发布内容到小红书,支持图文笔记和视频笔记。自动判断发布类型,校验标题和素材,用户确认后发布。
|
||
当用户想在小红书发布内容时使用——包括发笔记、发图文、发视频、上传图片、写一篇小红书、把内容发到红书上、种草笔记、好物分享等,即使用户只说"帮我发一下"但上下文明确是小红书也应触发。
|
||
---
|
||
|
||
## 输入判断
|
||
|
||
根据用户提供的素材判断发布类型:
|
||
- 提供了视频文件 → 视频笔记
|
||
- 提供了图片 → 图文笔记
|
||
- 仅提供文本 → 提示用户至少提供图片或视频
|
||
|
||
## 约束
|
||
|
||
- 标题最多 20 个中文字或英文单词(小红书平台限制,超长会被截断)
|
||
- 图文笔记至少 1 张图片(小红书不允许纯文本笔记)
|
||
- 视频笔记仅支持本地视频文件绝对路径(MCP 服务需要读取本地文件)
|
||
- 图片和视频不能混用,只能二选一(小红书平台限制)
|
||
- 正文中不要包含 # 标签(标签通过 `tags` 参数单独传递,MCP 服务会自动处理格式)
|
||
- 发布前展示完整内容让用户确认(发布后无法撤回)
|
||
|
||
## 执行流程
|
||
|
||
### 1. 收集发布信息
|
||
|
||
确保以下内容齐全:
|
||
- `title`(必填)— 标题
|
||
- `content`(必填)— 正文
|
||
- 图片列表或视频路径(必填其一)
|
||
- `tags`(可选)— 话题标签
|
||
- `schedule_at`(可选)— 定时发布,ISO8601 格式
|
||
- `is_original`(可选,仅图文)— 声明原创
|
||
- `visibility`(可选)— 公开可见 | 仅自己可见 | 仅互关好友可见
|
||
|
||
信息不完整时,向用户询问缺少的部分。
|
||
|
||
### 2. 内容校验
|
||
|
||
- 检查标题长度(≤20 中文字)
|
||
- 检查图片/视频文件路径是否为绝对路径
|
||
- 如用户提供 URL 内容,先用 WebFetch 提取文本和图片
|
||
|
||
### 3. 确认发布
|
||
|
||
向用户展示完整的发布内容预览:
|
||
- 标题、正文、标签
|
||
- 图片列表或视频路径
|
||
- 定时时间、可见范围(如有)
|
||
|
||
等待用户确认后才执行发布。
|
||
|
||
### 4. 发布
|
||
|
||
**图文笔记** — 调用 `publish_content`:
|
||
- `title`(string,必填)
|
||
- `content`(string,必填)
|
||
- `images`(string[],必填)— 图片路径或 URL
|
||
- `tags`(string[],可选)
|
||
- `schedule_at`(string,可选)
|
||
- `is_original`(bool,可选)
|
||
- `visibility`(string,可选)
|
||
|
||
**视频笔记** — 调用 `publish_with_video`:
|
||
- `title`(string,必填)
|
||
- `content`(string,必填)
|
||
- `video`(string,必填)— 本地视频绝对路径
|
||
- `tags`(string[],可选)
|
||
- `schedule_at`(string,可选)
|
||
- `visibility`(string,可选)
|
||
|
||
### 5. 报告结果
|
||
|
||
发布成功后,告知用户笔记 ID 和发布状态。
|
||
|
||
## 失败处理
|
||
|
||
| 场景 | 处理 |
|
||
|---|---|
|
||
| 未登录 | 引导使用 xhs-login |
|
||
| 标题超长 | 提示用户缩短标题 |
|
||
| 图片路径无效 | 提示检查路径是否正确 |
|
||
| 视频使用了相对路径 | 提示改为绝对路径 |
|
||
| 发布失败 | 展示错误信息,建议检查内容或重试 |
|