---
name: social-publish
description: 社交媒体内容发布工作流。用于在小红书、微博、抖音、B站、知乎等平台发布内容，当用户需要在社交平台发布内容时，需要首先使用social-publish技能
---

# Social Publish — 社交媒体内容发布技能

通过浏览器自动化完成社交媒体内容发布的完整工作流。依赖 `qqbrowser-skill` 执行所有浏览器操作。

## 通用流程

```
导航到创作者后台 → 进入发布入口 → 选择内容类型 → 填充素材/文字 → 编辑标题/正文/话题 → 发布
```

## 平台入口

| 平台   | 创作者后台 URL                  |
| ------ | ------------------------------- |
| 小红书 | https://creator.xiaohongshu.com |
| 微博   | https://weibo.com               |
| 抖音   | https://creator.douyin.com      |
| B站    | https://member.bilibili.com     |
| 知乎   | https://www.zhihu.com/          |

> 导航到创作者后台后，**等待 2 秒**（`browser_wait --seconds 2`）再检查是否需要登录——页面可能尚未加载完成。
>
> 遇到登录页或验证码页面 → **立即停止**，告知用户先完成验证再继续。

## 通用步骤

### 1. 导航到创作者后台

```
browser_go_to_url --url <平台URL>
```

### 2. 找到并点击发布入口

在页面顶部导航栏或侧边栏中，寻找并点击「发布笔记」「创作」「发文章」等入口文字按钮。

> **小红书入口**：顶部导航栏的「发布笔记」是正确入口；首页卡片中的「发布图文笔记」点击后会触发 macOS Finder 弹窗，勿点击。

> **知乎入口**：知乎默认使用「写文章」作为入口；

> **B站入口**：B站依次点击「投稿」「专栏投稿」「新的创作」进入文章编辑页面；

> **抖音入口**：抖音依次点击「发布文章」「我要发文」进入文章编辑页面；

> **微博入口**：微博首页的微博发布文字编辑区域中；

### 3. 选择内容类型

常见类型：图文 / 上传图片 / 视频 / 文字 / 长文

- **小红书**：默认选图文，文字长度短一点，不超过 500 字
- **微博**：文字，不超过 140 字
- **抖音**：文章，最低 100 字
- **B站**：专栏文章，最低 100 字
- **知乎**：专栏文章，最低 100 字

> 💡 **内容定量原则**：在满足平台最低字数要求的前提下，内容尽量精简，避免冗长堆砌。例如小红书尽量控制在200字以内，知乎/B站控制在300-500字左右，用最少的字数把核心信息表达清楚即可。

### 4. 填充内容

- **标题**：通常必须填写，放在开头或专门输入框
- **正文**：内容主体，社交平台普遍支持 `#话题` 标签
- **话题**：添加 2-5 个相关话题可增加曝光
- **地点/定位**：可选

> ⚠️ **不需要通过 Prompt 生图**，遇到文生图的场景（如小红书），直接编写正文内容即可，而不是描述图片细节

> ⚠️ **正文内容限制**：发布内容以日常文字叙述为主，避免使用代码块、数学公式、复杂表格、流程图/Mermaid语法等富文本或特殊格式。这些内容在各平台编辑器中容易出错或被过滤，会显著降低发布成功率。 支持 markdown 语法输入的编辑器，比如知乎，使用 markdown 语法输入。

> ⚠️ 文件上传（图片/视频）必须由用户手动在浏览器中选择文件，浏览器自动化无法触发系统文件选择器。

> ⚠️ **抖音文章发布注意事项**：
>
> - 正文不少于 120 字，否则发布时报错无法提交
> - 使用 **AI配图** 等待完成后 **同步头图为封面**，为文字文章添加配图
> - 话题：搜索时不加 #，选完后必须点「确认添加」

> ⚠️ **小红书发布注意事项**：
>
> - 若用户没有明确指定封面，使用 **文字配图功能** 功能，避免让用户上传图片

### 5. 预览并发布

- 发布前截图 (`browser_screenshot`) 让用户确认
- 确认无误后点击「发布」
- 发布成功后告知用户

## 实践经验（已验证）

> 以下经验经多次发布验证，适用于所有平台。

### 正文输入：优先用键盘打字，不用粘贴板

沙箱环境中 `pbcopy`/`xclip` 等粘贴板工具不可用（返回 exit code 1）。正确做法：

```bash
# ✅ 正确：先聚焦，再逐字输入
browser_focus_element --index <正文区域索引>
browser_keyboard_op --action type --text "完整正文内容..."
```

---

## 关键原则

1. **每次页面变化后重新 `browser_snapshot`**，元素索引会失效
2. **发布前截图确认**，发布通常不可逆
3. **遇到障碍（登录/验证/弹窗）立即停止**，不要强行继续
4. **遇到无法自动完成的步骤（如图片上传）立即停止并告知用户**，不要跳过该步骤
5. **不需要通过 Prompt 生图**，遇到文生图的场景（如小红书），直接编写正文内容即可
