ワンクリックで
baoyu-multi-platform-posting
多平台内容发布完整工作流:博客+微博+公众号+X。从文章内容到全平台分发的标准化流程。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
多平台内容发布完整工作流:博客+微博+公众号+X。从文章内容到全平台分发的标准化流程。
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Direct browser control via CDP. Use when the user wants to automate, scrape, test, or interact with web pages. Connects to the user's already-running Chrome.
Convert any input into a modern editorial black-and-white line-art character illustration system and produce PNG image-generation outputs by default. Use when the user asks to turn text, images, brand names, product ideas, UI concepts, or campaigns into minimalist geometric character illustrations, editorial layouts, website hero visuals, mobile UI mockups, packaging, magazine spreads, or PNG visuals in the specified monochrome line-art plus pastel accent style.
Debug red border/rectangle overlays appearing on Chinese text in HyperFrames HTML on macOS Chrome — caused by images with baked-in borders, not CSS.
Extract frames from a reference video at precise timestamps to analyze opening animation timing and visual style before building a HyperFrames composition.
Typeset professional documents: resumes, one-pagers, white papers, letters, portfolios, slide decks. Warm parchment, ink-blue accent, serif-led hierarchy. CN uses TsangerJinKai02, EN uses Charter, JA uses YuMincho (best-effort). Triggers on "做 PDF / 排版 / 一页纸 / 白皮书 / 作品集 / 简历 / PPT / slides", or "build me a resume / make a one-pager / design a slide deck / turn this into a PDF / make this presentable".
Generate professional SVG logos and high-end showcase images. Use when the user wants to: (1) Create a logo or icon for their product/brand, (2) Generate logo design concepts based on product information, (3) Create professional logo showcase presentations with multiple background styles, (4) Export logos in various formats (SVG, PNG), or (5) Iterate on logo designs with different visual styles. Supports geometric patterns, dot matrix designs, line systems, and mixed compositions. Generates showcase images using Nano Banana (Gemini image generation) with 12 professional background styles.
| name | baoyu-multi-platform-posting |
| description | 多平台内容发布完整工作流:博客+微博+公众号+X。从文章内容到全平台分发的标准化流程。 |
| trigger | 用户说"发到X个平台"、发布文章到多个社交媒体平台、或需要把一篇内容同步到多个渠道。 |
多平台内容发布完整工作流。从文章内容到博客+微博+公众号+X的全流程。
用户提供文章内容
↓
内容拆解适配各平台
↓
封面图生成(MiniMax)
↓
博客发布(API)
↓
X线程发布(opencli)
↓
微博文章(opencli browser)
↓
微信公众号(wechat-article.ts)
根据文章内容,生成各平台版本:
import urllib.request, json
payload = json.dumps({
"model": "image-01", # 注意:不是 imagen-01
"prompt": "描述词",
"image_size": "1280x720",
"return_url": True
}).encode()
req = urllib.request.Request(
"https://api.minimaxi.com/v1/image_generation",
data=payload,
headers={"Authorization": f"Bearer {api_key}", "Content-Type": "application/json"},
method="POST"
)
with urllib.request.urlopen(req, timeout=60) as resp:
result = json.loads(resp.read())
# 响应字段是 image_urls(数组),不是 image_url
img_url = result["data"]["image_urls"][0]
# URL 里的 %2F 要替换才能下载
img_url = img_url.replace("%2F", "/").replace("%25", "%")
必须通过 API POST,封面图在 payload 阶段就写入,不走编辑器。
source ~/.baoyu-skills/baoyu-imagine/.env
curl -X POST "https://api.minimaxi.com/v1/image_generation" \
-H "Authorization: Bearer $MINIMAX_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"image-01","prompt":"纽约客风格prompt","image_size":"1280x720","return_url":true}' \
--max-time 90 --output /tmp/cover_resp.json
# 提取URL
python3 -c "import json; d=json.load(open('/tmp/cover_resp.json')); print(d['data']['image_urls'][0])"
curl -sL "图片URL" -o /tmp/cover.jpg
curl -X POST "https://blog.filldmy.com/api/uploads" \
-H "Authorization: Bearer qm_8uXMYOrTzQxFF6I0QAUV_YXKrzchqyBT" \
-F "file=@/tmp/cover.jpg;type=image/jpeg"
# 返回: {"url":"/api/images/image/2026/04/xxx.jpg",...}
封面图markdown必须写入content开头:
{
"title": "标题",
"slug": "url-slug",
"content": "\n\n正文...",
"description": "描述",
"tags": ["标签"],
"status": "published"
}
curl -X POST "https://blog.filldmy.com/api/posts" \
-H "Authorization: Bearer qm_8uXMYOrTzQxFF6I0QAUV_YXKrzchqyBT" \
-H "Content-Type: application/json; charset=utf-8" \
-d @/tmp/post.json
注意:
cover_image API字段无效,必须用 markdown 插入 content 开头BAOYU_CHROME_PROFILE_DIR=~/Library/Application\ Support/baoyu-skills/chrome-profile \
opencli twitter post "推文内容" # 每次一条,逐条发
cd ~/.hermes/skills/baoyu-skills/skills/baoyu-post-to-weibo
SKILL_DIR=~/.hermes/skills/baoyu-skills/skills/baoyu-post-to-weibo
BAOYU_CHROME_PROFILE_DIR=~/Library/Application\ Support/baoyu-skills/chrome-profile \
bun "$SKILL_DIR/scripts/weibo-article.ts" /path/to/article.md
BAOYU_CHROME_PROFILE_DIR=~/Library/Application\ Support/baoyu-skills/chrome-profile \
opencli browser open "https://card.weibo.com/article/v3/editor"
# 内容填好后用户手动点发布
封面图在编辑器右侧栏手动上传。
云端服务器(当前环境)无法调用微信API,原因:微信对云服务器IP主动拦截(getStableAccessToken返回404,access_token立刻失效),即使IP加白名单也不行。
正确方式:用浏览器opencli + 手动发布
# 打开公众号编辑器
BAOYU_CHROME_PROFILE_DIR=~/Library/Application\\ Support/baoyu-skills/chrome-profile \
opencli browser open "https://mp.weixin.qq.com"
# 扫码登录后:
# 内容与互动 → 图文消息 → 新的创作 → 图文消息
# 手动粘贴HTML内容 + 上传封面图 → 保存草稿
wechat-article.ts 脚本在云端环境不可用(40001错误),仅当agent跑在用户本地机器时才可能成功。
| 平台 | 状态 | 备注 |
|---|---|---|
| 博客 | ✅ | blog.filldmy.com API |
| X/Twitter | ✅ | opencli twitter post |
| 微博 | ⚠️ | opencli browser + 手动发布 |
| 微信公众号 | ⚠️ | 云端环境API不通,浏览器手动发布 |
| 知乎 | ❌ | 无发文命令,需浏览器自动化 |
| Notion | ⏳ | API可连,但页面需手动分享 |
Q: wechat-article.ts 报 Module not found? A: 确认在 skill 目录下运行:
cd ~/.hermes/skills/baoyu-skills/skills/baoyu-post-to-wechat
Q: 微博文章脚本超时? A: 改用 opencli browser 方式,内容填好后用户手动点发布。脚本 launch Chrome 会超时。
封面图的正确实现方式:
cover_image API字段无效,必须用 markdown  插入 content 开头innerHTML 插入 markdown 图片语法——图片会显示为原始文本正确流程:
生成封面图 → 上传获取URL → API POST含封面图markdown的文章 → 完成
错误流程(已验证失败):
API POST 文章 → 编辑器手动添加封面图 → JS innerHTML插入markdown → 封面不生效
~/.baoyu-skills/baoyu-imagine/.env 加载 MINIMAX_API_KEYos.environ 取不到(execute_code 环境和 shell 环境不同)terminal + source .env 方式最可靠关键经验:博客API调用时content必须是完整HTML字符串,不能传文件路径或占位符。
# 正确:content是完整HTML字符串
python3 -c "
import json
with open('/tmp/article.html') as f:
html = f.read()
data = json.dumps({'title': '...', 'content': html, 'author': '萱宜', 'tags': [...]}).encode('utf-8')
req = urllib.request.Request('https://blog.filldmy.com/api/posts', data=data, headers={'Authorization': 'Bearer TOKEN', 'Content-Type': 'application/json; charset=utf-8'}, method='POST')
with urllib.request.urlopen(req) as r:
print(r.read())
"
# 错误示例:content里传了占位符字符串
# content: "(见本地文件,已生成)" ← 文章内容会显示为占位符!
常见问题:Cloudflare ASNNN 屏蔽PUT请求
blog.filldmy.com 被 Cloudflare ASNNN 保护,PUT 请求返回 1010 ASN 屏蔽。更新文章的正确方式:DELETE 旧文章 → POST 新文章(不是PUT)。slug会变,内容完整比URL不变更重要。
Q: MiniMax 图像生成失败 login fail?
A: API Key 不在环境变量中,需 source ~/.baoyu-skills/baoyu-imagine/.env 后再调用。
Q: 微博登录状态丢失? A: 确保 BAOYU_CHROME_PROFILE_DIR 指向正确的 Chrome profile 目录。
Q: 博客 PUT 更新文章报404/1010? A: 博客 API 不支持 PUT 更新文章(Cloudflare ASNNN屏蔽PUT)。正确做法:删掉旧文章,重新POST一篇新的。slug会变,但内容完整更重要。
Q: WeChat API 40001 凭证错误? A: 微信API报40001,原因排查顺序:
若均无效:浏览器打开 https://mp.weixin.qq.com 扫码登录 → 内容与互动 → 图文消息 → 手动粘贴 → 保存草稿。