我用 MCP + 多 Agent 搭了一条自动化内容发布流水线

一句话总结:把「写好的 Markdown」变成「已发布的文章」,中间那些登录、排版、选标签、点发布的琐碎动作,现在交给一组会分工的 AI Agent 去干。

一、为什么要做这条流水线

我同时维护掘金、知乎几个阵地。一篇稿子写完,真正的消耗才刚开始:

  • 复制粘贴到各平台编辑器,格式经常乱掉;
  • 代码块要重新贴一遍,缩进全丢;
  • 每个平台的话题 / 标签规则不一样;
  • 发布前还得反复核对分类、封面、摘要。

这些活儿重复、机械、还容易出错,典型该被自动化。

二、整体架构:主助手 + 专职子助手

整条链路是「一个大脑 + 若干只手」:

css 复制代码
用户指令
   │
   ▼
主助手(编排 / 决策)
   ├── 子助手 A:浏览器自动化(登录、填表、点发布)
   ├── 子助手 B:内容处理(Markdown 转换、摘要生成)
   └── 子助手 C:数据回收(阅读量、展现量抓取)

主助手负责理解意图、拆解步骤,把子任务 dispatch 给对应的子助手;子助手只专注自己那一小块能力。

一个硬限制值得记一笔:平台对子助手的嵌套分派最多 2 层(主 → 子 A → 子 B 可以,子 B 再往下派就会被拦)。所以编排层要尽量扁平,别指望无限套娃。

三、工具层:让 Agent 真的能「动手」

Agent 光会聊天没用,得有手。通过 MCP(Model Context Protocol)把工具挂上去之后,它才能:

能力 对应工具 用途
浏览器控制 点击 / 输入 / 执行 JS 登录、填表、发布
文件读写 read / write 存草稿、存配置
命令执行 exec 调脚本、转格式

关键在于:把「能力」抽象成工具,把「流程」留给 Agent 自己规划。这样换一个平台,只要加一个工具,不用改整套逻辑。

四、实战:不同编辑器,「注入姿势」完全不同

这是踩坑最多的地方。同样叫「编辑器」,底层实现天差地别,用错方法就是白干。

4.1 知乎:Draft.js 只认 paste 事件

知乎正文是 Draft.js。直接改 DOM 或 execCommand 会和它内部状态打架,表现为文字串位、莫名删除。

唯一可靠的做法是伪造一个粘贴事件,让 Draft.js 走它自己的解析流程:

js 复制代码
const dt = new DataTransfer();
dt.setData('text/html', html);   // 保留标题、列表、链接
dt.setData('text/plain', plain); // 兜底纯文本

editor.dispatchEvent(new ClipboardEvent('paste', {
  clipboardData: dt,
  bubbles: true,
  cancelable: true
}));

小坑:粘贴后第 0 个块会丢文字,需要事后把光标移回去补一次。

4.2 掘金:ByteMD + CodeMirror,直接 setValue

掘金切到 Markdown 模式后是 ByteMD,内核是 CodeMirror 5。这种情况就简单了------拿到实例直接写:

js 复制代码
const inst = document.querySelector('.CodeMirror').CodeMirror;
inst.setValue(markdownText);

一句话搞定,比模拟粘贴稳得多。

4.3 规律总结

编辑器内核 推荐注入方式
Draft.js 伪造 ClipboardEvent('paste')
CodeMirror / Monaco 拿实例调 setValue
原生 textarea 直接赋值 + 触发 input 事件
contenteditable 谨慎,优先走粘贴事件

五、几个真实的坑

  1. 键盘输入 ≠ 可控:某些编辑器上「全选 + 输入」会清空全文,务必先确认光标位置。
  2. CDP 的 Input.insertText 不通用:对 Draft.js 无效,对 CodeMirror 却好用,别一刀切。
  3. 中文选项要映射成 value:表单里的中文标签,实际提交的可能是英文 value,先建映射表再动手。
  4. 每步都要断言:填完一步就校验 DOM,别等最后才发现某步没生效。
  5. 出错先撤销:优先点编辑器的「撤销」按钮回退,比强行改 DOM 安全。

六、小结

这条流水线搭完之后,发布一篇稿子从「十几分钟的手工活」变成了「一句话 + 一次确认」。

我的几点体会:

  • 编排要扁平,别依赖深层嵌套;
  • 工具要原子,一个工具只干一件事;
  • 注入要因地制宜,先侦察编辑器内核,再选方法;
  • 校验要前置,每一步都留断言。

Agent 不会替你思考选题,但它完全可以替你干完那些「重复到不想干」的活。这才是自动化真正的价值。

使用的开源软件:xiweicheng.github.io/ai-helper/

相关推荐
张彦峰ZYF2 小时前
越过边界之前:Reward Seeker 实验如何改写智能体安全的时间逻辑
人工智能·ai agent·anthropic·智能体安全·reward seeker·“控制评价过程”泛化跨领域策略·envbom
拓恒技术3 小时前
无人机巡检AI算法的工程化落地:从需求到交付的5个核心环节
人工智能·算法·无人机
罗西的思考5 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
字节跳动视频云技术团队6 小时前
720P 直升 8K,解密 2026 抖音美好奇妙夜巨幕超分黑科技
人工智能·音视频开发
打工仔折腾 AI6 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
逐米时代6 小时前
从试点验证到协同深化:制造业AI转型三年路线图设计方法
人工智能
GlobalInfo6 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
stormzhangV7 小时前
AI 越强,失业越严重
人工智能·aigc
夏文强8 小时前
Rerank 与混合检索:怎么让 RAG 从「能用」变成「好用」
人工智能·大模型·向量数据库·rag·检索增强生成
救救孩子把8 小时前
AI面试八股文-23_23-Agent可观测性与生产监控面试题
人工智能·面试·职场和发展·agent·langsmith·langfuase