Skip to content

Commit 391f003

Browse files
author
global_name
committed
feat(post): publish Day 100 qclaw wechat workflow
1 parent f494158 commit 391f003

File tree

2 files changed

+114
-0
lines changed

2 files changed

+114
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
---
2+
layout: post
3+
title: "Day 100: 使用 QClaw 发布微信公众号"
4+
author: iosdevlog
5+
date: 2026-03-19 23:24:00 +0800
6+
description: "Day 100:用 QClaw + Markdown 统一发布微信公众号和博客,提升内容发布效率。"
7+
category: AI
8+
tags: [QClaw, 微信公众号, OpenClaw, 内容发布, 工程化]
9+
---
10+
11+
![Day 100 使用 QClaw 发布微信公众号](/assets/images/day100-qclaw-wechat-publish.png)
12+
13+
# Day 100: 使用 QClaw 发布微信公众号
14+
15+
今天这篇是实战复盘:如何用 QClaw 把一篇 Markdown 稳定发布到微信公众号草稿箱。
16+
17+
目标很简单:**写一次内容,同时用于博客和公众号**,减少重复劳动。
18+
19+
## 为什么用 QClaw 做发布
20+
21+
以前流程通常是:
22+
23+
1. 先在本地写 Markdown
24+
2. 再复制到公众号编辑器
25+
3. 手动调格式、传图、改排版
26+
4. 最后发草稿
27+
28+
这个流程最大的问题是:慢,而且容易在复制过程中引入格式差异。
29+
30+
QClaw 的方式是把“发布”做成可复用流程:
31+
32+
- 内容源头统一(Markdown)
33+
- 发布步骤可重复执行
34+
- 失败时有明确错误信息(比如 IP 白名单)
35+
36+
## 发布前准备
37+
38+
至少需要三件事:
39+
40+
- 微信公众号后台可用的 `AppID``AppSecret`
41+
- 调用 IP 已在公众号后台白名单
42+
- 文章 frontmatter 完整(`title` + `cover`
43+
44+
示例 frontmatter:
45+
46+
```yaml
47+
---
48+
title: "Day 100: 使用 QClaw 发布微信公众号"
49+
cover: /Users/i/.openclaw/workspace/assets/day100-qclaw-wechat-publish.png
50+
---
51+
```
52+
53+
> 注意:封面建议 1080×864,路径用绝对路径更稳。
54+
55+
## 核心发布命令
56+
57+
用 QClaw 的 wechat-toolkit 发布脚本:
58+
59+
```bash
60+
WECHAT_APP_ID="你的AppID" \
61+
WECHAT_APP_SECRET="你的AppSecret" \
62+
node /Users/i/.openclaw/skills/wechat-toolkit/scripts/publisher/publish.js /path/to/article.md
63+
```
64+
65+
执行成功后会返回草稿 `Media ID`,这就是进入公众号后台草稿箱的凭证。
66+
67+
## 一个稳定的工作流(推荐)
68+
69+
我现在固定用这条链路:
70+
71+
1. 在本地写 `posts/dayXXX-xxx.md`
72+
2. 生成封面图并写入 frontmatter
73+
3. 先发公众号草稿(拿到 Media ID)
74+
4. 同步转换为博客文章(Jekyll frontmatter)
75+
5. 提交并推送 GitHub Pages
76+
77+
这样做的好处是:公众号与博客内容保持一致,且可以追溯每次修改。
78+
79+
## 常见问题与处理
80+
81+
### 1) `40164 invalid ip`
82+
83+
原因:调用机器 IP 不在微信白名单。
84+
85+
处理:
86+
87+
- 查当前公网 IP
88+
- 加到公众号后台白名单
89+
- 重新执行发布命令
90+
91+
### 2) 缺少 `title``cover`
92+
93+
原因:frontmatter 不完整。
94+
95+
处理:补齐字段后重发。
96+
97+
### 3) 图片路径不稳定
98+
99+
原因:相对路径在发布工具链里可能解析失败。
100+
101+
处理:改成绝对路径。
102+
103+
## Day 100 小结
104+
105+
QClaw 这套方式最核心的价值,不是“自动化本身”,而是把发布流程工程化:
106+
107+
- 有输入规范(Markdown + frontmatter)
108+
- 有固定执行命令
109+
- 有可诊断的错误输出
110+
- 有可复用的内容资产
111+
112+
当你把发布当成工程问题,而不是手工操作问题,效率会非常明显地提升。
113+
114+
下一步,我会继续把“封面生成 + 标题备选 + 双端发布”进一步模板化,让 Day 系列可以更快连载。
8.12 KB
Loading

0 commit comments

Comments
 (0)