weixin-mp
通过 Limb 体系操作微信公众号:发布文章、上传图片、管理草稿。 Use when: 需要发布内容到微信公众号、查看草稿、检查公众号连接状态。 Not for: 其他平台的发布、纯文本聊天、非公众号相关操作。 Output: 微信公众号操作结果(发布ID、草稿列表、图片URL等)。
- License 许可
- MIT
- 最近更新
- 2026-08-16
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- weixin-mp
- triggers
- [ "微信", "公众号", "发文", "weixin", "wechat", "publish article" ]
- description
- 通过 Limb 体系操作微信公众号:发布文章、上传图片、管理草稿。 Use when: 需要发布内容到微信公众号、查看草稿、检查公众号连接状态。 Not for: 其他平台的发布、纯文本聊天、非公众号相关操作。 Output: 微信公众号操作结果(发布ID、草稿列表、图片URL等)。
03 SKILL.md 正文
微信公众号发文
通过 Limb 体系三步调用操作微信公众号:
limb_list_available— 发现在线节点limb_list_tools— 查询工具 schemalimb_invoke_tool— 调用具体工具
使用前检查
先调用 limb_list_available({ capability: "content_publish" }) 确认 weixin-mp 节点在线。
如果节点不在线或不存在,提示用户在 设置 → 插件集成 中启用并配置微信公众号插件。
接口发现
limb_list_available() 返回当前在线节点的 capability、command 和 authLevel;这是可调用命令白名单。
调用 limb_list_tools({ nodeId: "weixin-mp" }) 获取每个工具的参数 schema。
详细参数以本 skill 的"核心能力"说明为准。当前列表中没有的命令不要猜测调用;如果缺少预期命令,提示用户重新启用或同步微信公众号插件。
核心能力
-
检查连接 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.check_status" })确认公众号是否配置并可连接。 -
Markdown 转 HTML —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.convert_markdown", params: { markdown } })将 Markdown 转为微信兼容内联样式 HTML,写入系统临时目录并返回{ filePath }。发文前必须调用。支持markdownFilePath替代markdown读取本地文件(必须在系统临时目录下,上限 2 MB)。 -
上传正文图片 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.upload_image", params: { fileLocation } })上传图片到微信 CDN,返回可在文章正文中使用的{ url }。fileLocation支持 HTTP/HTTPS URL 或 OS 临时目录下的本地路径(如/tmp/photo.png)。本地文件必须在系统临时目录下,其他路径会被拒绝。格式:jpg/png/gif/bmp,上限 10 MB。 -
上传封面素材 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.upload_material", params: { fileLocation } })上传永久图片素材,返回{ mediaId, url }。用作封面图的thumbMediaId。同upload_image,本地路径限系统临时目录,上限 10 MB。 -
创建草稿 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.create_draft", params: { title, content, thumbMediaId, author?, digest? } })创建草稿箱文章。content须是微信 HTML(先调convert_markdown),thumbMediaId是封面 media_id(先调upload_material)。支持contentFilePath替代content传入大段内容(必须在系统临时目录下,上限 2 MB)。 -
更新草稿 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.update_draft", params: { mediaId, title?, content?, thumbMediaId?, author?, digest? } })更新草稿箱文章,仅传需要修改的字段。支持contentFilePath替代content(同上,限系统临时目录)。 -
删除草稿 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.delete_draft", params: { mediaId } })删除草稿箱中的指定草稿。 -
发布草稿 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.submit_publish", params: { mediaId } })将草稿发布。mediaId是create_draft返回的media_id。 -
查看草稿 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.list_drafts", params: { offset?, count? } })列出草稿箱中的文章及其 media_id。 -
发布状态 —
limb_invoke_tool({ nodeId: "weixin-mp", command: "weixin_mp.publish_status", params: { publishId } })查询发布任务的处理状态和文章链接。 -
素材管理 —
list_material、get_material_count、delete_material管理永久素材。 -
已发布文章 —
list_articles、delete_article管理已发布文章。
发文流程(编排示例)
发布一篇 Markdown 文章的标准步骤:
convert_markdown— Markdown → 微信 HTML(返回 filePath)- 正文中的外部图片 → 逐个
upload_image→ 替换为微信 CDN URL upload_material— 上传封面图 → 得到thumbMediaIdcreate_draft— 创建草稿(传入 contentFilePath + thumbMediaId)- 可选:
submit_publish— 发布草稿
常见错误
- 忘记先调
convert_markdown就直接传 Markdown 给create_draft - 文章正文中使用外部图片链接(必须先
upload_image到微信 CDN) - 混淆草稿 media_id 和发布 publishId
- 使用旧工具名
limb_invoke(已更名为limb_invoke_tool,需配合limb_list_tools查 schema)
限制
- 微信 HTML 不支持外部 CSS/JS,所有样式内联处理
- access_token 2h 过期,系统自动刷新,无需手动管理
- 本地文件限制:所有本地文件路径(
fileLocation、markdownFilePath、contentFilePath)必须在 OS 系统临时目录下(如/tmp/)。文本文件上限 2 MB,图片文件上限 10 MB。需要上传工作区文件时,先复制到临时目录再传入路径
04 同仓库更多 Skills
plugin-reconcile-skill
暂无简介
writing-skills
创建或修改 Clowder AI skill / MCP tool description 的元技能(含质量标准、范本、发布)。 Use when: 写新 skill、修改现有 skill、写/改 MCP tool description、验证 skill 质量; 或者功能实现中产出了 SKILL.md / cat-cafe-skills/ 新目录 / manifest.yaml skill 条目。 Not for: 使用 skill(直接触发对应 skill)。 Output: 新/更新的 SKILL.md + manifest 条目 + symlinks。 GOTCHA: 软硬同重——skill/MCP 质量 = 代码质量;不要写模型已知的通用教程,先过价值门禁。
writing-plans
将 spec/需求拆分为可执行的分步实施计划。 Use when: 有 spec 或需求,准备动手前需要拆分步骤。 Not for: trivial 改动(≤5 行)、已有详细计划。 Output: 分步实施计划(含 TDD 步骤和检查点)。
worktree
为代码、脚本、API 与第一方执行面创建隔离 Git worktree,并配置 Redis 6398;classifier 放行的 co-creation docs direct push 不进入本流程。
workspace-navigator
猫猫把“打开文档、代码或日志”等模糊意图解析成本地绝对路径或 worktree 相对路径,并返回 applied、queued、blocked 或 unconfirmed 的真实 Workspace 投递状态。
vision-rescue
绝境反转方法论:当任务似乎没有希望、反复摆动、准备放弃愿景时的五步突破框架。 Use when: 任务看起来无解、多次尝试失败后想放弃、输出投降修辞("现状最优"/"没救了"/"接受现实")、连续 3+ 轮在希望与绝望间摆动。 Not for: 未出现绝境信号的常规 debugging(用 debugging)、常规探索/调研(用 deep-research)、operator 已签字降级的目标、trivial 任务。 Output: Desperation Packet(六问证据评估)+ 新方向行动计划 / operator 升级请求。