我用 AI Agent 搭了一套多平台自动分发系统,踩了这些坑

我用 AI Agent 搭了一套多平台自动分发系统,踩了这些坑

前言

做自媒体最痛苦的事情不是写内容,而是写完之后要在 5 个平台上重复发一遍。

小红书要 emoji 和话题标签,微信公众号要 HTML 内联样式,知乎不能用 Markdown 符号,微博限制 300 字,B站专栏又是另一套编辑器。同一篇内容,改编 5 次,发布 5 次,调格式 5 次。

作为一个程序员,我决定让 AI Agent 帮我干这件事。

花了两周时间,我搭了一套基于 OpenClaw 的多平台自动分发系统。现在我只需要说一句"帮我发布到全平台",Agent 就会自动改编内容、生成配图、逐平台发布。

这篇文章记录整个架构设计和踩过的坑。

整体架构

css 复制代码
用户指令 → AI Agent(OpenClaw)
                ├→ 内容改编(按平台规范调整风格/字数/格式)
                ├→ 配图生成(SiliconFlow FLUX.1 API)
                └→ 逐平台发布
                     ├→ 小红书(MCP HTTP API)
                     ├→ 微信公众号(官方 API + HTML 模板)
                     ├→ 微博(Puppeteer + Stealth)
                     ├→ 知乎(Chrome AppleScript 注入)
                     ├→ B站专栏(Chrome AppleScript 注入)
                     ├→ CSDN(浏览器自动化)
                     └→ 掘金(REST API + Cookie)

核心思路:API 能走 API,API 不行走浏览器自动化,浏览器自动化不行走 AppleScript 注入

优先级:API > Puppeteer Headless > Chrome AppleScript。越往后维护成本越高。

各平台技术方案详解

小红书:MCP 协议 + HTTP API

小红书没有官方开放 API,但社区有一个 xiaohongshu-mcp 项目,基于 MCP(Model Context Protocol)协议实现了图文发布能力。

python 复制代码
import requests
payload = {
    'title': '标题不超过20字',
    'content': '正文内容...',
    'images': ['/path/to/img1.jpg', '/path/to/img2.jpg']
}
resp = requests.post('http://localhost:18060/api/v1/publish', json=payload, timeout=180)

踩坑点:

  • 标题限制 20 字,不是你以为的 50 字
  • 图片必须压缩到 500KB 以内,1MB+ 的 PNG 上传会超时(MCP 有 60 秒超时限制)
  • API 返回"发布成功"不一定真的成功,必须查 MCP 日志确认

图片压缩方案:

python 复制代码
from PIL import Image
img = Image.open('big.png').convert('RGB')
img.save('small.jpg', 'JPEG', quality=80, optimize=True)  # 1.4MB → 194KB

微信公众号:官方 API + HTML 样式地狱

微信公众号有官方 API,可以创建草稿,但最终群发需要手动操作(API 没有群发权限)。

最大的坑是 HTML 必须带内联样式

❌ 错误写法:

html 复制代码
<p>这是一段文字</p>

✅ 正确写法:

html 复制代码
<p style="line-height:1.8;font-size:16px;text-align:justify;margin:10px 0">这是一段文字</p>

裸 HTML 标签在公众号渲染出来格式极其难看。每个 <p><h2><blockquote> 都必须加完整的 inline style。

最终我封装了一套样式模板函数:

python 复制代码
def p(text): return f'<p style="line-height:1.8;font-size:16px;...">{text}</p>'
def h2(text): return f'<h2 style="color:#009688;border-left:3px solid...">{text}</h2>'
def bq(text): return f'<blockquote style="border-left:3px solid #009688;...">{text}</blockquote>'

微博:Puppeteer + Stealth Plugin

微博没有个人发博的 API(只有企业号有),所以用 Puppeteer 无头浏览器模拟操作。

关键技术点:

  • 必须用 puppeteer-extra-plugin-stealth 绕过反爬检测
  • 发送按钮要用 page.evaluate() 触发点击,而不是 .click()------因为微博的按钮有层叠遮挡
  • 上传图片后要等待 loading spinner 消失再点发送
  • 验证发布成功的方法:检查输入框是否被清空

知乎 & B站:Chrome AppleScript 注入

这两个平台反爬严格,Headless 浏览器很容易被识别。最终方案是复用已登录的 Chrome 浏览器,通过 macOS AppleScript 注入 JavaScript 操作页面。

