返回顶部
x

xhs-publish

小红书一键发布 — AI 全流程搞定:自动生成标题 → 撰写正文 → 封面/知识卡片/视频(三种形式) → 一键发布。3 分钟从创意到上线,支持多模型自由切换。触发词:发小红书、发布笔记、小红书发布、发笔记、小红书笔记、写小红书、写笔记。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.4.5
安全检测
已通过
382
下载量
8
收藏
概述
安装方式
版本历史

xhs-publish

# 📕 小红书发布助手 **核心能力**:文案创作(标题+正文+封面图)和笔记发布(图文/视频) **支持三种笔记格式**: 1. **📷 纯封面图** — AI 生成单张封面图 + 正文(最常用) 2. **🖼️ 知识卡片** — 生成精美知识卡片 + 正文(适合教程/长文) 3. **🎬 视频笔记** — AI 生成视频 + 添加字幕 + 正文(适合动态展示) --- ## 一、完整发布流程 ``` 用户请求写笔记/发小红书 │ ▼ 用户是否提供了主题? │ ┌────────────┴────────────┐ │ │ 没有 有 │ │ ▼ │ ① 询问主题 │ │ │ └────────────┬────────────┘ │ ▼ ② 笔记类型选择 │ ▼ 生成标题 + 正文(通用) │ ┌──────────────────┼──────────────────┐ │ │ │ ▼ ▼ ▼ 📷纯封面图 🖼️知识卡片 🎬视频笔记 │ │ │ ▼ ▼ ▼ 生成封面 生成知识卡片 ③ 视频流程 │ │ │ └──────────────────┼──────────────────┘ │ ▼ ④ 内容确认 │ ┌───────┴───────┐ │ │ 满意 不满意 │ │ ▼ ▼ ⑤ 发布流程 重新生成/调整 │ ┌─────────┼─────────┐ │ │ ▼ ▼ 发布成功 发布失败 │ │ ▼ ▼ 完成 ✅ ⑥ 登录流程 (注:🎬 视频笔记不需要封面图,小红书会自动从视频中截取) ``` **关键确认节点(AI 执行重点):** - **① 询问主题** — 如果用户未提供主题 - **② 笔记类型** — 纯封面图/知识卡片/视频笔记 - **③ 视频流程** — 视频笔记专用(内部包含多个步骤) - **④ 内容确认** — 最终确认所有内容(标题+正文+封面/视频) - **⑤ 发布流程** — 调用小红书 MCP 发布 - **⑥ 登录流程** — 发布失败时扫码登录 --- ## 🔴 内容禁忌(重要) **⚠️ 笔记内容禁止出现以下关键词!** **禁止关键词:** - ❌ "小红书" - ❌ "xhs"、"XHS" - ❌ "红书" - ❌ xhs 前缀的 skill 名称(如 xhs-publish、xhs-auto-reply、xhs-post-monitor 等) **原因:** - 小红书平台禁止自动发布 - 笔记中出现这些关键词可能被判定为违规 - 避免触发平台风控 **替代方案:** - "小红书" → "这里"、"这个平台"、"某社交平台" - 如需举例 skill,使用其他热门 skill(如 weather、github、obsidian) **检查时机:** - 生成正文后,自动检查是否包含禁忌词 - 如有,自动替换后再展示给用户 --- ## 🔴 飞书图片发送规则(最重要) **⚠️ 永远不要发路径!永远要发图片!** **正确方式**: ```javascript // 1. 先把文件复制到 inbound 目录 cp /path/to/file.jpg /root/.openclaw/media/inbound/ // 2. 再用 message 发送 message({ action: "send", channel: "feishu", media: "/root/.openclaw/media/inbound/file.jpg", filename: "文件名.jpg" }) ``` **✅ 永远用 `media` 参数发送图片,✅ 永远从 `/root/.openclaw/media/inbound/` 目录发送** **❌ 所有其他方式都不行**: - ❌ 直接发路径字符串 → 用户看到路径 - ❌ 用 `message` 参数发路径 → 用户看到路径 - ❌ Base64 编码 → 用户收不到 - ❌ file_token → 用户收不到 --- ## 📝 文案创作 ### 2.1 第一步:确认主题(如需要) **⚠️ 智能判断是否需要询问主题!** **判断规则**: 1. **用户已提供主题**(如「帮我发个小红书,关于 OpenClaw」)→ 直接进入第二步 2. **用户未提供主题**(如「帮我发个小红书」)→ 询问主题 **询问主题的提示**: > 请选择主题类型: > 1. **📱 产品/工具分享** — 分享你使用的某个产品或工具 > 2. **📖 教程/攻略** — 教别人如何做某件事 > 3. **🌅 日常分享** — 分享日常生活、旅行、美食等 > 4. **🎁 好物推荐** — 推荐你觉得好用的东西 --- ### 2.2 第二步:确认笔记类型和封面方式 **⚠️ 用户确认主题后,询问笔记类型和封面方式!** > 请选择笔记类型: > 1. **📷 纯封面图** — AI 生成单张封面图 + 正文(最常用,适合分享/种草) > 2. **🖼️ 知识卡片** — 生成精美知识卡片 + 正文(适合教程/长文) > 3. **🎬 视频笔记** — AI 生成视频 + 正文(适合动态展示/教程) **用户选择纯封面图后,询问封面方式:** > 请选择封面生成方式: > 1. **🎨 AI 模型生图** — 使用 AI 模型生成封面图(需要 API Key) > 2. **📝 MD2Card 一句话封面** — 输入一句话,自动生成精美封面(支持关键字标注)(推荐) **用户选择知识卡片或视频笔记后,直接进入生成流程。** --- ### 2.3 第三步:生成内容 **⚠️ 不同笔记类型的生成流程不同!** #### 📷 纯封面图 / 🖼️ 知识卡片 **并行生成,一次性确认**: 1. 生成 5 个标题 2. 生成正文(600-800字) 3. 生成知识卡片内容(仅知识卡片,1500-2000字) 4. 生成封面图 5. 生成知识卡片图(仅知识卡片) 6. 一次性发送给用户确认 #### 🎬 视频笔记 **分步确认,避免浪费资源**: 1. **生成标题+正文**(200-300字)→ 用户确认 2. **询问视频风格**(5个选项)→ 用户选择 3. **生成分镜脚本**(根据正文拆分3-6个镜头)→ 用户确认 4. **生成视频片段**(每个镜头生成视频) 5. **音画同步校验**(配音时长 vs 视频时长) 6. **发送最终确认**(标题+正文+视频预览) **⚠️ 视频笔记不需要生成封面图!** 小红书会自动从视频中截取。 --- #### 📷 纯封面图 / 🖼️ 知识卡片生成流程 **自动执行流程**(每步完成后发送进度提示): 1. **生成标题**:自动生成 5 个标题,默认选择第一个 - 发送进度:`✅ 1/5 标题生成完成` 2. **生成正文**:根据主题生成 600-800 字正文 - 发送进度:`✅ 2/5 正文生成完成` 3. **生成知识卡片内容**(仅知识卡片类型):2000-3000 字 - 发送进度:`✅ 3/5 知识卡片内容生成完成` 4. **生成封面图**:根据类型生成 - 纯封面图:AI 模型生图 - 知识卡片:MD2Card API 生成封面 - 视频笔记:AI 生成视频 - 发送进度:`✅ 4/5 封面图生成完成` 5. **生成知识卡片图**(仅知识卡片类型):使用 MD2Card MCP - 发送进度:`✅ 5/5 知识卡片图生成完成` **生成完成后,一次性发送给用户确认:** > 📝 笔记内容已生成! > > **标题**(默认第一个): > 1. 标题1 > 2. 标题2 > 3. 标题3 > 4. 标题4 > 5. 标题5 > > **正文**: > [正文内容] > > **封面**:[图片] > > 是否满意? > 1. 满意,直接发布 > 2. 换个标题 > 3. 重新生成正文 > 4. 重新生成封面 > 5. 全部重新生成 --- ### 2.4 标题生成规则 **优先使用当前对话模型**,参考 [references/title-guide.md]({baseDir}/references/title-guide.md) 生成 5 个不同风格的标题。 **核心要求**: 1. 每个标题使用不同风格 2. 20 字以内 3. 含 1-2 个 emoji 4. 禁用平台禁忌词 **5 种标题风格**: 1. **数字悬念型**:【3个方法让你秒懂xxx】 2. **情感共鸣型**:【谁懂啊!这个方法太绝了!】 3. **结果导向型**:【跟着做,7天搞定xxx】 4. **反差对比型**:【从xxx到xxx,我只做了这件事】 5. **价值宣言型**:【2025必学技能,xxx让你更厉害】 --- ### 2.5 正文生成规则 **优先使用当前对话模型**,参考 [references/content-guide.md]({baseDir}/references/content-guide.md)。 **字数要求**: | 笔记类型 | 正文字数 | 知识卡片文字 | 配音文案 | 说明 | |---------|---------|-------------|---------|------| | 📷 纯封面图 | 600-800 字 | - | - | 简洁总结 | | 🖼️ 知识卡片 | 600-800 字 | **2000-3000 字** | - | 正文简洁,知识卡片内容更丰富 | | 🎬 视频笔记 | 200-300 字 | - | **与正文一致** | 正文即配音文案 | **知识卡片字数说明**: - **正文(600-800字)**:发布时显示的正文,简洁总结 - **知识卡片文字(1500-2000字)**:用于生成 MD2Card 知识卡片的内容,比正文更丰富、更详细 **视频笔记字数说明**: - **正文(200-300字)**:发布时显示的正文,同时也是配音文案的内容 - **配音文案**:与正文内容一致,逐字对应(可微调语气,但核心内容一致) **格式要求**: 1. 小标题:加合适的图标(如 💡、🔧、📚、🎯 等) 2. 有顺序的内容:加数字图标(如 1️⃣、2️⃣、3️⃣ 或 ①②③) 3. 分段清晰:段落之间用空行分隔 --- ## 三、封面生成 ### 3.1 AI 模型生图 **适用场景**:需要个性化、创意性强的封面图 **前置条件**:需要配置 AI 生图 API Key(Doubao/Hunyuan) **自动执行流程**: 1. 生成英文 Prompt:根据文案主题自动生成 2. 调用 AI 生图:优先使用 Doubao(豆包)API 3. 输出封面图:1080x1080 正方形 **Prompt 模板**: ``` cute cartoon illustration style, [场景描述], kawaii anime style, soft pastel [色调] colors, minimal clean background, with Chinese text "[标题]" at top, no watermark, high quality, square format, poster design ``` **生图调用示例**: ```bash curl -X POST "https://ark.cn-beijing.volces.com/api/v3/images/generations" \ -H "Authorization: Bearer $DOUBAO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedream-5-0-260128", "prompt": "cute cartoon illustration style, ...", "size": "2048x2048", "n": 1 }' ``` --- ### 3.2 MD2Card 一句话封面 **适用场景**:快速生成精美封面,支持关键字标注 **特点**: - 纵向小红书风格封面 - 支持关键字高亮标注 - 多种模板可选 **自动执行流程**: 1. **生成封面文案**:根据标题生成一句话描述 2. **调用 MD2Card API**:生成封面图片 3. **下载图片**:保存到本地 **封面文案生成规则**: - 一句话概括主题(15-30字) - 可添加副标题(如:3分钟看懂 | 实用技巧 | 效率翻倍) - 突出核心价值点 **示例**: ``` 标题:OpenClaw原理剖析 封面文案: 如何让OpenClaw真的能干活 3分钟看懂 | 实用技巧 | 效率翻倍 ``` **⚠️ MD2Card API 调用(推荐)**: ```bash # 调用 MD2Card API 生成封面 curl -X POST https://md2card.cn/api/generate/cover \ -H "x-api-key: $MD2CARD_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "text": "如何让OpenClaw真的能干活\n3分钟看懂 | 实用技巧 | 效率翻倍", "keywords": "OpenClaw", "count": 3 }' # 响应示例: { "success": true, "images": [ { "url": "https://md2card-com.oss-cn-shenzhen.aliyuncs.com/screenshot/xxx.png", "fileName": "screenshot/xxx.png", "size": 218.88 } ], "cost": 2, "message": "成功生成 3 张封面图片,消耗 2 积分" } # 下载第一张图片 curl -s "图片URL" -o /root/.openclaw/media/inbound/xhs_cover.png ``` **参数说明**: | 参数 | 类型 | 说明 | |------|------|------| | `text` | string | 封面文字(支持换行符 \n) | | `keywords` | string | 关键词(用于高亮) | | `count` | number | 生成数量(1-3) | **返回值说明**: - `images`:图片数组(最多3张) - `url`:图片下载链接 - `cost`:消耗积分(通常2分) --- ## 四、知识卡片生成(MD2Card MCP) **⚠️ 知识卡片需要生成封面 + 知识卡片内容!** **封面生成位置**:已在「三、封面生成」章节的「3.2 MD2Card 一句话封面」中完成 **本章只负责生成知识卡片内容(MD2Card MCP)** ### 💰 付费说明(重要) **MD2Card 知识卡片是付费服务!** | 项目 | 价格 | |-----|------| | 封面图 | 约 0.05 元/张 | | 知识卡片 | 约 **0.1 元/张** | **充值地址**:https://md2card.cn/zh/login **积分不足时的处理**: 1. **检测方法**:调用 MD2Card API 时返回 402 错误或"积分不足"提示 2. **处理流程**: - 告知用户当前积分已用完 - 提供充值地址:https://md2card.cn/zh/login - 建议用户改用「📷 纯封面图」模式(封面 API 可能还有额度) **检测积分的 API 调用**: ```bash # 检测 MD2Card 积分(可选,提前检测) curl -s https://md2card.cn/api/user/info \ -H "x-api-key: $MD2CARD_API_KEY" # 响应示例: { "success": true, "data": { "balance": 50, # 剩余积分 "used": 100 # 已用积分 } } # 如果 balance < 10,建议充值 ``` **错误提示模板**: > ⚠️ **MD2Card 积分不足** > > 知识卡片生成需要 MD2Card 积分(约 0.1 元/张)。 > > 当前账户积分已用完,请充值后继续: > 👉 充值地址:https://md2card.cn/zh/login > > 或者改用「📷 纯封面图」模式发布笔记? --- **自动执行流程**: 1. **生成封面**:使用 MD2Card API 生成封面图(已在 3.2 章节完成) 2. **转换格式**:将**知识卡片文字**(1500-2000字)转换为 Markdown 格式 3. **生成知识卡片**:使用 MD2Card MCP 生成知识卡片图片 4. **自动拆分**:MCP 会自动将长内容拆分为多张卡片图片 5. **发送确认**:将所有图片发送给用户确认(封面图 + 多张知识卡片图片) **⚠️ 封面生成位置**:封面已在「三、封面生成」章节生成,这里只生成知识卡片内容! --- **🔴 重要:知识卡片必须使用 API 方式,并设置自动拆分参数!** **关键参数**:`splitMode: "autoSplit"`(不是 `"auto"`,不是 `"noSplit"`) **完整 API 调用示例**: ```bash source /etc/environment && timeout 120 npx -y md2card-mcp-server@latest << 'EOFMCP' {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"openclaw","version":"1.0.0"}}} {"jsonrpc":"2.0","method":"notifications/initialized"} {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"md2card_api","arguments":{ "markdown": "## 标题\n\n内容...", "type": "小红书", "theme": "apple-notes", "splitMode": "autoSplit" }}} EOFMCP ``` **入参 JSON 示例**: ```json { "markdown": "## 🎯 OpenClaw 是什么?\n\nOpenClaw 是一个 AI 助手框架...\n\n---\n\n## 💎 5 大核心玩法\n\n### 1️⃣ 小红书一键发布\n...", "type": "小红书", "theme": "apple-notes", "splitMode": "autoSplit", "width": 440, "height": 586, "mdxMode": false, "overHiddenMode": false } ``` **参数说明**: | 参数 | 值 | 说明 | |-----|-----|------| | `markdown` | 字符串 | Markdown 格式的知识卡片内容(1500-2000字) | | `type` | `"小红书"` | 卡片类型,使用小红书尺寸(440x586) | | `theme` | `"apple-notes"` | 主题风格(推荐苹果备忘录) | | **`splitMode`** | **`"autoSplit"`** | **🔴 关键!自动拆分参数,必须是这个值!** | | `width` | 440 | 卡片宽度(小红书默认) | | `height` | 586 | 卡片高度(小红书默认) | **返回结果示例(多张图片)**: ```json { "result": { "content": [{ "type": "text", "text": "**下载图片**\n[screenshot/xxx_1.png](https://...)\n图片大小:120 KB\n[screenshot/xxx_2.png](https://...)\n图片大小:95 KB\n[screenshot/xxx_3.png](https://...)\n图片大小:85 KB\n...\n\n**在线编辑**\n[点击在线编辑](https://...)\n\n- 本次消耗积分:10" }] } } ``` **⚠️ 消耗积分**:每张卡片消耗 1 积分(10 张卡片 = 10 积分) **⚠️ 图片尺寸**:自动拆分后的卡片尺寸为 **880 x 1172**(小红书标准尺寸) **⚠️ 用户确认时必须展示所有拆分后的图片!** ```bash # 发送封面图 openclaw message send --channel feishu --media /root/.openclaw/media/inbound/md2card_cover.png --message "📷 封面预览" # 发送知识卡片 openclaw message send --channel feishu --media /root/.openclaw/media/inbound/md2card_content.png --message "🖼️ 知识卡片预览" ``` ### 4.1 生成知识卡片内容(MD2Card MCP) **⚠️ 优先使用 MD2Card MCP 生成知识卡片!** **前置条件:** 1. 安装 MCP 服务:`npm install -g md2card-mcp-server@latest` 2. 申请 API 密钥:https://md2card.cn/zh/login 3. 配置环境变量:`export MD2CARD_API_KEY="您的密钥"` **检测 MCP 是否已安装:** ```bash # 检查环境变量 echo $MD2CARD_API_KEY && echo "✅ MCP 已配置" || echo "❌ MCP 未配置" ``` **如果 MCP 已配置,使用 MCP 生成:** ```bash # 启动 MCP 服务(后台运行) MD2CARD_API_KEY="您的密钥" npx -y md2card-mcp-server@latest & ``` **MCP 调用示例(JSON-RPC 2.0 批量请求):** ```bash export MD2CARD_API_KEY="您的密钥" # 调用 MCP 生成小红书知识卡片 cat << 'EOF' | timeout 30 npx -y md2card-mcp-server@latest {"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"openclaw","version":"1.0.0"}}} {"jsonrpc":"2.0","method":"notifications/initialized"} {"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"md2card_api","arguments":{"markdown":"## 标题\n\n内容","type":"小红书","theme":"apple-notes"}}} EOF ``` **MCP 参数说明:** | 参数 | 类型 | 说明 | |------|------|------| | `markdown` | string | Markdown 格式内容 | | `type` | string | 卡片类型:小红书、正方形、手机海报、A4纸打印 | | `theme` | string | 主题风格(见下方列表) | | `themeMode` | string | 主题模式(可选) | **可用主题列表(theme):** - `apple-notes` - 苹果备忘录(推荐) - `xiaohongshu` - 紫色小红书 - `darktech` - 暗黑科技 - `glassmorphism` - 玻璃拟态 - `minimal` - 简约高级灰 - `dreamy` - 梦幻渐变 - `typewriter` - 复古打字机 - 更多主题:见 MCP 文档 **返回结果格式:** ```json { "result": { "content": [{ "type": "text", "text": "**下载图片**\n[图片链接](https://...)\n图片大小:XX KB\n\n**在线编辑**\n[点击在线编辑](https://...)" }] } } ``` **下载所有拆分后的图片**: ```bash # MCP 返回结果示例(多张图片): { "result": { "content": [{ "type": "text", "text": "**下载图片**\n[图片1](https://...)\n[图片2](https://...)\n[图片3](https://...)\n\n**在线编辑**\n[点击在线编辑](https://...)" }] } } # 提取所有图片 URL 并下载 # 使用 grep 提取所有图片链接 urls=$(echo "$result" | grep -o 'https://[^)]*\.png') # 创建保存目录 mkdir -p /root/.openclaw/media/inbound/xhs_cards # 下载所有图片 i=1 for url in $urls; do curl -s "$url" -o "/root/.openclaw/media/inbound/xhs_cards/card_$i.png" echo "✅ 已下载第 $i 张卡片" i=$((i+1)) done # 发送所有图片给用户确认 for file in /root/.openclaw/media/inbound/xhs_cards/card_*.png; do openclaw message send --channel feishu --media "$file" --message "🖼️ 知识卡片" done ``` **⚠️ 注意**:每张卡片消耗 1 积分,下载前确认积分充足! **如果 MCP 未配置,提示用户安装(必装):** > ⚠️ **MD2Card MCP 未安装!** > > MD2Card MCP 是知识卡片的**必装组件**,请先安装: > > **安装步骤:** > 1. 访问 https://md2card.cn/zh/login 申请 API 密钥 > 2. 复制 API 密钥 > 3. 发送给我,格式:`MD2CARD_API_KEY=sk-xxx` > 4. 我会自动配置环境变量 > > 配置完成后,即可生成知识卡片。 --- ## 五、视频生成 **⚠️ 视频笔记采用多镜头方式,需要用户多次确认!** **⚠️ 视频笔记不需要生成封面图!** 小红书会自动从视频中截取。 --- ### 5.1 视频风格选择 **⚠️ 用户确认内容后,询问视频风格!** **5 个视频风格选项**: | 序号 | 风格 | 描述 | 适合场景 | |-----|------|------|---------| | 1 | 🎨 **卡通可爱** | 卡通角色,明亮色彩,轻松有趣 | 日常分享、趣味内容 | | 2 | 🔬 **科技简约** | 简洁线条,科技蓝,专业感 | 技术讲解、工具介绍 | | 3 | 🌙 **暗黑科技** | 深色背景,霓虹光效,未来感 | 高端产品、极客内容 | | 4 | 🌈 **梦幻渐变** | 柔和渐变,温暖色调,治愈系 | 情感分享、生活记录 | | 5 | 📰 **商务专业** | 简洁大气,商务配色,正式感 | 职场干货、商业内容 | **询问提示**: > 🎬 **请选择视频风格**: > > 1. 🎨 **卡通可爱** — 卡通角色,明亮色彩,轻松有趣 > 2. 🔬 **科技简约** — 简洁线条,科技蓝,专业感(推荐) > 3. 🌙 **暗黑科技** — 深色背景,霓虹光效,未来感 > 4. 🌈 **梦幻渐变** — 柔和渐变,温暖色调,治愈系 > 5. 📰 **商务专业** — 简洁大气,商务配色,正式感 > > 请回复数字 1-5,或直接说风格名称。 **默认风格**:如果用户跳过或不确定,默认使用「科技简约」 --- ### 5.2 第二步:生成分镜脚本和配音文案 **⚠️ 用户选择风格后,生成分镜脚本 + 配音文案!** **🔴 文案-语音-视频三同步规则(最重要!)** **三要素必须完全一致**: 1. **文案**:正文内容(200-300字) 2. **语音**:配音文案(逐字对应文案) 3. **视频**:画面内容(视觉呈现文案描述的场景) **同步要求**: - 文案说"让AI帮你整理文件,它说无法访问" → 配音必须读这句话 → 视频必须展示这个场景 - **禁止**:文案说A、配音说B、视频展示C - **强制**:三者内容必须一一对应 **分镜规则**: 1. **文案拆分**:将正文内容按段落/句子拆分为 3-6 个镜头 2. **配音生成**:每个镜头的配音文案 = 对应的正文片段(可微调语气,但核心内容一致) 3. **视频生成**:视频 Prompt 必须准确描述配音文案的场景 4. 每个镜头 3-6 秒 5. 总时长 15-35 秒 **分镜脚本模板**: ```json { "style": "科技简约", "total_duration": 30, "shots": [ { "id": 1, "duration": 5, "narration": "你有没有遇到过,让AI帮你整理文件,它说无法访问?", "prompt": "User typing on phone asking AI chatbot, error message appears, frustrated expression, clean tech UI, blue and white colors, 4K quality" } ] } ``` **Prompt 生成规则(根据风格调整)**: | 风格 | Prompt 关键词 | |-----|-------------| | 卡通可爱 | `cartoon style, cute characters, bright colors, kawaii, playful` | | 科技简约 | `clean minimal design, tech blue, simple lines, professional, modern UI` | | 暗黑科技 | `dark background, neon glow, cyberpunk, futuristic, holographic` | | 梦幻渐变 | `soft gradient, pastel colors, dreamy, warm tones, ethereal` | | 商务专业 | `clean corporate design, professional colors, business style, formal` | --- ### 5.3 第三步:发送分镜确认 **⚠️ 生成分镜后,必须发送给用户确认!** **确认提示**: > 🎬 **分镜脚本已生成!** > > **视频风格**:[用户选择的风格] > **总时长**:约 XX 秒 > > **镜头 1**(0-5秒) > - 配音:"[配音文案]" > - 画面:[画面描述] > > **镜头 2**(5-10秒) > - 配音:"[配音文案]" > - 画面:[画面描述] > > ...(所有镜头) > > --- > > 分镜满意吗? > 1. ✅ 满意,开始生成视频 > 2. 调整配音文案 > 3. 调整画面风格 > 4. 重新生成分镜 --- ### 5.4 第四步:生成视频 **⚠️ 用户确认分镜后,才开始生成视频!** **生成流程**: 1. **生成配音**:使用 Edge TTS 生成完整配音 2. **生成视频片段**:为每个镜头生成视频(带进度反馈) 3. **合并视频**:将所有片段合并 4. **添加配音和字幕**:合成最终视频 **进度反馈**: > 🎬 视频生成中... > > ✅ 1/5 配音生成完成 > ✅ 2/5 视频片段 1/4 完成 > ✅ 3/5 视频片段 2/4 完成 > ... --- ### 5.5 视频生成 API **豆包 Seedance API**(当前使用): ```bash # 提交视频生成任务 curl -X POST "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks" \ -H "Authorization: Bearer $DOUBAO_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "doubao-seedance-1-5-pro-251215", "content": [{"type": "text", "text": "[Prompt]"}] }' # 查询任务状态 curl -s "https://ark.cn-beijing.volces.com/api/v3/contents/generations/tasks/[task_id]" \ -H "Authorization: Bearer $DOUBAO_API_KEY" ``` **环境变量**(存储在 /etc/environment): ```bash export DOUBAO_API_KEY="919ec537-6d4d-43c4-a5ce-a90a17673bbb" ``` **付费说明**:约 0.1 元/5秒视频 **充值入口**:https://console.volcengine.com/finance/recharge --- ### 5.6 配音生成(Edge TTS) **使用 Edge TTS 生成中文配音**: ```bash # 生成配音 edge-tts --text "配音文案内容" --voice zh-CN-XiaoxiaoNeural --write-media output.mp3 ``` **可用中文语音**: - `zh-CN-XiaoxiaoNeural` — 温柔女声(推荐) - `zh-CN-YunxiNeural` — 阳光男声 - `zh-CN-YunyangNeural` — 专业男声 --- ### 5.7 视频合并和字幕 **合并视频片段**: ```bash # 创建合并列表 cat > concat_list.txt << 'EOF' file 'shot_1.mp4' file 'shot_2.mp4' file 'shot_3.mp4' EOF # 合并 ffmpeg -f concat -safe 0 -i concat_list.txt -c copy merged.mp4 ``` **添加配音**: ```bash ffmpeg -i merged.mp4 -i narration.mp3 \ -c:v copy -c:a aac \ -map 0:v:0 -map 1:a:0 \ final_with_audio.mp4 ``` **添加字幕**: ```bash ffmpeg -i final_with_audio.mp4 \ -vf "subtitles=subtitle.srt:force_style='FontName=Noto Sans CJK SC,Fontsize=24,PrimaryColour=&HFFFFFF,OutlineColour=&H000000,Outline=2'" \ -c:a copy final_video.mp4 ``` --- ### 5.8 音画同步校验(重要!) **⚠️ 视频生成完成后,必须进行音画同步校验!通过后才能发送给用户确认!** **校验步骤**: ```bash # 1. 获取配音时长 audio_duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 narration.mp3) # 2. 获取视频时长 video_duration=$(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 merged_video.mp4) # 3. 计算差值 diff=$(echo "$audio_duration - $video_duration" | bc) abs_diff=${diff#-} # 4. 判断是否通过 if (( $(echo "$abs_diff < 1" | bc -l) )); then echo "✅ 音画同步校验通过" else echo "❌ 音画不同步,差值: ${abs_diff}秒" fi ``` **调整方案**: ```bash # 如果配音更长 → 视频放慢 speed_ratio=$(echo "scale=2; $video_duration / $audio_duration" | bc) setpts_value=$(echo "scale=2; 1 / $speed_ratio" | bc) ffmpeg -i video.mp4 -filter:v "setpts=${setpts_value}*PTS" -an slowed_video.mp4 # 如果视频更长 → 视频加速 speed_ratio=$(echo "scale=2; $video_duration / $audio_duration" | bc) ffmpeg -i video.mp4 -filter:v "setpts=${speed_ratio}*PTS" -an faster_video.mp4 ``` **示例**: - 视频 25 秒,配音 32 秒 - 速度比 = 25/32 ≈ 0.78 - setpts = 1/0.78 ≈ 1.28 - 命令:`ffmpeg -i video.mp4 -filter:v "setpts=1.28*PTS" -an output.mp4` **⚠️ 校验不通过时**: 1. 自动调整视频速度 2. 重新校验 3. 如果仍不通过,提示用户并询问是否继续 --- ] } ``` --- ## 六、发布流程 **⚠️ 用户确认内容后,立即发布,不需要询问!** ### 6.1 立即发布 #### 前置检查 **⚠️ 小红书 MCP 是必装项,无法发布笔记!** 执行环境检查: ```bash bash {baseDir}/check_env.sh ``` **返回码说明**: | 返回码 | 状态 | 处理方式 | |-------|------|---------| | `0` | ✅ 正常已登录 | 继续发布 | | `1` | ❌ 未安装 MCP | 告知用户必须安装(见「八、安装 MCP 服务」)| | `2` | ⚠️ 未登录 | 进入「七、登录流程」| **如果返回码为 1(未安装),提示用户:** > ⚠️ **小红书 MCP 未安装,无法发布笔记!** > > 小红书 MCP 是发布笔记的**必装组件**,请先安装: > > **安装步骤:** > 1. 安装依赖:`sudo apt install -y xvfb imagemagick zbar-tools xdotool fonts-noto-cjk` > 2. 下载 MCP:`cd ~/xiaohongshu-mcp && wget https://github.com/xpzouying/xiaohongshu-mcp/releases/latest/download/xiaohongshu-mcp-linux-amd64.tar.gz` > 3. 解压并启动:`tar xzf xiaohongshu-mcp-linux-amd64.tar.gz && DISPLAY=:99 nohup ./xiaohongshu-mcp-linux-amd64 -port :18060 > mcp.log 2>&1 &` > > 详细安装步骤见「八、安装 MCP 服务」 #### 发布纯封面图笔记 ```python { "name": "publish_content", "arguments": { "title": "标题", "content": "正文", "images": ["/path/to/cover.jpg"], "tags": ["标签1", "标签2"] } } ``` #### 发布知识卡片笔记 ```python { "name": "publish_content", "arguments": { "title": "标题", "content": "正文", "images": ["/path/to/cover.jpg", "/path/to/content.jpg"], "tags": ["标签1", "标签2"] } } ``` #### 发布视频笔记 ```python { "name": "publish_with_video", "arguments": { "title": "标题", "content": "正文", "video": "/path/to/video.mp4" } } ``` #### 超时处理 **MCP 发布超时设置为 180 秒(3 分钟)** **发布失败自动重试机制**: 1. 第一次发布:调用 MCP 发布笔记 2. 如果失败:自动重试 1 次 3. 如果仍然失败:自动获取登录二维码 --- ## 七、登录流程 ### 7.1 扫码登录 **⚠️ 小红书需要扫码两次**: 1. 第一次:验证账号 2. 第二次:确认登录设备 **获取二维码**: ```bash MCP_URL="http://localhost:18060/mcp" SESSION_ID=$(curl -s -D /tmp/headers -X POST "$MCP_URL" \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}},"id":1}' \ > /dev/null && grep -i 'Mcp-Session-Id' /tmp/headers | awk '{print $2}') curl -s --max-time 30 -X POST "$MCP_URL" -H "Mcp-Session-Id: $SESSION_ID" \ -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"get_login_qrcode","arguments":{}},"id":2}' ``` --- ### 7.2 Cookie 登录 当扫码登录失败时使用。 **获取 Cookie**: 1. 打开浏览器,访问 https://www.xiaohongshu.com 并登录 2. 按 F12 → Application → Cookies 3. 复制 Cookie 值:`a1`、`web_session`、`websectiga`、`id_token` **更新 Cookie 文件**: ```bash nano ~/xiaohongshu-mcp/cookies.json ``` **重启 MCP 服务**: ```bash pkill -f xiaohongshu-mcp && sleep 3 cd ~/xiaohongshu-mcp && export DISPLAY=:99 nohup ./xiaohongshu-mcp-linux-amd64 -port :18060 > mcp.log 2>&1 & ``` --- ## 八、安装 MCP 服务 ### 8.1 安装依赖 ```bash sudo apt update && sudo apt install -y xvfb imagemagick zbar-tools xdotool fonts-noto-cjk ``` ### 8.2 启动虚拟显示 ```bash Xvfb :99 -screen 0 1920x1080x24 & ``` ### 8.3 下载并启动 MCP ```bash mkdir -p ~/xiaohongshu-mcp && cd ~/xiaohongshu-mcp wget https://github.com/xpzouying/xiaohongshu-mcp/releases/latest/download/xiaohongshu-mcp-linux-amd64.tar.gz tar xzf xiaohongshu-mcp-linux-amd64.tar.gz chmod +x xiaohongshu-* export ROD_DEFAULT_TIMEOUT=10m DISPLAY=:99 nohup ./xiaohongshu-mcp-linux-amd64 -port :18060 > mcp.log 2>&1 & ``` --- ## 🔴 强制规则 ### ✅ 正确做法 图片/视频必须使用服务器本地绝对路径: ```python "images": ["{baseDir}/media/inbound/cover.jpg"] "video": "{baseDir}/media/inbound/video.mp4" ``` ### ❌ 错误做法 不要用 base64 编码(会导致上传超时): ```python "images": ["data:image/jpeg;base64,..."] ``` **⚠️ 永远用文件路径,永远不要用 base64!** --- ## 九、故障排查 ### 9.1 诊断命令 ```bash pgrep -f xiaohongshu-mcp # MCP 是否运行 pgrep -x Xvfb # Xvfb 是否运行 tail -20 ~/xiaohongshu-mcp/mcp.log # 查看日志 lsof -i :18060 # 检查端口 ``` ### 9.2 常见错误 **1. 发布失败(已重试)** - 原因:登录状态失效 - 解决:自动获取二维码,扫码重新登录 **2. `context deadline exceeded`** - 原因:rod 库超时 - 解决:设置 `ROD_DEFAULT_TIMEOUT=10m` **3. 图片上传超时** - 原因:使用 base64 编码 - 解决:改用文件路径 --- ## 十、参考文档 - 标题创作指南:[references/title-guide.md]({baseDir}/references/title-guide.md) - 正文创作指南:[references/content-guide.md]({baseDir}/references/content-guide.md) - 封面图生成指南:[references/cover-guide.md]({baseDir}/references/cover-guide.md)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 xhs-publish-1776096964 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 xhs-publish-1776096964 技能

通过命令行安装

skillhub install xhs-publish-1776096964

下载 Zip 包

⬇ 下载 xhs-publish v1.4.5

文件大小: 55.57 KB | 发布时间: 2026-4-15 15:03

v1.4.5 最新 2026-4-15 15:03
优化知识卡片流程

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部