运行时依赖
安装命令
点击复制本土化适配说明
Wjs Publishing Wechat — Wjs 出版 微信 安装说明: 安装命令:["openclaw skills install wjs-publishing-wechat"] 该技能用于微信相关操作,可能需要相应的平台账号或API密钥
技能文档
wjs-publishing-wechat 帮助用户写微信公众号文章。轻润色,不重写。 自动生成题图和解释图,输出可直接粘贴到公众号后台的内容包。
核心原则:保留作者的语气和节奏。用户的思路和表达方式是文章的灵魂。你只做四件事:
修明显错字和重复字 调整段落(微信读者习惯短段落,每段 1–3 句) 抚平特别拗口的句子(保守,能不动就不动) 准备配套素材(题图、标题候选、摘要)
不要做的事:
不要改变作者的用词偏好 不要加 AI 味儿的连接词("首先"、"其次"、"综上所述"、"总而言之"、"值得注意的是") 不要把口语改成书面语 不要加 emoji(除非原文有) 不要重新组织段落顺序 不要"提升"作者的表达——他写他的,你只是清洁工
当此技能触发时:
用户提供一段思路、草稿、或语音转写文字 用户说"帮我写一篇公众号"、"润色一下"、"准备发布" 用户在公众号写作工作目录下工作(默认 ~/wechat-publish/ 或 ~/code/wechat-publish/,可由用户配置)
工作流程:
步骤 0:接收输入
用户会以以下形式给你内容:完整草稿(最常见)、几段散乱的思路 / bullet points、一段长文字,没有分段、语音转写(可能有错字、重复) 如果输入太散,问一个问题:"这是想写一篇文章,还是几个独立想法?" —— 但只问这一次。
步骤 1:轻润色
打开一个 markdown 文件,把用户的内容粘进去。然后只做下面这些: + 修错字("的得地"乱用、同音字错字、重复字"我我") + 段落切分:每 1–3 句一段。微信里长段落很难读 + 拗口的地方做最小改动。如果改动后语气变了,宁可不改 + 标点统一:中文用全角逗号句号,英文/数字之间空格 + 保留原本的开头和结尾——这是作者的标志性特征 + 改动的尺度参考:如果你改的字数超过原文的 5%,你改太多了。退回去。
步骤 2:标题候选
给用户 3 个标题候选: + A) 直白型:直接说文章讲什么 + B) 故事型:从一个场景或冲突切入 + C) 用户原文里的一句话:从草稿里摘最有味道的一句 不要做:标题党、夸张、"震惊"、"必看"。
步骤 3:摘要 (50–80 字)
公众号摘要是发到朋友圈/对话框时的预览。要点: + 不是文章第一段的复制 + 一句话说清楚读者会获得什么 + 用作者的语气,不是营销腔
步骤 4:配图(每篇两张)
每篇文章配两张图:题图 cover.png — 进入文章前的封面,严格 2.35:1(900×383, 即 900÷383=2.349),进 WeChat 编辑器封面字段。强字体、强构图、文字主导 解释图 illustration.png — 正文里的配图,比例由内容决定(模型自选),帮读者一眼看懂文章核心结构。扁平卡通,有标签和流程 题图固定走 AI 生成(不问用户,每张约 $0.05–0.20):~/.claude/skills/wjs-publishing-wechat/gen-cover-ai.sh ["目标字词"] 不传第二个参数时,从 meta.json 取 title 当目标字词 内部调用 gpt-image-2-skill,强制走 --provider codex(不再支持 OpenAI API key fallback) 默认尺寸 1536x1024(最接近 2.35:1 的 landscape),自动 sips 居中裁到 900×383 原图保存为 cover-raw.png,裁剪后是 cover.png cover-prompt.md 作为 --instructions(设计哲学),短生成指令作为 --prompt——这样 gpt-5.4 能消化长 prompt 后再调 image_generation 工具 可调环境变量:WECHAT_PUBLISH_IMAGE_SIZE(默认 1536x1024)、WECHAT_PUBLISH_IMAGE_QUALITY(默认 high) 前置依赖:必须装好 gpt-image-2-skill:git clone https://github.com/Wangnov/gpt-image-2-skill /tmp/g cp -r /tmp/g/skills/gpt-image-2-skill ~/.claude/skills/ 必须有 Codex 鉴权:唯一支持:Codex ~/.codex/auth.json(ChatGPT Plus 计划即可,不需要 OpenAI 组织验证,gpt-image-2 的中文字渲染明显比 gpt-image-1 准确) 不再支持 OPENAI_API_KEY 直连(--instructions 仅 Codex provider 支持,且 API 模式会绕过 Codex 的 prompt 优化) 目标字词的选择:文章标题往往是长短语(如「AI 能力的三个简单层次」),但 prompt 模板对单字 / 两字词更友好。可以建议用户挑核心概念字词:目标字词用什么?默认是文章标题。建议挑一个核心概念字词(1–4 字),比如「AI 能力的三个简单层次」可以用「三层」或「层次」。 然后生成解释图(无需问用户,自动跑): ~/.claude/skills/wjs-publishing-wechat/gen-illustration.sh 读 article.md 全文,作为 instructions 传给 gpt-image-2 模型理解文章核心结构后,生成扁平卡通解释图 不裁剪,模型自选画幅(双行对照通常出 3:2,流程类用横长条,层级深度用竖版) 输出 illustration.png,直接用作正文配图 如果用户对某张图不满意,直接重跑对应脚本——每次结果不同。
步骤 5:输出文件包
在用户的工作目录下(默认 ~/wechat-publish/articles/)创建文件夹:articles/2026-05-09-{slug}/ ├── article.md # 润色后的 markdown 源文件 ├── article.html # 转成 HTML,直接粘贴用 ├── cover.png # 题图 900×383 (2.35:1 严格) ├── illustration.png # 解释图(任意比例,模型自选) ├── meta.json # { title, summary, author, date, slug } └── original.md # 用户原始输入,备份 {slug} 从标题生成:拼音首字母 + 关键词,限制 30 字符以内。例如"我的第一台 Mac" → my-first-mac。 article.html 转换规则:用 pandoc 或简单的 markdown 解析(不需要复杂样式,公众号编辑器会重新排版) 保留段落分隔(
) 保留加粗()和列表 不要内联 CSS——公众号会清掉 pandoc article.md -f markdown -t html -o article.html # 如果没有 pandoc: # 用 Python 的 markdown 包 / Node 的 marked / 或手写最简实现
步骤 6:发布(用 upload-draft.sh 走 md2wechat 底层)
文章包准备好后,跑一行就能把文章作为草稿推到公众号后台:~/.claude/skills/wjs-publishing-wechat/upload-draft.sh /articles/YYYY-MM-DD-{slug} 脚本内部做了 4 件事(用 md2wechat 的低层命令,绕过它高层 convert 的 API key 限制): + md2wechat upload_image cover.png → 拿到 thumb_media_id + md2wechat upload_image illustration.png → 拿到 WeChat CDN wechat_url + 从 article.md 生成 content.html(去掉 frontmatter 和正文 H1,段落加内联样式,./illustration.png 替换成 CDN URL),再从 meta.json 装出 draft.json + md2wechat create_draft draft.json