{"skill":{"slug":"wechat-html-publisher","displayName":"Wechat HTML Publisher","summary":"直接上传HTML富文本到微信公众号草稿箱。支持完整的HTML格式,无需Markdown转换。","description":"---\nname: wechat-html-publisher\ndescription: \"直接上传HTML富文本到微信公众号草稿箱。支持完整的HTML格式,无需Markdown转换。\"\nmetadata:\n  {\n    \"openclaw\":\n      {\n        \"emoji\": \"📄\",\n      },\n  }\n---\n\n# wechat-html-publisher\n\n**直接上传HTML富文本到微信公众号草稿箱**\n\n与 wechat-publisher 不同,本skill直接上传HTML格式,无需Markdown转换。适合已经有完整HTML排版的文章。\n\n## 功能\n\n- ✅ 直接上传HTML富文本\n- ✅ 自动上传HTML中的图片到微信图床\n- ✅ 支持本地和网络图片\n- ✅ 一键推送到草稿箱\n- ✅ 无需Markdown转换\n\n## 快速开始\n\n### 1. 配置API凭证\n\n确保环境变量已设置:\n```bash\nexport WECHAT_APP_ID= YOU_WECHAT_APP_ID\nexport WECHAT_APP_SECRET= YOU_WECHAT_APP_SECRET\n```\n\n**重要:** 确保你的IP已添加到微信公众号后台的白名单!\n\n### 2. 准备HTML文件\n\nHTML文件需要包含完整的样式(内联样式):\n\n```html\n<section>\n  <h1 style=\"color: #333; font-size: 24px;\">文章标题</h1>\n  <p style=\"line-height: 1.8;\">文章内容...</p>\n  <img src=\"./images/photo.jpg\" style=\"width: 100%;\">\n</section>\n```\n\n**注意:**\n- 必须使用内联样式(style属性)\n- 不支持`<style>`标签或外部CSS\n- 图片会自动上传到微信图床\n\n### 3. 发布文章\n\n**使用脚本:**\n```bash\npython scripts/publish_html.py \\\n  --file article.html \\\n  --title \"文章标题\" \\\n  --cover ./cover.jpg\n```\n\n**参数说明:**\n- `--file`: HTML文件路径(必填)\n- `--title`: 文章标题(必填)\n- `--cover`: 封面图路径(必填)\n- `--author`: 作者名称(可选)\n- `--digest`: 文章摘要(可选)\n- `--source-url`: 原文链接(可选)\n\n## 使用示例\n\n### 示例1: 基本用法\n```bash\npython scripts/publish_html.py \\\n  --file my-article.html \\\n  --title \"2026年税务新政解读\" \\\n  --cover ./cover.jpg\n```\n\n### 示例2: 完整参数\n```bash\npython scripts/publish_html.py \\\n  --file my-article.html \\\n  --title \"2026年税务新政解读\" \\\n  --cover ./cover.jpg \\\n  --author \"慧评税\" \\\n  --digest \"详细解读2026年最新税务政策\" \\\n  --source-url \"https://example.com/article\"\n```\n\n### 示例3: 网络封面图\n```bash\npython scripts/publish_html.py \\\n  --file my-article.html \\\n  --title \"文章标题\" \\\n  --cover \"https://example.com/cover.jpg\"\n```\n\n## HTML格式要求\n\n### 1. 必须使用内联样式\n```html\n<!-- ✅ 正确 -->\n<p style=\"color: #333; font-size: 16px;\">内容</p>\n\n<!-- ❌ 错误 -->\n<style>\n  p { color: #333; }\n</style>\n<p>内容</p>\n```\n\n### 2. 图片支持\n- ✅ 本地路径: `<img src=\"./images/photo.jpg\">`\n- ✅ 绝对路径: `<img src=\"/Users/user/photo.jpg\">`\n- ✅ 网络图片: `<img src=\"https://example.com/photo.jpg\">`\n\n所有图片会自动上传到微信图床并替换URL!\n\n### 3. 推荐的HTML结构\n```html\n<section>\n  <section style=\"text-align: center;\">\n    <h1 style=\"font-size: 24px; color: #333;\">标题</h1>\n  </section>\n  \n  <section style=\"margin: 20px 0;\">\n    <p style=\"line-height: 1.8; color: #666;\">正文内容...</p>\n  </section>\n  \n  <section>\n    <img src=\"./image.jpg\" style=\"width: 100%; display: block;\">\n  </section>\n</section>\n```\n\n## 工作流程\n\n1. **读取HTML** - 读取HTML文件内容\n2. **上传封面** - 上传封面图到微信图床\n3. **处理图片** - 解析HTML中的图片,上传并替换URL\n4. **调用API** - 调用微信draft/add接口\n5. **返回结果** - 返回草稿media_id\n\n## 与wechat-publisher的区别\n\n| 特性 | wechat-publisher | wechat-html-publisher |\n|------|------------------|----------------------|\n| 输入格式 | Markdown | HTML |\n| 样式转换 | 自动应用主题 | 使用原有样式 |\n| 适用场景 | 写作发布 | 已有HTML排版 |\n| 依赖 | wenyan-cli | 仅Python |\n\n## 故障排查\n\n### 1. IP不在白名单\n**错误:** `ip not in whitelist`\n\n**解决:**\n1. 获取公网IP: `curl ifconfig.me`\n2. 添加到微信公众号后台白名单\n\n### 2. 图片上传失败\n**错误:** `invalid image`\n\n**解决:**\n- 检查图片格式(支持jpg, png, gif)\n- 检查图片大小(不超过2MB)\n- 确保图片路径正确\n\n### 3. HTML格式错误\n**错误:** `invalid content`\n\n**解决:**\n- 确保使用内联样式\n- 移除`<style>`标签\n- 检查HTML是否闭合\n\n## 参考资料\n\n- 微信公众号API文档: https://developers.weixin.qq.com/doc/offiaccount/\n- 草稿箱接口: https://developers.weixin.qq.com/doc/offiaccount/Draft_Box/Add_draft.html\n- 素材管理接口: https://developers.weixin.qq.com/doc/offiaccount/Asset_Management/New_temporary_materials.html\n\n## 更新日志\n\n### 2026-03-09 - v1.0.0\n- ✅ 初始版本\n- ✅ 支持HTML直接上传\n- ✅ 自动图片上传\n- ✅ 命令行工具\n\n## License\n\nMIT License\n","topics":["WeChat","微信"],"tags":{"latest":"1.0.2"},"stats":{"comments":0,"downloads":766,"installsAllTime":29,"installsCurrent":1,"stars":1,"versions":2},"createdAt":1773049083689,"updatedAt":1778491788483},"latestVersion":{"version":"1.0.2","createdAt":1773279149634,"changelog":"- 补充并规范了文档中的API凭证配置示例，使用占位符替换真实ID和密钥。\n- 新增元数据文件 .clawhub/origin.json 和 _meta.json，用于增强技能元信息。","license":"MIT-0"},"metadata":{"setup":[],"os":null,"systems":null},"owner":{"handle":"zuo-wentao","userId":"s17595sqgf2tem9snzhqbc0jgn83q2h1","displayName":"XiaoZuoOvO","image":"https://avatars.githubusercontent.com/u/61969450?v=4"},"moderation":null}