微信视频号助手网页版视频发布全流程。通过浏览器自动化操控 channels.weixin.qq.com 完成登录检测、扫码登录、上传视频、填写描述和短标题、截图确认后发布或保存草稿。触发场景:用户需要发布视频到视频号、视频号发布、视频号上传视频、发视频号。
通过浏览器自动化(profile=openclaw)操控视频号助手网页版(channels.weixin.qq.com),完成从登录到视频发布的全流程闭环。
browser start profile=openclawbrowser navigate url=https://channels.weixin.qq.com
等待页面加载完成(2-3秒)。
根据 URL 和页面内容判断登录状态:
判断方法:
channels.weixin.qq.com/login.html,页面显示二维码channels.weixin.qq.com/platform/post/list() => {
return {
url: window.location.href,
isLoginPage: window.location.pathname.includes('login'),
title: document.title
};
}
已登录 → 跳到 Step 4
未登录 → 继续 Step 3
登录页面的二维码位于一个 iframe 中。
方法A:直接截图整个页面(推荐,最简单)
browser screenshot profile=openclaw
截图会包含右侧的二维码区域,用户可以直接用微信扫码。
方法B:定位二维码 iframe 并截图
// 二维码在 iframe 内,结构:
// iframe → generic → img (二维码图片)
// snapshot 中 ref 前缀 f8 表示 iframe 内的元素
// 二维码图片 ref 类似 f8e7
message action=send channel=feishu message="📱 请用微信扫码登录视频号助手" filePath=<截图路径>
发送截图后告知用户:
"请打开微信 → 扫一扫 → 扫描屏幕上的二维码,然后在手机上确认登录。"
轮询检测登录状态(每 5 秒检查一次,最多等待 2 分钟):
() => {
return {
url: window.location.href,
isLoginPage: window.location.pathname.includes('login'),
title: document.title
};
}
登录成功标志:
login/platform/post/list)二维码过期处理:
ref=f8e16)browser act kind=click ref=f8e16 # "二维码已过期,点击刷新"
登录成功后,cookie 自动保存在:
~/.openclaw/browser/openclaw/user-data
下次打开浏览器自动保持登录。
登录后导航到"发表视频"页面。有两种方式:
方式A:直接 URL 导航(推荐)
browser navigate url=https://channels.weixin.qq.com/platform/post/create
方式B:通过菜单导航
# 依次查找并点击:
# 1. "内容管理" 菜单项
# 2. "视频" 子菜单
# 3. "发表视频" 按钮
发表视频页面会有一个上传区域(通常是拖拽区 + 点击上传按钮)。
做 snapshot 找到上传相关元素:
input[type="file"] 隐藏元素// 查找文件上传 input
() => {
const inputs = document.querySelectorAll('input[type="file"]');
const results = [];
inputs.forEach((input, i) => {
results.push({
index: i,
accept: input.accept,
id: input.id,
className: input.className,
parentClass: input.parentElement?.className
});
});
return results;
}
browser upload selector="input[type='file']" paths=["<视频文件路径>"]
或使用 snapshot 中找到的具体选择器。
视频文件路径通常为:
/tmp/openclaw/jimeng-videos/01_xxx.mp4/tmp/openclaw/jimeng-videos/final_merged.mp4视频上传需要时间,取决于文件大小。
轮询检查上传进度(每 5 秒截图/snapshot 一次):
() => {
// 检查是否有上传进度元素
const progress = document.querySelector('[class*="progress"]');
const percent = document.querySelector('[class*="percent"]');
return {
hasProgress: !!progress,
progressText: progress?.textContent || '',
percentText: percent?.textContent || ''
};
}
找到描述输入区域并填写爆火文案。
# snapshot 找到描述文本框(通常是 textarea 或 contenteditable div)
browser act kind=click ref=<描述输入框_ref>
browser act kind=type text="<描述文案>"
描述文案生成规则:
根据视频内容(分镜脚本的主题)自动生成爆款描述:
#标签示例模板:
🔥 [痛点问题]?看完这条视频你就懂了!
[一句话核心价值]
💡 关键要点:
1. [要点1]
2. [要点2]
3. [要点3]
👇 觉得有用就点赞收藏,关注我学更多干货!
#企业数字化 #创业干货 #门店经营 #中小企业 #田泽湘
找到短标题输入框并填写。短标题显示在视频封面上,要求 6-16个字符。
# snapshot 找到短标题输入框
browser act kind=click ref=<短标题输入框_ref>
browser act kind=type text="<短标题>"
短标题生成规则:
3万搞定门店数字化、利润翻倍的3个秘诀、老板必学的获客公式根据页面情况,可能还有:
一般保持默认即可,除非用户特别指定。
发布前截图整个页面,发送给用户确认:
browser screenshot profile=openclaw
message action=send channel=feishu message="📋 视频已准备好,请确认以下信息后告诉我:\n1️⃣ 立即发布\n2️⃣ 保存草稿\n3️⃣ 修改内容\n\n描述:[已填写的描述]\n短标题:[已填写的短标题]" filePath=<截图路径>
等待用户回复指令。
根据用户指令执行:
# snapshot 找到"发表"按钮
browser act kind=click ref=<发表按钮_ref>
发布后可能出现确认弹窗,点击确认。
截图确认发布成功:
browser screenshot profile=openclaw
message action=send channel=feishu message="✅ 视频已成功发布到视频号!" filePath=<截图路径>
# snapshot 找到"存草稿"按钮
browser act kind=click ref=<存草稿按钮_ref>
在 TOOLS.md 中维护:
### 视频号助手 (weixin-channels-publish)
- **默认话题标签**: #企业数字化 #创业干货 #门店经营 #中小企业 #田泽湘
- **默认描述模板**: 爆款描述(hook+价值+标签+CTA)
- **短标题风格**: 数字+痛点,6-16字
| 要素 | 说明 |
|---|---|
| 浏览器 profile | openclaw |
| 登录页 URL | https://channels.weixin.qq.com/login.html |
| 后台首页 URL | https://channels.weixin.qq.com/platform/post/list |
| 发表视频 URL | https://channels.weixin.qq.com/platform/post/create |
| 二维码位置 | 登录页右侧 iframe 内(img 元素) |
| 登录方式 | 微信扫码(无账号密码登录选项) |
| 登录态存储 | ~/.openclaw/browser/openclaw/user-data(cookie 自动持久化) |
| 视频上传限制 | 最大 4GB,时长 1 秒 ~ 60 分钟 |
| 支持格式 | mp4, mov, avi, wmv, flv, mkv, webm |
| 短标题要求 | 6-16 个字符 |
| 描述长度限制 | 最多 1000 字 |
1. jimeng-storyboard skill → 生成分镜脚本
2. jimeng-digital-human skill → 逐镜头生成 + 下载视频
3. video-merge-send skill → 合并视频片段
4. weixin-channels-publish → 发布到视频号 ← 本 skill
├── Step 1-3: 登录检测/扫码
├── Step 4: 导航到发表页
├── Step 5: 上传合并视频
├── Step 6: 填写描述+短标题
├── Step 7: 截图确认
└── Step 8: 发布/草稿
| 问题 | 解决方案 |
|---|---|
| 二维码过期 | 点击"二维码已过期,点击刷新"链接,重新截图发给用户 |
| 扫码后未跳转 | 确认手机端已点确认,等待 5-10 秒后刷新页面 |
| 上传进度卡住 | 检查文件大小是否超限(4GB),网络是否稳定 |
| 找不到上传按钮 | 重新 snapshot,视频号助手可能改版,用 JS 搜索 input[type="file"] |
| 短标题字数不符 | 严格控制 6-16 字符,中文算 1 个字符 |
| 发布按钮灰色/disabled | 检查必填项是否都已填写(描述、短标题、视频上传完成) |
| 登录后又跳回登录页 | cookie 可能过期,需重新扫码登录 |
| 描述含敏感词被拦截 | 避免使用"最"、"第一"、"保证赚"等绝对化用语 |