magicx

WeChat Publisher 微信公众号发布

内容创作v1.0.1
作者:magicx更新于 2026-05-14共 2 个版本 · 最新版本发布于 2026-03-09magicx-wechat-publisher@clawhub_youyouyoumagic/magicx-wechat-publisher
自媒体运营#WeChat#微信

据 AlphaMoat 统计,截至 2026-09,WeChat Publisher 微信公众号发布 累计下载 3,047 次、获 2 个星标,在全部 5,078 个 AI 技能中排名第 3,695 位,在「内容创作」分类(362 个)中排名第 245 位。

累计安装
668
累计下载
3,047
星标
2
全站排名
#3,695
全站前 73% · 「内容创作」前 68%
平台累计安装累计下载星标评论
ClawHub ↗501,6521-
SkillHub ↗6683,0472—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

只负责把 Markdown 或纯文本转成公众号 HTML、上传正文图片、提交草稿,不负责选题、写作与内容生成。凭据从配置文件的 appid 与 secret 读取,换取 access_token 后调用上传与草稿接口。图片走 multipart 上传换微信图床地址,发布前的最终确认仍由人完成。 此流程可能影响外部账号、公开内容或现实状态;核对目标和具体操作,重要变更或发布前取得用户确认。

资料发布于 2026-10-27

可以用来做什么

  • 把写完的稿子送进草稿箱
  • 给文章配图并上传到微信图床

什么时候用

  • 内容已定稿、只差发布环节时
  • 要连续提交多篇草稿时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

把这篇 Markdown 发到公众号草稿箱
帮我把正文图片传上去再提交草稿

月度数据趋势

累计下载3,047
1,0712,1323,1932026-03 · 累计下载 1,2172026-05 · 累计下载 1,6952026-06 · 累计下载 1,8062026-07 · 累计下载 2,0982026-08 · 累计下载 2,4222026-09 · 累计下载 3,04726-0326-09
星标2
1222026-03 · 星标 12026-05 · 星标 12026-06 · 星标 12026-07 · 星标 12026-08 · 星标 12026-09 · 星标 226-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-093,047—2
2026-082,422+15.4%1
2026-072,098+16.2%1
2026-061,806+6.5%1
2026-051,695—1
2026-031,217—1

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

6.7 KB · ClawHub v1.0.1
---
name: wechat-publisher
description: 将已完成的文章发布到微信公众号草稿箱。只负责排版转换、图片上传、草稿提交,不负责文章内容生成。当用户要求"发公众号""上传草稿箱""发布文章到公众号"时触发此技能。
---

# 微信公众号发送技能

## 边界

- ✅ 本技能只做:Markdown/文本 → 公众号HTML → 上传图片 → 提交草稿箱
展开全部(共 163 行)
- ❌ 本技能不做:选题、写作、内容生成(由文章生成技能负责)
- 输入:已完成的文章内容 + 配图文件
- 输出:公众号草稿箱中的可发布草稿

## 发布流程(5步)

### Step 1: 获取 access_token(Agent 执行)

从 `scripts/.wechat-config.json` 读取 appid 和 secret,然后调用微信API:

```bash
curl "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={APPID}&secret={SECRET}"
```

返回 `access_token`,后续步骤都需要用到。

### Step 2: 上传图片(Agent 执行)

> 此步骤由 Agent 通过 curl 调用微信API完成,不通过脚本。

- 正文图片 → `POST https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token={TOKEN}`(multipart/form-data 上传,返回微信图床URL)
- 封面图 → `POST https://api.weixin.qq.com/cgi-bin/material/add_material?type=image&access_token={TOKEN}`(返回 media_id)

### Step 3: 转换HTML(Agent 执行)

将文章内容转为公众号专用HTML,**必须遵守排版规范**(见下方)。关键要求:
- 替换所有图片 src 为 Step 2 获得的微信图床URL
- 所有样式必须内联,禁止使用 `<style>` 标签或 CSS class

### Step 4: 上传草稿(脚本执行)

将转换好的HTML保存为文件,使用附带脚本上传到草稿箱:

```bash
node scripts/upload-draft.js --html <html文件> --title <标题> [--author <作者>]
```

脚本会自动:
1. 从 `scripts/.wechat-config.json` 读取 AppID/Secret
2. 调用微信API获取 access_token
3. 通过 `POST /cgi-bin/draft/add` 将HTML内容提交到草稿箱

### Step 5: 通知用户

上传成功后通知用户去公众号后台 → 内容与互动 → 草稿箱 中检查并设置封面图,确认后发布。

## 排版规范(公众号HTML标准)

### 全局规则

- **所有样式必须内联**,禁止 `<style>` 标签和 CSS class
- 正文不含 `<h1>` 标题(标题由公众号自动显示),开头用摘要引导块代替

### 元素规范

