{
  "markdown": "<div align=\"center\">\n\n<h1>\n  <img src=\"assets/favicon.ico\" alt=\"md2wechat logo\" width=\"28\" />\n  md2wechat\n</h1>\n\n<img src=\"assets/readme-header.gif\" alt=\"md2wechat：原稿中的标题、配图与正文依次编排成文章的 3D 动画\" width=\"720\" />\n\n**面向 AI Agent 的微信公众号创作与发布 CLI**\n\n写 Markdown，生成公众号排版，制作封面和文章配图，预览校验后推送草稿箱。\n\n支持 Claude Code、Codex、WorkBuddy、Kimi Work、Hermes Agent、OpenClaw 等 Agent 通过 JSON discovery 稳定调用。\n\n[![Go Version](https://img.shields.io/badge/Go-1.26.1+-00ADD8?logo=go)](https://golang.org)\n[![License](https://img.shields.io/badge/license-Source%20Available-orange)](LICENSE)\n[![GitHub Release](https://img.shields.io/badge/download-latest-green)](https://github.com/geekjourneyx/md2wechat-skill/releases)\n[![Agent Ready](https://img.shields.io/badge/Agent-Ready-00b0aa)](#agent-工作流)\n[![API](https://img.shields.io/badge/API-Professional-blue)](#专业-api)\n\n[快速开始](#快速开始) · [专业 API ¥199/永久](#专业-api) · [获取 API Key](https://www.md2wechat.cn/api-docs?utm_source=github&utm_medium=readme&utm_campaign=api) · [Agent 工作流](#agent-工作流) · [文档](#文档)\n\n</div>\n\n---\n\n## 这个项目解决什么问题\n\nmd2wechat 把公众号发布流程拆成一组可验证的 CLI 命令：\n\n| 场景 | md2wechat 提供 |\n|---|---|\n| Markdown 转微信 HTML | `convert`，支持预览、上传图片、创建草稿 |\n| 发布前检查 | `inspect --json` 输出标题、摘要、图片、cover、draft readiness |\n| 稳定排版 | API 模式成功时返回最终 HTML，覆盖 77 个主推高级排版场景条目和 56 个主推 `:::` 语法名 |\n| Agent 自动化 | `capabilities`、`doctor`、`themes`、`layout`、`providers` 等 discovery 命令 |\n| 内容生产 | `write`、`humanize`、`title suggest`、`generate_cover`、`generate_infographic` |\n| 多账号发布 | 命名公众号账号，本地只读发现，不输出 Secret |\n| 微信白名单 | 高级 API 服务可提供微信接口固定出口能力 |\n\n---\n\n## 快速开始\n\n```bash\nnpm install -g @geekjourneyx/md2wechat\nmd2wechat version --json\nmd2wechat config init --json\nmd2wechat config validate --json\n```\n\nAPI 模式预览和转换需要 md2wechat API Key。专业 API 统一版 ¥199/永久；可直接[查看价格与获取方式](https://www.md2wechat.cn/api-docs?utm_source=github&utm_medium=readme&utm_campaign=api)。完成凭证配置后，先检查文章，再把 HTML 明确写入本地文件：\n\n```bash\nmd2wechat inspect article.md --json\nmd2wechat preview article.md --output preview.html\nmd2wechat convert article.md --output article.html\n```\n\n以上命令不会上传图片或创建草稿。需要创建微信草稿时，先按同一目标检查，再显式执行副作用：\n\n```bash\nmd2wechat inspect article.md --draft --cover cover.jpg --json\nmd2wechat convert article.md --draft --cover cover.jpg\n```\n\n如果使用可选的 `--wechat-account`，必须在 `inspect` 和 `convert` 两条命令中传入同一个账号名。\n\n安装方式、微信凭证和 IP 白名单配置见：\n\n- [安装指南](docs/INSTALL.md)\n- [微信凭证与 IP 白名单指南](docs/WECHAT-CREDENTIALS.md)\n- [配置保姆级指南](docs/CONFIG-WALKTHROUGH.md)\n\n---\n\n## 专业 API\n\nAPI 模式适合需要稳定输出、多人协作、批量发布或 Agent 自动化的场景。\n\n**统一版 ¥199/永久，一次购买。** 包含稳定转换接口、定期更新和专属创作交流群。\n\n[查看价格与获取 API Key](https://www.md2wechat.cn/api-docs?utm_source=github&utm_medium=readme&utm_campaign=api)\n\n| 能力 | 免费 AI 模式 | 专业 API 模式 |\n|---|---|---|\n| 输出方式 | 生成 prompt，由外部 LLM 继续处理 | 直接返回微信 HTML |\n| 主题 | 3 个基础主题 | 48 个专业主题 |\n| 高级排版模块 | 不解析，`:::module` 作为普通段落输出 | API renderer 解析 56 个推荐 `:::module` 语法 |\n| 转换结果 | 需要外部 LLM 完成 HTML | converter 成功时返回最终 HTML |\n| 发布自动化 | 适合实验 | 适合团队、客户号、矩阵号 |\n\n专业能力包括：\n\n- 48 个微信渲染精调主题：[theme-gallery](https://md2wechat.app/theme-gallery)\n- 77 个主推高级排版场景条目，对应 56 个主推 `:::` 语法名：[docs/LAYOUT.md](docs/LAYOUT.md)\n- 3 个兼容模块只用于旧稿迁移；加上 4 个基础增强能力，共计 63 项渲染层语法能力\n- 多公众号账号：[docs/CONFIG.md](docs/CONFIG.md)\n- 微信接口固定出口：[docs/WECHAT-CREDENTIALS.md](docs/WECHAT-CREDENTIALS.md)\n- 发布前 readiness 检查：[docs/DISCOVERY.md](docs/DISCOVERY.md)\n\n获取 API Key：\n\n- 正式使用：[查看价格与获取方式](https://www.md2wechat.cn/api-docs?utm_source=github&utm_medium=readme&utm_campaign=api)\n- 微信咨询：关注公众号「极客杰尼」，备注「API咨询」\n\n<p align=\"center\">\n<img src=\"assets/wechat.png\" alt=\"公众号：极客杰尼\" width=\"160\" />\n</p>\n\n---\n\n## Agent 工作流\n\nmd2wechat 给 Agent 提供可机读接口，减少猜测和误操作。\n\n```bash\nmd2wechat capabilities --json\nmd2wechat doctor --json\nmd2wechat inspect article.md --json\nmd2wechat themes list --json\nmd2wechat layout list --json\nmd2wechat title suggest article.md --json\nmd2wechat title suggest article.md --json --hook-level 2\nmd2wechat skills list --json\nmd2wechat skills read md2wechat --json\n```\n\n按任务选择 discovery：用 `capabilities` 获取聚合路由事实，用资源的 `list` 做选择，用 `show` 查看单个资源的完整定义，仅在该资源支持时使用 `render`。JSON stdout 是单行紧凑对象并以换行结束；人类阅读时可在命令后加 `| jq`，不要要求 CLI 改成缩进输出。\n\n文章命令边界固定为：`inspect` 返回结构化 metadata、checks、readiness targets 和 blockers；`preview` 只把成功的 API converter 最终 HTML 原样写入文件；`convert` 执行转换，并且只在用户明确请求时执行 upload/draft 副作用。AI preview 返回 `PREVIEW_ACTION_REQUIRED` 且不创建输出文件，需要 readiness 时使用 `inspect --json`。\n\n这些命令适合 Claude Code、Codex、WorkBuddy、Kimi Work、Hermes Agent、OpenClaw 以及其他能调用本地 CLI 的 Agent 使用。\n\nAgent 可以据此判断：\n\n- 当前 CLI 支持哪些命令\n- API、草稿、上传是否具备执行条件\n- 某篇文章能不能发草稿\n- 当前主题和排版模块是否可用\n- 标题建议是否应交给宿主 Agent / 外部模型完成\n- 当前二进制内置的 Agent SOP 是什么\n\nBrand Profile 支持把长期风格偏好写入 `~/.config/md2wechat/brand.md`，由 Agent 在写作和排版时读取。详见 [docs/BRAND-PROFILE.md](docs/BRAND-PROFILE.md)。\n\n---\n\n## 图片生成\n\nmd2wechat 支持两条图片路径。\n\n先从当前二进制发现可用 preset，再调用图片 provider：\n\n```bash\nmd2wechat prompts list --kind image --archetype cover --json\nmd2wechat prompts list --kind image --archetype infographic --json\n\nmd2wechat generate_cover --article article.md\nmd2wechat generate_cover --article article.md --preset cover-semantic-concept\nmd2wechat generate_infographic --article article.md --preset infographic-claude-warm\n```\n\n完整 preset 清单、用途和默认画幅以 `prompts list/show --json` 为准，文档只保留代表性示例。\n\n支持 Volcengine、ModelScope、OpenRouter、OpenAI、Gemini、MiniMax、Atlas Cloud 等服务。配置见 [docs/IMAGE_PROVISIONERS.md](docs/IMAGE_PROVISIONERS.md)。\n\n需要在生成结果中保持同一人物形象时，可以用 MiniMax 的主体参考（图生图）：\n\n```bash\nmd2wechat generate_image \"保持同一人物形象的秋日封面\" \\\n  --subject-reference \"https://cdn.example.com/portrait.png\"\n```\n\n`--subject-reference` 只支持 `minimax` provider 的 `image-01` 模型，参考图必须是可公开访问的 `http(s)` 图片 URL。\n\n使用宿主 Agent 的 Image Gen：\n\n```bash\nmd2wechat generate_cover --article article.md --plan --json\nmd2wechat generate_infographic --article article.md --plan --json\n```\n\n计划模式返回 `IMAGE_PLAN_READY`，不请求图片 provider，不要求 `IMAGE_API_KEY`，也不会上传到微信。仅当当前宿主运行时实际暴露 Image Gen 工具时，Agent 才能继续执行图片生成。详见 [docs/AGENT_IMAGE_GEN.md](docs/AGENT_IMAGE_GEN.md)。\n\n---\n\n## 高级排版\n\nAPI 模式支持 `:::module` 语法，用 Markdown 写结构化公众号排版。\n\n```markdown\n:::hero\neyebrow: 深度观察\ntitle: AI 时代的公众号写作\nsubtitle: 为什么读者愿意继续读下去\n:::\n\n:::callout\ntype: info\nbody: 高级排版模块只在 API 模式渲染。\n:::\n```\n\n查看和验证模块：\n\n```bash\nmd2wechat layout list --json\nmd2wechat layout show hero --json\nmd2wechat layout validate --file article.md --json\n```\n\n本地 `layout validate` 只验证语法，不能证明远端 renderer 已部署；需要通过 API `preview` 或 `convert` 验证实际渲染。\n\n<p align=\"center\">\n<img src=\"assets/theme-showcase/theme-showcase-default.png\" alt=\"default 主题效果\" width=\"180\" />\n<img src=\"assets/theme-showcase/theme-showcase-bytedance.png\" alt=\"bytedance 主题效果\" width=\"180\" />\n<img src=\"assets/theme-showcase/theme-showcase-elegant-gold.png\" alt=\"elegant-gold 主题效果\" width=\"180\" />\n</p>\n\n完整教程见 [docs/LAYOUT.md](docs/LAYOUT.md)。\n\n这里的计数不是同一维度：77 是上游使用场景条目，一个语法名可以覆盖多个结构变体；56 是 `layout list --json` 默认返回的推荐语法名。兼容模块默认不混入推荐列表。完整计数契约见 [docs/LAYOUT.md](docs/LAYOUT.md)。\n\n---\n\n## 常用命令\n\n| 命令 | 用途 |\n|---|---|\n| `inspect` | 返回结构化 metadata、checks、readiness targets 和 blockers |\n| `advise` | 为已有文章推荐可选的最小增强动作 |\n| `preview` | 只写入成功 API 转换的最终 HTML；失败或 AI handoff 不新建或覆盖 |\n| `convert` | 转换 Markdown，并按显式请求执行 upload/draft 副作用 |\n| `write` | 从想法生成文章 |\n| `humanize` | 重写 AI 文章，支持 `authentic` 强度 |\n| `title suggest` | 生成公众号标题建议的 AI 请求 |\n| `generate_cover` | 生成封面图或图片计划 |\n| `generate_infographic` | 生成信息图或图片计划 |\n| `upload_image` | 上传图片到微信素材库 |\n| `create_image_post` | 创建微信图片消息（小绿书/newspic） |\n| `config wechat-accounts` | 查看本地多公众号账号配置 |\n| `doctor` | 本地配置体检 |\n\n---\n\n## 文档\n\n| 文档 | 内容 |\n|---|---|\n| [QUICKSTART](docs/QUICKSTART.md) | 新手主路径 |\n| [USAGE](docs/USAGE.md) | 命令完整说明 |\n| [DISCOVERY](docs/DISCOVERY.md) | Agent discovery 契约 |\n| [WORKBUDDY](docs/WORKBUDDY.md) | WorkBuddy 安装、检查、预览与草稿确认流程 |\n| [ADVISE](docs/ADVISE.md) | 已有文章的可选增强建议 |\n| [LAYOUT](docs/LAYOUT.md) | 高级排版模块教程与 discovery 用法 |\n| [HUMANIZE](docs/HUMANIZE.md) | AI 去痕与 authentic 写作 |\n| [AGENT_IMAGE_GEN](docs/AGENT_IMAGE_GEN.md) | 宿主 Agent Image Gen 工作流 |\n| [CONFIG](docs/CONFIG.md) | 配置字段和环境变量 |\n| [FAQ](docs/FAQ.md) | 常见问题 |\n| [TROUBLESHOOTING](docs/TROUBLESHOOTING.md) | 故障排查 |\n\n---\n\n## 许可与商业使用\n\n本项目采用 Source Available License。个人使用、学习、评估、非营利使用免费。商业使用、SaaS、客户交付、白标、再分发和训练数据用途需要商业授权。\n\n专业 API：[查看价格与获取 API Key](https://www.md2wechat.cn/api-docs?utm_source=github&utm_medium=readme&utm_campaign=api)。商业授权（SaaS、客户交付、白标、再分发和训练数据）请联系 `skrphper@gmail.com`。\n\n---\n\n<div align=\"center\">\n\n[文档](docs) · [Issues](https://github.com/geekjourneyx/md2wechat-skill/issues) · [Commercial licensing](mailto:skrphper@gmail.com)\n\nMade by [geekjourneyx](https://jieni.ai)\n\n</div>\n",
  "bytes": 8416,
  "sha": "c3afdd5841cdf66ca77390191d78a1e99c524823529c84a0984e29ab859db378",
  "repo_slug": "geekjourneyx/md2wechat-skill",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/skl_geekjourneyx_md2wechat_skill_md2wechat_415a05a8/readme"
}