Skill flagged — review recommended

ClawHub Security found sensitive or high-impact capabilities. Review the scan results before using.

WeChat Publisher With WeMD Render

v0.1.0

微信公众号发文自动化 skill。覆盖 Markdown 排版渲染(12 种内置主题 + 自定义主题)、正文图片上传、封面上传、草稿创建/更新/预览、人工确认发布、发布状态查询、素材/草稿/已发布文章查询。Use when agent needs to help write or publish 公众号文章, o...

1· 268· 1 versions· 0 current· 0 all-time· Updated 20h ago· MIT-0
bytraceless@traceless929

Install

openclaw skills install wechat-publisher-wemd

WeChat Publisher

能力概览

覆盖公众号发文全链路:

发文工作流(主路径):

  1. 收集输入 → 询问用户选择排版主题
  2. WeMD 渲染:Markdown / 纯文本 → 带主题样式的微信 HTML
  3. 正文内本地图片自动上传并替换为微信 CDN URL
  4. 封面素材自动上传
  5. 创建或更新草稿 → 返回预览链接
  6. 等待人工确认(不可跳过)
  7. 提交发布 → 查询发布状态

资产查询(只读):素材 / 草稿 / 已发布文章的列表与详情

主题管理:12 个内置主题 + 用户自定义主题(发送 CSS 即可添加)

仅 client 封装(高风险):删除素材 / 草稿 / 已发布文章

首次使用:自动安装 Node.js 依赖(需要 Node.js v18+),后续跳过


核心规则

  • 发布前必须有明确人工确认,拒绝任何隐含或沉默批准
  • 不暴露凭据到用户侧输出
  • 删除类操作默认不触发,需用户明确要求
  • 只做发文相关链路,不扩展到菜单、群发、客服、统计等域
  • 用户未指定主题时必须询问,不擅自选择

工作流

1. 收集输入

必填:

  • title
  • author
  • digest(摘要)
  • 正文:content_markdown / content_markdown_path / content_text / content
  • 封面:thumb_image_path(本地图片)或 thumb_media_id(已上传素材)
  • theme:排版主题(用户未指定时必须询问

可选:

  • content_base_dir:正文中相对路径图片的基准目录
  • draft_media_id / media_id:更新已有草稿时必填
  • content_source_url / need_open_comment / only_fans_can_comment

主题选择规则:

  • 用户未指定主题时,向用户展示主题列表请用户选择
  • 中文名或英文名都可以,脚本自动识别
  • 用户说"默认"或不想选 → 使用默认主题

内置主题(12 个):

中文名英文 ID适合场景
默认Default通用,微信绿现代风
学术论文Academic-Paper技术论文、研究报告
极光玻璃Aurora-Glass产品介绍、创意内容
包豪斯Bauhaus设计、艺术、创意
赛博朋克Cyberpunk-Neon科技、数码、AI
知识库Knowledge-Base教程、说明文档
黑金奢华Luxury-Gold品牌文、深度文章
莫兰迪森林Morandi-Forest生活方式、慢阅读
新粗野主义Neo-Brutalism潮流、先锋、态度文
购物小票Receipt趣味内容、清单、复古
落日胶片Sunset-Film故事、散文、影评
主题模板Template基础排版参考

2. 归一化正文

upsert_draft.py 自动调用,无需手动执行。首次使用时自动安装 Node.js 依赖。

渲染引擎:WeMD

处理流程:

  1. Markdown / 纯文本 → 经 WeMD 渲染为带内联样式的微信兼容 HTML
  2. 本地图片自动上传到微信图文图片接口,替换为 CDN URL
  3. 锚点链接自动转为脚注引用

3. 创建或更新草稿

python scripts/upsert_draft.py --input article.json
python scripts/upsert_draft.py --input article.json --update

草稿创建完成后向用户呈现:标题、摘要、主题、预览链接。

4. 等待人工确认

接受:确认发布 / 可以发布 / 批准发布

5. 提交发布

python scripts/submit_publish.py --draft-id <media_id> --confirmed

6. 查询发布状态

python scripts/query_publish_status.py --publish-id <publish_id>

7. 查询资产

python scripts/query_assets.py materials-count
python scripts/query_assets.py drafts-list [--no-content]
python scripts/query_assets.py published-list [--no-content]

8. 管理自定义主题

python scripts/manage_themes.py add --cn "清新蓝" --en "Fresh-Blue" --css-file /path/to/theme.css
python scripts/manage_themes.py list
python scripts/manage_themes.py delete --name "清新蓝"

Agent 交互规则:

  1. 用户指定了中英文名 → 直接使用
  2. 用户只给了中文名 → agent 生成英文 ID
  3. 用户什么名字都没指定 → agent 根据 CSS 风格取名,先问用户同意再保存
  4. CSS 必须以 #wemd 为根选择器

输入 JSON 样例

{
  "title": "2026 AI 工具盘点",
  "author": "Bingo",
  "digest": "深度盘点。",
  "content_markdown_path": "/root/articles/ai-tools.md",
  "thumb_image_path": "/root/articles/cover.jpg",
  "theme": "黑金奢华"
}

输出格式规范

- 动作:创建草稿
- 主题:黑金奢华
- media_id:TnhkZ9HGMxOYETms_33Ct...
- 预览:http://mp.weixin.qq.com/s?...
- 下一步:请点击预览确认内容,确认后说"确认发布"

脚本索引

脚本用途
setup.py首次使用时自动安装 Node.js 依赖
normalize_article.py正文归一化(WeMD 渲染 + 图片上传替换)
upload_material.py上传封面等永久素材
upsert_draft.py创建/更新草稿
submit_publish.py提交发布(需 --confirmed
query_publish_status.py查询发布进度与结果
query_assets.py只读查询:素材 / 草稿 / 已发布文章
manage_themes.py主题管理:添加 / 列出 / 删除
wechat_client.py底层接口封装

参考文档

  • references/api-mapping.md:接口映射、渲染引擎详情
  • references/safety-rules.md:确认门槛、凭据规范、能力边界

Version tags

cmsvk974dykmppscp7bdm5keew3zk982tk4wlatestvk974dykmppscp7bdm5keew3zk982tk4wmarkdownvk974dykmppscp7bdm5keew3zk982tk4wpublishervk974dykmppscp7bdm5keew3zk982tk4wwechatvk974dykmppscp7bdm5keew3zk982tk4wzh-cnvk974dykmppscp7bdm5keew3zk982tk4w