谈谈我用 Claude Code + MyBlog MCP 搭的自媒体内容生产线

2026年07月07日5 次阅读0 人喜欢
Claude CodeMCP自动化AgentAI独立开发
所属合集

说实话,我之前一直觉得"自媒体自动化"是个伪命题。

你看那些教程,要么是教你用 n8n/Dify 搞个工作流,跑完发个 demo 截图就完事了;要么是吹什么 AI 一键生成爆款内容,实际用起来根本不是那回事。

但最近我确实在这件事上跑通了一套东西。不是那种"一键发布"的噱头,而是一条真实的、我自己每天在用的内容生产管线。

核心思路就一句话:让 Claude Code 当调度中枢,MyBlog MCP 当能力层,Skills 封装可复用流程

先说痛点

我有个博客(nnnnzs.cn),平时写技术文章。后来想把内容分发到小红书,发现事情没那么简单:

  • 博客长文不能直接搬小红书,得拆成图文卡片
  • 图文卡片需要封面图、内页 slide,每张都得设计
  • 做短视频还需要旁白音频
  • 所有素材得上传到 CDN 才能用
  • 最终还得手动发到小红书

每一步都是单独的手动流程。一篇文章从博客到小红书,光素材制作就得折腾半天。

解法:三层架构

我想做的事情其实很简单:输入一篇博客文章,输出一套可以直接发布的小红书素材

实现方式分三层:

flowchart TD A["Claude Code<br/>调度中枢"] --> B["MyBlog MCP<br/>能力层"] A --> C["Skills<br/>可复用工作流"] B --> D["generate_image<br/>AI 生图"] B --> E["edit_image<br/>图片编辑"] B --> F["synthesize_speech<br/>TTS 语音"] B --> G["upload_file<br/>文件上传"] B --> H["文章 CRUD<br/>博客管理"] C --> I["blog-upload"] C --> J["image-generation"] C --> K["tts-voiceover"]

第一层是 Claude Code,它负责理解我的意图、读取博客内容、拆分任务、调度工具。我不需要写任何胶水代码,Claude Code 直接通过 MCP 协议调用后端能力。

第二层是 MyBlog MCP。这一层很有意思——它表面上是个"博客管理工具",实际上提供了一整套内容生产能力:AI 生图、图片编辑、TTS 语音合成、文件上传到 COS、文章增删改查。一个 MCP server 搞定了我原来需要五六个独立服务才能做的事情

第三层是 Skills。Claude Code 的 Skills 机制可以把复杂的工作流封装成可复用的工具。我做了三个 skill:blog-upload(本地文件上传到 COS)、myblog-image-generation(生图工作流)、mimo-tts-voiceover(TTS 旁白生成)。每个 skill 都有 SKILL.md 定义入口、references 目录放参考文档、scripts 目录放执行脚本。

MyBlog MCP:被低估的内容基础设施

说真的,MyBlog MCP 是我搭这套系统的核心。它提供的工具看起来简单,但组合起来威力很大:

generate_image — AI 文生图。传入 prompt 和尺寸参数,返回一个异步 jobId。轮询 blog://image-generation-jobs/{jobId} 这个资源,等到状态变成 SUCCESS,就能拿到 cdnUrl。

edit_image — 图片编辑。最有价值的能力是「母图参考」模式:传入一张参考图,告诉它"保持和参考图完全一致的视觉风格,只替换内容",它就能基于参考图生成新图。这个能力解决了一个大问题——AI 生图的风格漂移。

synthesize_speech — TTS 语音合成。传入文本和风格指令,返回音频文件。我用小米 MiMo 的 TTS 引擎,支持多种中文音色。

upload_file — 文件上传到腾讯云 COS。这个工具看起来不起眼,但它是整个管线的关键连接点。因为 edit_imagegenerate_image 的参考图参数只接受公网 URL,而本地文件(头像、母图、截图)没有 URL。upload_file 一步把本地文件变成持久 CDN URL。

文章 CRUDcreate_articleupdate_articleget_articlelist_articles。这些是基础能力,但实际用起来发现,list_articles 搜索已有文章作为素材来源特别好用。

母图保风格:一个工程化方案

这里值得展开说说「母图保风格」流程,因为这是我折腾最久的一个点。

问题很明确:用 generate_image 重复生成多张 slide 图卡时,每张图的风格都不一样。背景色、字体、排版、甚至头像都会漂移。小红书图文笔记需要整组风格一致,这不行。

解决方案:

  1. 先用 generate_image 生成一张满意的图卡,下载到本地
  2. upload_file 上传这张图,拿到持久 URL 作为「母图」
  3. 后续每张图卡用 edit_image,传入母图 URL 作为参考图
  4. prompt 里写明"保持与参考图完全一致的视觉风格,只替换标题和要点"
flowchart LR A["品牌头像<br/>public/brand/avatar.png"] -->|"upload_file"| B["头像 CDN URL"] B -->|"edit_image 参考图"| C["生成母图"] C -->|"upload_file"| D["母图 CDN URL"] D -->|"edit_image 参考图"| E["批量出图卡"] E --> F["下载到本地"]

这样出来的图卡,背景渐变、面板样式、字体、头像位置全部一致。整组笔记看起来就像是同一个人设计的,而不是 AI 随机拼凑的。

