mp-draft-push

将现成的文章内容发布到微信公众号草稿箱。当用户说"发布文章"、"发布到草稿箱"、"publish to draft"、"推送到公众号"时触发。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mp-draft-push" with this command: npx skills add mp-draft-push

mp-draft-push

功能说明

接收调用方提供的文章内容,上传封面图(可选),并将文章发布到微信公众号草稿箱。

不负责:内容采集、AI 写作、图片生成。


所需参数

调用方(用户或其他 Skill)需要提供:

参数类型必填说明
titlestring文章标题(不超过 64 字节,约 21 个中文字符)
digeststring文章摘要(显示在分享卡片上)
content_htmlstring文章正文 HTML(使用内联样式)
cover_image_pathstring封面图本地路径(如不提供则用兜底 URL 或无封面)

执行流程

1. 接收参数
       ↓
2. 获取 access_token
       ↓
3. 上传封面图到微信素材库(获取 thumb_media_id)
       ↓
4. 创建草稿(发布到草稿箱)
       ↓
5. 提示用户前往后台检查

配置信息

  • AppID: WECHAT_APPID(通过环境变量配置)
  • AppSecret: WECHAT_SECRET(通过环境变量配置)
  • 作者: WECHAT_AUTHOR(可选,默认 W

配置方法见 README.md


Step 1: 接收参数

不要主动提问,等待调用方传入上述参数。

若调用方没有提供 cover_image_path,检查环境变量 DEFAULT_COVER_URL

  • 有值:先下载到本地临时文件 /tmp/wechat_cover_default.png,再上传
  • 无值:thumb_media_id 留空(草稿不含封面)

Step 2 & 3: 上传封面图并创建草稿

加载脚本:

source ./scripts.sh

获取 access_token

TOKEN=$(get_wechat_token)

上传封面图(如有)

MEDIA_RESPONSE=$(upload_wechat_image "$TOKEN" "$cover_image_path")
THUMB_MEDIA_ID=$(echo "$MEDIA_RESPONSE" | jq -r '.media_id')

构建草稿 JSON 并创建草稿

content_html 注意事项:

  • 所有样式必须内联(style="..."),微信会过滤 <style> 标签
  • 图片只能使用 mmbiz.qpic.cn 域名(如有文章内图片,需提前上传到微信)
  • JSON 序列化必须使用 ensure_ascii=False,否则中文乱码
DRAFT_JSON="/tmp/draft_$(date +%Y%m%d%H%M%S).json"
jq -n \
    --arg title "$title" \
    --arg author "${WECHAT_AUTHOR:-koo AI}" \
    --arg digest "$digest" \
    --arg content "$content_html" \
    --arg thumb_media_id "$THUMB_MEDIA_ID" \
    '{
        articles: [{
            title: $title,
            author: $author,
            digest: $digest,
            content: $content,
            thumb_media_id: $thumb_media_id,
            need_open_comment: 1,
            only_fans_can_comment: 0
        }]
    }' > "$DRAFT_JSON"

DRAFT_RESPONSE=$(create_draft "$TOKEN" "$DRAFT_JSON")
DRAFT_MEDIA_ID=$(echo "$DRAFT_RESPONSE" | jq -r '.media_id')
rm -f "$DRAFT_JSON"

DRAFT_MEDIA_ID 为空或 null,说明创建失败,打印 DRAFT_RESPONSE 排查。


Step 4: 提示用户检查

发布完成后输出:

✅ 草稿发布成功!

📝 文章信息
- 标题:{title}
- 摘要:{digest}
- 草稿 ID:{DRAFT_MEDIA_ID}

📌 请前往微信公众号后台检查并发布:
   https://mp.weixin.qq.com

⚠️ 检查要点:
1. 图片是否正常显示
2. 排版是否正确
3. 标题和摘要是否合适
4. 确认无误后点击"发布"

HTML 内联样式参考

<section style="font-family: -apple-system, sans-serif; line-height: 1.8; color: #333; padding: 15px;">
  <p style="margin-bottom: 20px;">段落内容</p>

  <h2 style="border-bottom: 1px solid #eee; padding-bottom: 8px;">标题</h2>

  <p style="text-align: center; margin: 25px 0;">
    <img src="{mmbiz_img_url}" style="max-width: 100%; border-radius: 6px;">
  </p>

  <blockquote style="background: #f6f8fa; border-left: 4px solid #ddd; padding: 12px 16px;">
    引用内容
  </blockquote>
</section>

注意事项

  1. 中文编码:JSON 必须用 ensure_ascii=Falsejq 默认已处理
  2. 标题长度:最多 64 字节(约 21 个中文字符)
  3. access_token:有效期 2 小时,每次需重新获取
  4. 图片域名:文章内图片只能使用微信返回的 mmbiz.qpic.cn URL

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

qwencloud-model-selector

[QwenCloud] Recommend the best Qwen model and parameters. TRIGGER when: choosing between Qwen models, comparing Qwen model pricing, understanding Qwen model...

Registry SourceRecently Updated
General

deployment-manager

You are a deployment manager with expertise in release orchestration, deployment strategies, and production reliability. Use when: release orchestration and...

Registry SourceRecently Updated
General

Hk Stock Morning Report

Generate HK stock market morning report (股市晨報) for bank trading desks. Triggers: "生成晨报", "股市晨报", "今日股市", "港股晨報" 報告結構(5部分): 1. 市場回顧(恒指/科指/國指 + 強弱勢股) 2. 南下資金(總...

Registry SourceRecently Updated
General

Story Long Scan

长篇网文扫榜。分析起点、番茄、晋江等平台排行榜数据,提炼市场趋势与热门题材。 触发方式:/story-long-scan、/长篇扫榜、「长篇什么火」「起点排行」

Registry SourceRecently Updated