| 元素 | 标签 | 内联样式 |
|------|------|----------|
| 摘要块 | `<section>` | `margin:10px 0 15px;padding:15px 20px;background:#f7f8fa;border-left:4px solid #0EA5E9;font-size:15px;color:#555;line-height:1.6;` |
| 正文段落 | `<p>` | `margin:3px 0;font-size:16px;line-height:1.75;color:#333;` |
| 加粗 | `<strong>` | 不加额外样式(禁止用 `<span>` 或 class 模拟加粗) |
| 关键词高亮 | `<strong><span>` | 加粗+颜色双重强调,用于核心观点/关键数据/金句 |

### 关键词颜色高亮规则(重要!)

纯加粗在黑字中不够突出,**必须对关键词/关键句加颜色**,帮助读者快速扫到重点。

#### 颜色方案

| 用途 | 颜色 | 写法 |
|------|------|------|
| 核心观点/金句 | 品牌蓝 #0EA5E9 | `<strong style="color:#0EA5E9;">关键句</strong>` |
| 重要数据/数字 | 橙色 #f59e0b | `<strong style="color:#f59e0b;">40%</strong>` |
| 警示/冲突 | 红色 #ef4444 | `<strong style="color:#ef4444;">警示内容</strong>` |
| 正面/增长 | 绿色 #10b981 | `<strong style="color:#10b981;">增长数据</strong>` |
| 普通加粗 | 默认黑色 | `<strong>普通强调</strong>` |

#### 使用原则

- 每段最多高亮1-2处,不要全篇都是彩色(否则失去重点)
- 金句/核心观点用品牌蓝(最常用)
- 关键数字用橙色(数据冲击感)
- 不要在一句话里混用多种颜色
- 普通强调仍然用无颜色的 `<strong>`,颜色只给最关键的内容
| 二级标题 | `<h2>` | `font-size:20px;font-weight:bold;color:#111;margin-top:15px;margin-bottom:5px;padding-left:12px;border-left:4px solid #0EA5E9;` |
| 三级标题 | `<h3>` | `font-size:17px;font-weight:bold;color:#222;margin-top:12px;margin-bottom:3px;` |
| 分割线 | `<hr>` | `border:none;border-top:1px solid #eee;margin:8px 0;`(禁止用 div 模拟) |
| 引用块 | `<blockquote>` | `margin:3px 0;padding:12px 18px;background:#f7f8fa;border-left:4px solid #0EA5E9;color:#555;font-style:italic;` |
| 图片容器 | `<p>` | `text-align:center;margin:3px 0;` |
| 图片 | `<img>` | `max-width:100%;display:block;margin:0 auto;border-radius:12px;` |
| 落款 | `<p>` | `margin-top:20px;padding-top:10px;border-top:1px solid #eee;font-size:14px;color:#999;text-align:center;line-height:2;` |

### 落款标准内容

```html
<p style="margin-top:20px;padding-top:10px;border-top:1px solid #eee;font-size:14px;color:#999;text-align:center;line-height:2;">有用AI — 有用才会用,会用才有用。<br/>AI领域连续创业者、落地实战派<br/>亲手打造AI产品,服务数百家中大型名企</p>
```

### 禁止事项

- ❌ 使用 `<style>` 标签或 CSS class
- ❌ 使用 `<h1>`(标题由公众号系统渲染)
- ❌ 使用 base64 图片(使用外部图床URL或在公众号素材库上传)
- ❌ 使用 `<span class="bold">` 模拟加粗(必须用 `<strong>`)
- ❌ 使用 `<div>` 模拟分割线(必须用 `<hr>`)
- ❌ 落款中出现"个人观点,不构成投资建议"
- ❌ 落款上方出现多条分割线(只保留落款自带的 border-top)

## 文章结构模板

参考 `assets/article-template.html`,标准结构为:

```
摘要引导块(section)
正文段落...
图片(推文截图等)
引用块
正文段落...
分割线
二级标题 + 图片 + 正文段落...
分割线
二级标题 + 图片 + 正文段落...
...(重复章节)
分割线
二级标题"写在最后" + 结尾段落...
落款
```

## 脚本工具

- `scripts/upload-draft.js` — 草稿上传脚本(Node.js),负责调用微信API提交草稿
- 仅使用 Node.js 内置模块(https, fs, path),无需安装额外依赖
- 用法:`node scripts/upload-draft.js --html <html文件> --title <标题> [--author <作者>]`

## 配置说明

- AppID/Secret 存放于 `scripts/.wechat-config.json`(本地文件,请勿提交到版本控制)
- 首次使用:`node scripts/upload-draft.js --appid xxx --secret xxx --save-config`
- 保存后后续使用无需再传入 appid/secret 参数
- 服务器公网 IP 需加入公众号后台的 IP 白名单

---

## 关于

本技能由 **magicx** 开发维护。

- 公众号:**有用AI** — 有用才会用,会用才有用
- 视频号:**有用AI**
- 邮箱:[email protected]
- 许可证:ISC © magicx

![扫码关注视频号「有用AI」](assets/youai_sph_qrcode.JPG)

「内容创作」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。