这个方案的核心洞察是:AI 生图的一致性问题,不能靠 prompt 去"描述"风格,得靠参考图去"锚定"风格

三条自动化链路

搭好架构后,我跑了三条完整的自动化链路:

链路 A:博客文章 → 小红书图文

  1. list_articles 搜索博客上已有的文章,get_article 读取全文
  2. Claude Code 按照我写的 prompt 模板(prompts/blog-to-xhs-note.md),把长文拆成小红书图文格式:标题、slides、正文、标签
  3. 每张 slide 的内容写成 AI 生图 prompt
  4. 用母图保风格流程批量生成图卡
  5. 所有素材下载到 content/drafts/YYYY-MM-DD-slug/images/
  6. 在草稿 README 里记录素材清单和 CDN 链接

最终输出是一份完整的发布清单:标题、正文、标签、图卡素材。用户(就是我)手动复制粘贴到小红书发布。

链路 B:口播文案 → TTS 旁白

  1. 把口播文案写成 txt 或 md 文件
  2. 调用 synthesize_speech,传入文案和风格提示词(prompts/mimo-tts-style.md
  3. 拿到音频文件,供后续 Remotion 视频渲染用

风格提示词是我专门调过的,定义了"倪同学搞AI"这个账号的旁白语气:自然、实战、工程师视角,不要播音腔。

链路 C:本地文件 → CDN → 可复用素材

这条链路最简单但最基础:

bash 复制代码
bash .claude/skills/blog-upload/scripts/upload.sh public/brand/avatar.png /upload/brand/avatar.png
# → https://static.nnnnzs.cn/upload/brand/avatar.png

品牌头像、母图、截图——所有本地文件都通过这个 skill 上传到 COS,拿到持久 CDN URL。这些 URL 可以被 edit_image 作为参考图,也可以直接在文章里引用。

Skills:把经验变成 Agent 可执行的工具

Skills 是这套系统里我觉得最有意思的部分。

每个 skill 由三部分组成:

  • SKILL.md:frontmatter 定义名称和描述,正文定义工作流步骤
  • references/:放参考文档,Agent 在执行前会先读这些文档
  • scripts/:放实际执行的脚本

比如 blog-upload 这个 skill,SKILL.md 里定义了:

yaml 复制代码
---
name: blog-upload
description: 把本地图片/文件上传到博客 COS,返回持久 CDN URL
---

正文详细说明了什么时候用、怎么用、接口是什么、有什么约束。references 里放了 API 接口文档。scripts 里是实际的上传脚本。

关键点是:这些 skill 不是给我看的,是给 Claude Code 看的。当我说"把这张母图上传到 COS",Claude Code 会自动找到 blog-upload 这个 skill,读取 SKILL.md 知道怎么做,执行 scripts 里的脚本。我不需要每次重复说明。

这就是"把经验变成工具"。一次写好,永久复用。

边界:哪些自动化了,哪些没有

这套系统不是全自动化的。有几个明确的边界:

小红书手动发布。不是技术做不到,是小红书的风控太严。短信验证码、扫码登录、频率限制——自动发布容易触发风控,账号风险太高。所以素材生成全自动,发布手动。

不自动启服务。Remotion Studio、博客服务、NAS 上的常驻进程,全部由我手动启动。后台启动服务我看不到日志,也无法手动停止,会导致端口占用。

渐进式自动化。先自动化素材生成,再考虑自动发布;先在本地跑通,再考虑 NAS 定时任务。不是一步到位,而是一步步验证。

说实话这个边界设计挺重要的。很多人一上来就想搞全自动,结果系统太复杂,维护成本太高,最后反而放弃了。

复盘

跑了大概两周,这套系统确实帮我省了不少时间。以前一篇博客到小红书需要半天,现在 Claude Code 跑一遍,素材就齐了,我只需要检查一下然后手动发布。

几个心得:

  1. MCP 是个好东西。它不是简单的 API 封装,而是一种让 AI Agent 调用外部能力的标准协议。MyBlog MCP 把生图、TTS、上传、博客管理统一到一个 server 里,Claude Code 通过标准协议调用,不需要写胶水代码。

  2. Skills 是经验的载体。写 SKILL.md 的过程其实是在把"怎么做这件事"的隐性知识显性化。写完之后,Agent 就能自主执行,不需要每次手把手教。

  3. 母图保风格是个工程化方案。AI 生图一致性问题不能靠 prompt 描述解决,得靠参考图锚定。这个方案可以复用到任何需要批量生成风格一致图片的场景。

  4. 渐进式自动化比全自动化更现实。先自动化最耗时的环节(素材生成),保留人工判断的环节(发布),这样系统简单可靠,维护成本低。

  5. Agent 不是万能的,但确实能省很多重复劳动。它不会替代你做创意决策,但能把"从决策到执行"之间的手工活干掉。

这套系统还在迭代。下一步计划:

  • 接入 NAS 定时任务,每天自动检查博客新文章并生成小红书素材
  • 多模态支持:从博客文章自动生成短视频脚本 + Remotion 渲染参数
  • 更多内容平台:抖音、视频号的素材格式适配

有同样在搞内容自动化的朋友,欢迎交流。

加载评论中...