ワンクリックで
wechat-channels-publish
通过浏览器自动化发布视频到微信视频号。处理 wujie shadow DOM,支持视频上传、标题描述填写、即时发布。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
通过浏览器自动化发布视频到微信视频号。处理 wujie shadow DOM,支持视频上传、标题描述填写、即时发布。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
Publish videos to Bilibili (B站) via Open Platform API (OAuth2). Supports chunked video upload, cover image, tags, and partition selection. Requires BILIBILI_APP_ID and BILIBILI_APP_SECRET environment variables.
内容校准预测循环——打分 → 盲预测 → T+3d复盘 → 进化 rubric。按平台独立迭代,每个平台拥有自己的 rubric、校准池、预测日志、受众画像。本技能负责打分(blind sub-agent + score-only.sh + 阈值门 + 流程 1A)与校准闭环;发布记录与数据采集由 published-track 统一管理。
口播视频去口误。自动识别并删除静音、语气词、卡顿词、重复句、残句等,输出干净视频+字幕+剪映草稿。触发词:去口误、剪口播、de-mouth、去除口误
Generate custom WeChat CSS themes from natural language descriptions, WeChat article URLs, or recent articles from a WeChat Official Account. Produces a valid CSS file conforming to wenyan and ready for wx-mp-publisher.
一站式短视频制作。支持文章链接、追爆报告、文字主题等多种输入,用 gen.py 直连火山 Seedance / 阿里云百炼 Wan2.7-HappyHorse 端点生成视频素材(声画同出),FFmpeg 组装成片。
通过浏览器自动化在微博发布图文内容。微博 API 对个人开发者不友好,浏览器方案更实用。
| name | wechat-channels-publish |
| description | 通过浏览器自动化发布视频到微信视频号。处理 wujie shadow DOM,支持视频上传、标题描述填写、即时发布。 |
| metadata | {"openclaw":{"emoji":"📺"}} |
通过浏览器工具在微信视频号创作者中心发布视频。视频号创作者中心使用 wujie 微前端,所有表单元素在 <wujie-app>::shadow-root 内,需要特殊处理。
前提条件:浏览器已登录 channels.weixin.qq.com(微信扫码登录)。
Navigate https://channels.weixin.qq.com/platform/post/create
等待 5 秒(wujie 需要额外时间初始化 shadow DOM)。
如果页面 URL 包含 login 或出现登录二维码:
browser-guide技能的 1-B QR Code 登录流程处理方式 A:CDP setFileInputFiles(推荐)
python ./skills/wechat-channels-publish/scripts/upload_video.py --video <video_path> --cdp-port <port>
脚本会:
span.add-icon 或 div.upload-content)<input type="file">DOM.setFileInputFiles 注入视频文件方式 B:DataTransfer base64 分块注入
当 CDP setFileInput 在 shadow DOM 内失败时使用:
python ./skills/wechat-channels-publish/scripts/upload_video.py --video <video_path> --cdp-port <port> --method base64
脚本会:
Runtime.evaluate 注入页面 window.__oc_chunks 数组DataTransfer + File 对象,设置到 <input type="file"> 的 files 属性change + input 事件支持的视频格式:.mp4、.mov、.avi、.webm
上传后视频需要转码处理,等待方式:
[class*="uploading"] 或 [class*="progress"][class*="transcoding"]<video> 预览或 [class*="preview-video"] 或文本"上传成功"/"转码完成"[class*="upload-fail"] 或文本"上传失败"python ./skills/wechat-channels-publish/scripts/fill_form.py --title "<标题>" --cdp-port <port>
input[placeholder*="短标题"]Runtime.evaluate 在 shadow root 内查找并填写python ./skills/wechat-channels-publish/scripts/fill_form.py --caption "<描述内容>" --cdp-port <port>
div[contenteditable][data-placeholder="添加描述"]日常生活 #搞笑 #生活视频号发布不必勾选"原创声明",发布后用户会在手机端补充。
点击"发表"按钮:
python ./skills/wechat-channels-publish/scripts/fill_form.py --publish --cdp-port <port>
等待 4 秒后检查:
https://channels.weixin.qq.com/platform/post/list发布成功后,在视频号管理后台的视频列表页获取视频公开链接:
https://weixin.qq.com/sph/xxxxxx(sph 即视频号拼音缩写)注意:如果刚发布的视频还在审核中,"分享"按钮可能不可用。此时可先完成发布记录(publish_url 留空),待审核通过后再补充链接。
自动化脚本方式(推荐):
python ./skills/wechat-channels-publish/scripts/get_video_link.py --cdp-port <port> [--title "<视频标题>"]
脚本会自动:
链接将用于数据记录流程(不在本技能流程中,通常是执行完本技能之后执行)
在 Step 7 中点击"存草稿"按钮而非"发表"。
如果需要人工检查表单后再发布:
document.querySelector('wujie-app').shadowRoot.querySelector(selector)DOM.querySelector 带 pierce: 模式(如果 Patchright 支持)DOM.setFileInputFiles 对 shadow DOM 内的 <input type="file"> 操作Not allowed 错误locator.drop() 可模拟拖拽文件到上传区域,绕过 shadow DOM 内 file input 的限制:
const videoBuffer = fs.readFileSync(videoPath);
await page.locator('.upload-content').drop({
files: { name: 'video.mp4', mimeType: 'video/mp4', buffer: videoBuffer }
});
需验证视频号上传区域是否响应 drop 事件(部分自定义组件可能不处理 drag/drop)。--timeout 600),或检查视频格式是否兼容| 情况 | 处理 |
|---|---|
| 未登录 | 等待用户扫码登录,最长 2 分钟 |
| 上传失败 | 检查视频格式(mp4/mov/avi/webm),重试一次 |
| setFileInput Not allowed | 自动 fallback 到 base64 注入方式 |
| 转码超时 | 增加超时时间,或告知用户稍后在创作者中心检查 |
| 发表按钮 disabled | 检查必填字段是否已填写(视频是否上传完成) |
| shadow DOM 元素找不到 | 等待更长时间让 wujie 初始化,或刷新页面 |