wx-write — 公众号创作与同步
独立 Skill:内置 toolkit/ 实现 Markdown 预览与微信草稿箱同步,不依赖外部 agent 或
wewrite CLI。
路径约定
| 变量 | 含义 |
|---|---|
{skill_dir} |
本 skill 目录 |
{home} |
$WX_WRITE_HOME 或 ~/.wx-write(凭证放 {home}/.env) |
{toolkit} |
{skill_dir}/toolkit |
确定性操作:
bash {skill_dir}/scripts/diagnose.sh # 公网 IP + 微信 API 诊断
bash {skill_dir}/scripts/get-public-ip.sh # 仅检测公网 IPv4
bash {skill_dir}/scripts/wxpub.sh <命令> # preview / publish / visual / doctor
bash {skill_dir}/scripts/preview.sh # 当前任务 → 微信排版 HTML 预览
bash {skill_dir}/scripts/visual.sh <命令> # init / check / placeholder-cover
bash {skill_dir}/scripts/run.sh <命令> # 任务状态管理(含 run preview)
首次使用 wxpub.sh 会自动 npm install toolkit 依赖(需 Node.js 20+)。
运行原则
- 默认连续完成内容流程;用户说「交互模式」时,才在选题和框架处确认。
- 每篇文章独立任务目录,禁止覆盖另一篇。
- 「写一篇」默认只交付审过的本地稿;生图和发布不是默认动作。
- 「完整制作」= 正文 + 配图 + 本地预览;只有明确说「推到草稿箱/同步公众号」才发布。
- 搜索失败时可写分析判断,不得把模型记忆包装成已核实事实。
路由
| 用户意图 | 动作 |
|---|---|
| 环境检查 / IP 白名单 | diagnose.sh 或 get-public-ip.sh |
| 只要选题 | references/topic-guide.md |
| 写正文 | references/write-guide.md |
| 检查文章 | references/review-guide.md |
| 封面或配图 | references/visual-guide.md + visual.sh |
| 预览 / 同步草稿箱 | references/wechat-sync.md + preview.sh |
首次配置
mkdir -p {home}
cp {toolkit}/.env.example {home}/.env
# 编辑 WECHAT_APP_ID、WECHAT_APP_SECRET
bash {skill_dir}/scripts/diagnose.sh
内容流程
1. 建立或恢复任务
先运行诊断。若报 40164,把输出的公网 IP 加入
微信公众平台 IP 白名单 后重试。
bash {skill_dir}/scripts/run.sh start --topic "{选题}" --mode draft --visual-mode none
bash {skill_dir}/scripts/run.sh update --patch '{"flags":{"diagnosed_at":"YYYY-MM-DD"}}'
「继续上次」→ run.sh list,确认后 run.sh resume <run_id>。
2–6. 选题 → 写作 → 审稿 → 封存
按各 references/*-guide.md 执行,产物在 {home}/runs/<run_id>/。
审稿通过后写入 article.md,然后 run.sh finish。
可选后续
A. 配图
按 references/visual-guide.md 执行:
bash {skill_dir}/scripts/visual.sh init
# Agent 写 image-prompts.md、生图、更新 images.json status
bash {skill_dir}/scripts/visual.sh check
bash {skill_dir}/scripts/run.sh step visual completed
B. 预览与同步公众号
按 references/wechat-sync.md 执行。
本地预览(微信内联样式 + 手机壳 HTML,无需凭证):
bash {skill_dir}/scripts/preview.sh
# 或
bash {skill_dir}/scripts/run.sh preview
bash {skill_dir}/scripts/wxpub.sh preview {article.md} -o {preview.html} [--relax-cover]
同步草稿箱(用户明确授权 + 封面 + 凭证):
bash {skill_dir}/scripts/run.sh permission publish allow
bash {skill_dir}/scripts/wxpub.sh publish {article.md}
成功后记录 media_id 并 run.sh step publish completed。
C. 完整制作
正文封存 → visual.sh init + 配图 → preview.sh 生成本地 HTML。不自动授予发布权限。
交付清单
标题、文章路径、预览 HTML、来源数量、公网 IP(若刚诊断)、是否进入草稿箱、发生的降级。
失败与恢复
bash {skill_dir}/scripts/run.sh step <step> failed --error "简短原因"
发布失败保留本地预览;40164 时重新运行 diagnose.sh。