前提:Chrome 需要开启 允许 Apple 事件中的 JavaScript

知乎的坑:

  • 正文编辑器是 Draft.js,不能直接 innerText,要用剪贴板粘贴(pbcopy + Cmd+V
  • 绝对不能用 Markdown 符号##**--- 会原样显示在文章里
  • Unicode 装饰符号(▎━━━❶❷❸)也不要用

B站的坑:

  • 编辑器藏在第二层 iframe 里(york/read-editor
  • 标题是 textarea,正文是 contenteditable div,输入方式完全不同

内容改编策略

同一个主题,不同平台的内容不能直接复制。我给 Agent 定义了各平台的改编规则:

平台 字数 风格
小红书 350-500 emoji 多、话题标签、互动引导
微信公众号 800-1500 深度分析、小标题分段
微博 140-300 精炼观点、一句话抓眼球
B站/知乎 1500-3000 长文深度、配图丰富
CSDN/掘金 1500-3000 技术实战、代码示例

Agent 会根据平台规范自动调整语气、字数和格式,而不是简单截断。

配图方案:SiliconFlow API

所有配图通过 SiliconFlow 的 FLUX.1 模型生成,英文 prompt,每张图不同风格。

bash 复制代码
curl -X POST "https://api.siliconflow.cn/v1/images/generations" \
  -H "Authorization: Bearer $SILICONFLOW_API_KEY" \
  -d '{"model":"black-forest-labs/FLUX.1-schnell","prompt":"..."}'

成本极低,生成速度快,质量够用。

发布顺序和防风控

发布顺序有讲究:先 API 类,后浏览器自动化类

  1. 小红书(API)→ 2. 微信公众号(API)→ 3. 微博(Puppeteer)→ 4. B站(AppleScript)→ 5. 知乎(AppleScript)→ 6. CSDN → 7. 掘金

原因:API 调用稳定快速,浏览器自动化可能需要处理验证码、等待加载,放后面不影响前面的发布。

每个平台之间间隔 2 分钟以上,避免被风控。

效果和数据

搭建完成后:

  • 原来发 5 个平台需要 1-2 小时 → 现在 10 分钟全部搞定
  • 内容质量没下降(每个平台都是独立改编的)
  • 偶尔需要人工介入:微信公众号草稿需要手动发布、平台验证码需要人工处理

总结

这套系统的核心不是某个具体技术,而是分层的自动化策略

  • 有 API 用 API(最稳定)
  • 没 API 用无头浏览器(次稳定)
  • 反爬严格就复用真实浏览器会话(兜底方案)

每增加一个平台,先评估它属于哪一层,再选择对应的技术方案。

代码和配置都跑在本地 macOS 上,通过 OpenClaw Agent 统一调度。如果你也想搭一套类似的系统,建议从 API 类平台开始,逐步扩展到浏览器自动化。


如果这篇文章对你有帮助,欢迎点赞收藏。后续我会继续分享 AI Agent 在实际工作中的应用实践。

相关推荐
光影少年9 小时前
AI Agent智能体开发
人工智能·aigc·ai编程
小程故事多_8016 小时前
Anthropic 内部架构曝光,Claude Code 如何用 Harness 驾驭强智能
人工智能·架构·aigc·harness
小程故事多_8017 小时前
从Harness工程视角深度解读Claude Code源码,AI编码Agent的工业级实现逻辑
人工智能·aigc
小程故事多_8019 小时前
无 GitAI 依赖|企业 AI 编码合规管控 + 全生命周期追溯,实现效率与安全双向破局
人工智能·安全·架构·aigc·ai编程·harness
网络安全学习库20 小时前
很喜欢Vue,但还是选择了React: AI时代的新考量
vue.js·人工智能·react.js·小程序·aigc·产品经理·ai编程
一山秋叶1 天前
wan2.2-i2v-a14b 模型架构
python·aigc·sglang
GISer_Jing1 天前
Agent多代理架构:子代理核心机制解密
开发语言·人工智能·架构·aigc
一山秋叶1 天前
EDM 框架下的扩散模型们
人工智能·aigc·stablediffusion
imbackneverdie1 天前
怎么将AI生成的图片转成可编辑的矢量图?
图像处理·人工智能·aigc·科研绘图·ai工具·gemini·ai生图
AI精钢2 天前
谷歌时隔一年发布“更加开源“的 Gemma 4,意图何为?
人工智能·云原生·开源·aigc