一人公司运营多个社媒账号,手动复制粘贴是最大的内耗。本教程用n8n搭建长文分发流水线:输入Markdown长文,AI节点拆分为X线程/小红书/公众号3种格式,再调各平台API分发,全程25分钟搭好,每篇文章节省1小时手动操作。
适用场景
做内容的一人公司,最容易在「分发」环节崩盘:
- 写一篇2000字长文要1天,但拆成X线程+小红书+公众号3条要再花1小时,且容易遗漏。 - 多账号登录、复制、粘贴、改格式、配图、定时——每步都很轻,加起来很重。 - 手动产出的小红书/X/公众号经常彼此「同步过头」(一字不改),算法不喜欢;又怕过度改写花太多时间。
本教程用 n8n 把这套流程一次性自动化:输入一篇 Markdown 长文,自动产出3种平台格式的草稿并发送到指定渠道,单篇分发耗时压缩到 5 分钟(含人工抽查)。25分钟搭好流水线,单人即可维护。
操作步骤
第1步 · 准备 n8n 环境(5分钟)
- 本地 Docker 起 n8n:`docker run -d --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n n8nio/n8n`。 - 或用 n8n.cloud 免费版(适合不想维护本地服务的 OPC)。 - 启动后访问 `http://localhost:5678`,创建一个工作流,命名为 `content-fanout`。
第2步 · 搭建 5 个核心节点(10分钟)
按下面的链路拖入节点,箭头表示数据流:
```text [Webhook 触发] → [Set 解析输入] → [HTTP Request × Claude API] → [Function 拆三份] → [Notion / 飞书 / 邮箱 输出] ```
各节点配置要点:
1. Webhook 触发:路径 `/fanout`,POST 方法。Body 字段 `{ markdown, title, thesis }`。 2. Set 解析输入:把 markdown 全文、标题、一句话主旨展开为可引用变量。 3. HTTP Request × Claude API:调 `https://api.anthropic.com/v1/messages`,模型 `claude-sonnet-4-6`。Prompt 在「代码或模板」里。 4. Function 拆三份:把 Claude 返回的 JSON 拆成 X / 小红书 / 公众号 三条独立 item,后面分支处理。 5. 输出:3 路并行——X 草稿写入 Notion 数据库、小红书草稿发到飞书多维表格、公众号草稿发邮件给自己(用现成 Notion / 飞书节点,无需额外凭据折腾)。
第3步 · 跑通一次测试(5分钟)
用 curl 触发 webhook:
```bash curl -X POST http://localhost:5678/webhook/fanout \ -H "Content-Type: application/json" \ -d '{ "title": "Heartbeats, not daemons", "thesis": "Production agent systems should pulse, not run as daemons.", "markdown": "<paste long-form markdown here>" }' ```
90 秒内你的 Notion / 飞书 / 邮箱应该各收到一条草稿。如果某路报错,n8n 的 Executions 面板能直接看到哪一步挂了。
第4步 · 加 3 道人工护栏(5分钟)
自动化最大的风险是「错的内容批量发」。加 3 道护栏:
- 不直接发到平台:所有输出都进「草稿区」(Notion/飞书/邮箱),人审过再手动发布。这是一人公司能跑自动化的底线。 - 加 thesis 校验:Function 节点里加一句校验,三个平台输出都必须包含「一句话主旨的核心动词」。漏了就让流水线报错。 - 每条单独可重跑:n8n 的 "Retry on Fail" 配置只对失败 item 重跑,不会重复消耗 Claude tokens。
代码或模板
Claude 拆稿 Prompt(核心模板)
```text 你是「一人堂」社媒分发节点。请把下面这篇长文同时改写为3种平台格式,严格用 JSON 返回。
输入
标题:<<TITLE>> 一句话主旨:<<THESIS>> 长文 Markdown:<<MARKDOWN>>输出格式(严格 JSON,不要任何解释)
{ "x_thread": ["第1条推文", "第2条推文", ..., "第7条推文"], "xiaohongshu": { "title": "<=20字带emoji的小红书标题", "body": "500-800字小红书风格正文,分小段,每段≤3行", "hashtags": ["#tag1", "#tag2", "#tag3"] }, "gongzhonghao": { "title": "<=30字公众号标题(含「:」或「?」)", "intro": "50-80字引子", "body": "800-1500字正文,分小节,含小标题" } }平台风格约束
- x_thread:7 条以内,第 1 条必须是钩子句,最后 1 条必须有明确 CTA(follow / subscribe / link)。每条 ≤ 280 字符。 - xiaohongshu:开头 1 行抓注意力,禁用「赋能」「一站式」,必须出现「我」或「我们团队」拉近距离。 - gongzhonghao:正经叙述,禁用过多emoji,分小节用「一、」「二、」「三、」中文序号。强制要求
- 三个平台输出必须都包含原长文的核心动词(来自 thesis)。 - 不能直接搬运原文段落,至少 60% 重写。 - 任何平台版本都不出现「这篇文章告诉你」「下面我们来看看」这类元描述。 ```n8n Function 节点关键代码
```javascript // 拆 Claude 返回为 3 个独立 item const raw = $json.content[0].text; const parsed = JSON.parse(raw);
const thesisCore = $json.thesis.split(/\s+/).slice(0, 3).join(' ');
const items = [ { platform: 'x', payload: parsed.x_thread }, { platform: 'xiaohongshu', payload: parsed.xiaohongshu }, { platform: 'gongzhonghao', payload: parsed.gongzhonghao } ];
// thesis 校验:每个平台输出必须包含核心动词 items.forEach(item => { const text = JSON.stringify(item.payload).toLowerCase(); if (!thesisCore.split(' ').some(v => text.includes(v.toLowerCase()))) { throw new Error(`平台 ${item.platform} 缺失 thesis 核心动词:${thesisCore}`); } });
return items.map(i => ({ json: i })); ```
复盘要点
- 草稿区是必经一步:直接发布到平台 = 一旦 prompt 漂移就批量翻车。所有输出都先进 Notion / 飞书草稿,人审 30 秒再发,是一人公司能保持账号质量的底线。 - thesis 校验比想象中重要:Claude 偶尔会「跑偏」到讲另一个话题,强制校验核心动词能在自动化环节拦住 90% 的偏题。 - n8n 比纯代码更适合 OPC:可视化节点意味着 6 个月后回来改流水线,你能立刻看懂;纯 Python 脚本半年后自己都要花 20 分钟读懂。 - API Key 进 n8n Credentials:不要把 Claude API Key 写在 HTTP 节点的 URL 里,n8n 有专门的 Credentials 管理,避免误导出工作流时泄露。 - 进阶:把这条流水线接到 [飞书多维表格 + AI 选题](http://opcdesk.top/skill/) 上游,就能形成「选题 → 写稿 → 拆分 → 草稿」的全链路,单人维护 3 个账号成为可能。