手把手搭建开源 AI 中台:多模型聚合 + 画布 DAG 调度 + 数字人口播 pipeline(附完整源码)

0 阅读8分钟

AI 智能体爆火!三千AI智能体系统源码:10 分钟搭建自媒体 AI 中台(架构拆解 + 源码解析)

—— 基于 Nuxt 4 + NestJS + Postgres + BullMQ,聚合 15+ 主流大模型,Docker 一键部署

一、AI 中台正在成为自媒体的"水电煤"

2026 年,大模型应用已经进入"智能体工作流(Agentic Workflow)"深水区。业界调研显示,采用 Agentic Workflow 的企业,自动化任务准确率比单纯 Prompt 方案平均高 65% 以上

对自媒体 / MCN / 代运营团队而言,痛点很明确:

  • 工具碎片化:ChatGPT / Claude / 豆包 / 可灵 / 剪映 / 数字人平台 各自为战
  • 部署复杂:Dify / FastGPT 对媒体节点支持弱,自建中台成本高
  • 数据风险:敏感内容、IP 人设、客户资产通过第三方流转,品牌护城河无从谈起

三千AI智能体系统 就是针对这些痛点做的开源方案,集成 GPT / Claude / Gemini / Kimi / 深度求索 / 智谱 / Grok / 豆包 / 通义 / 文心 等 15+ 主流模型,支持:

Docker 10 分钟极速部署docker compose up -d 一把梭 ✅ 多模型统一网关:7+ 家 LLM 统一 OpenAI-format 接口 ✅ License 绑域名防破解:私有化部署 + RSA 签名校验

本文拆解三个核心模块的设计:多模型聚合网关、画布 DAG 工作流引擎、License 绑域名。代码片段可直接抠去复用。

源码 + 演示站 挂在文末"仓库 + 免费资料"一节,读完一站式拿。

11-canvas-list.png

二、整体架构

用户 → Nginx (SSL) → Docker Compose
  ├── NestJS API     :4090   (PM2 cluster)
  ├── Nuxt 4 SSR/SPA :3000   (PM2 cluster)
  ├── PostgreSQL 17.6 + pgvector + zhparser
  └── Redis 8.2.2 + BullMQ

选型 TL;DR

选型为什么
前端Nuxt 4 + Vue 3 + TSSSR 友好 · Server Routes 省一个 BFF
后端NestJS + TS模块化 + DI · 10+ provider 好管理
数据库PostgreSQL 17.6 + pgvector + zhparser关系 + 向量 + 中文检索一把梭
队列Redis + BullMQ长任务必须
部署Docker Compose4C8G 一键起

服务器最低 4 核 · 8 GB RAM · 40 GB 磁盘,Linux / macOS 都行。


三、核心模块 1:多模型聚合网关

3.1 Provider 抽象

每家 LLM 的 SDK 参数都不一样,前端切模型不能让用户感知差异,网关层做统一:

// src/providers/llm-provider.interface.ts
export interface LLMProvider {
  readonly id: string
  readonly supportedModelTypes: ModelType[]
  chat(params: ChatParams): AsyncIterable<ChatChunk>
  image(params: ImageParams): Promise<ImageResult>
  video(params: VideoParams): Promise<VideoJob>
}

3.2 Provider 实现(DeepSeek 为例)

@Injectable()
export class DeepseekProvider implements LLMProvider {
  readonly id = 'deepseek'
  readonly supportedModelTypes: ModelType[] = ['llm']

  async *chat(params: ChatParams): AsyncIterable<ChatChunk> {
    const res = await fetch('https://api.deepseek.com/v1/chat/completions', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        model: params.model,
        messages: params.messages,
        stream: true,
      }),
    })
    yield* parseSSE(res.body!)
  }
}

兼容 OpenAI 协议的家(Kimi / 智谱 / 通义百炼 / 文心)模板一致,只改 endpoint + key。

3.3 算力计费表

每家模型的算力消耗由运营方后台自定义:

CREATE TABLE ai_model_rates (
  provider_id TEXT NOT NULL,
  model TEXT NOT NULL,
  rate NUMERIC NOT NULL,
  rate_unit TEXT NOT NULL,     -- 'call' | 'token' | 'second'
  enabled BOOLEAN DEFAULT TRUE
);

预扣 + 实扣 diff 结算

  1. 校验余额 → 不足拒
  2. 按 rate 预扣
  3. 流式累计真实 token
  4. 结束 diff 多退少补
  5. 失败回滚

用户永远不会"跑完才发现钱不够"。


四、核心模块 2:画布 DAG 工作流引擎

4.1 20 个内置节点

覆盖图像 / 视频 / 数字人 / 音频全链路:

类别节点
图像(9)图像生成 · 局部重绘 · 画面扩展 · 超分 · 白底图 · 自动蒙版 · 局部替换 · 写实化 · 融合
视频(6)文生视频 · 视频剪辑 · 视频合成 · 分镜串联 · 首尾帧 · 去水印
数字人(2)口型同步 · 虚拟数字人生成
其他(3)音频处理 · 文本处理 · 数据回流

4.2 节点结构

interface CanvasNode {
  id: string
  type: NodeType
  inputs: Record<string, ValueOrRef>  // 字面量或引用上游输出
  outputs: Record<string, any>
  provider?: string
  retries?: number
}

interface Canvas {
  nodes: CanvasNode[]
  edges: { from: NodeId, to: NodeId, fromOutput: string, toInput: string }[]
}

4.3 拓扑调度

async function runCanvas(canvas: Canvas, ctx: Context) {
  const topo = topologicalSort(canvas)       // Kahn 算法
  const groups = groupParallelizable(topo)   // 按依赖深度分组
  for (const group of groups) {
    await Promise.all(
      group.map(n =>
        queue.add('node-run', { nodeId: n.id, ctx }, {
          attempts: n.retries ?? 2,
        })
      )
    )
  }
}

同层级节点扔 BullMQ 并发,worker concurrency: 4 消费。视频合成走单独 video-queue(concurrency=1) 防抖动。

4.4 ZIP / CROSS 两种批量模式

  • ZIP:多参考图拉链式配对,一次产 N 个变体
  • CROSS:A × B 笛卡尔积,10 提示 × 5 图 = 50 次生成

实现上是调度器外套 fan-out,把虚拟节点展开成 N 个真实节点丢队列。

4.5 一条脚本 → 成片的典型链路

文本 → 分段 → 文生图(每段) → TTS
                             ↓
分段图 → 口型同步 ← 配音音频
          ↓
   分镜串联 → 视频合成 → MP4

17-canvas-editor.png


五、核心模块 3:License 绑域名防破解

@Injectable()
export class LicenseService implements OnModuleInit {
  async onModuleInit() {
    const { domain, expire, signature } = JSON.parse(
      await readFile(process.env.LICENSE_FILE!, 'utf-8')
    )
    const payload = `${domain}:${expire}`
    const ok = crypto
      .createVerify('RSA-SHA256')
      .update(payload)
      .verify(PUBLIC_KEY, Buffer.from(signature, 'base64'))
    if (!ok || new Date(expire) < new Date())
      throw new Error('License invalid or expired')
    if (domain !== process.env.SERVING_DOMAIN)
      throw new Error('Domain mismatch')
  }
}

只绑域名不绑 IP,VPS 迁移友好,换域名走公钥重签。


六、口播 IP 工作台 · 内容飞轮 SOP

画布解决"单次生成",IP 工作台解决"长期运营":

  • 灵感爆发:14+ 社媒平台爆款抓取 → 选题推荐
  • 文案工坊:12+ 风格标签 + 脚本质量评分
  • 数据回流:发布后数据追踪 + 评论区提炼下一期选题
  • 定位引擎:IP 人设建档 + "立权威 / 建信任 / 做转化" 三轮配比
  • 知识图谱:观点 / 案例 / 金句沉淀

数据回流 → 选题 这条闭环是最有商业价值的 —— 上月有条"自律的 3 个层次"评论区刷屏问"那躺平算第几层",AI 第二天推"躺平是自律失败还是大智慧"给我当下一期,完播率 46%

07-qc-inspiration.png

09-qc-data.png

七、踩坑 6 条(必看)

  1. pgvector 维度:1536→1024 必须 DROP INDEX + REINDEX
  2. BullMQ 内存:长任务 payload 存 OSS,队列只传引用,内存降 10 倍
  3. Nuxt 4 SSR hydration:画布编辑器必须 <ClientOnly>
  4. 多模型流式:各家 SSE 协议不一,网关层统一转 openai-format
  5. 中文分词:pg 默认 simple 对中文没用,zhparser + GIN 是刚需
  6. License 时钟:新 VPS 启动前必 chronyd 同步时间

八、压测数据

ECS 4C8G + RDS 2C4G + Redis 2G 环境:

场景QPSP50P95
对话流式(通义-turbo)80240ms 首 token520ms
对话流式(DeepSeek)65310ms 首 token680ms
画布简单链路(3 节点)12 并发4.2s7.1s
画布口播链路(6 节点)3 并发580s720s
向量检索(topK=10)42038ms95ms
中文全文检索38042ms120ms

九、对比同类开源方案

方案适用
Dify通用 LLM App Builder媒体节点弱,无视频/数字人 pipeline
FastGPT知识库 QA工作流轻,媒体节点少
Coze / 扣子托管 Agent无私有化选项,数据不归己
n8n通用自动化AI 节点生态薄
三千AI智能体AI 中台 + 私有化 + 自媒体专用画布 + 多模型 + 媒体 pipeline 一体,License 绑域名

内容团队 + 需要私有化 + 数字人 pipeline 的场景,通用平台覆盖不全,自己搭或基于现成骨架二开更合适。


十、三档授权方案(商业化建议)

如果你直接要上线商用,源码提供三档:

档位原价说明
授权¥2980(现 ¥2280仅授权,不含源码,用自己服务器部署发行包
包搭建¥3980授权 + 代为远程搭建上线
开源源码¥13800全部源码开放,可二次开发、换品牌、做 SAAS 分站

共同权益:绑域名不绑服务器 · 并发不限 · 后续版本更新免费 · 1 小时远程部署 · 7×24 技术响应


十一、FAQ

Q:模型 API 费用怎么算? API Key 填你自己的,费用自担。好处是每个模型的算力消耗由你后台自定义,按成本和毛利定价,利润空间完全可控。

Q:支持国产大模型吗? 深度求索 / 智谱 GLM / Kimi / 豆包 / 通义 / 文心 全支持,后台加 API Key 即可。

Q:换品牌? DIY 装修中心改 LOGO / 主题色 / 域名 / 导航,源码级定制走开源档位。

Q:数据安全? 全部数据在你自己的服务器和数据库上,License 只校验域名,不上传任何业务数据。

Q:4C8G 服务器能跑多少用户? 对话流式 60-80 QPS,日活 1000-2000 个自媒体创作者稳定不拥塞。


十二、仓库 + 免费资料

源码仓库

演示站ai1.zijie.lol/login(账号 demo / 密码 Demo123456

免费资料包(评论区留言或 GitHub Issue 领):

  • 📦 自媒体 AI 工作流画布模板(10 条口播视频链路 JSON)
  • 📝 12 种风格口播脚本 Prompt 模板包
  • 📊 每日跨平台爆款选题抓取脚本(Python)
  • 📚 部署踩坑指南 + AIGC 合规白皮书

写这篇的目的是把几个通用模块(多模型网关 / 画布 DAG / License 绑域名)的设计思路分享出来,任何做 AI 应用层的同行都能抠着用。

觉得有用的,三连一下(点赞 / 收藏 / 关注),下次找起来方便。下一篇写《多模型聚合网关的错误码归一化 + 自动降级方案》,技术同行欢迎关注。

评论区聊聊:你现在项目里多模型路由是怎么做的?跨 provider 错误码归一化有没有更优雅的方案?

AI 智能体爆火!三千AI智能体系统源码:10 分钟搭建自媒体 AI 中台(架构拆解 + 源码解析)

—— 基于 Nuxt 4 + NestJS + Postgres + BullMQ,聚合 15+ 主流大模型,Docker 一键部署

一、AI 中台正在成为自媒体的"水电煤"

2026 年,大模型应用已经进入"智能体工作流(Agentic Workflow)"深水区。业界调研显示,采用 Agentic Workflow 的企业,自动化任务准确率比单纯 Prompt 方案平均高 65% 以上

对自媒体 / MCN / 代运营团队而言,痛点很明确:

  • 工具碎片化:ChatGPT / Claude / 豆包 / 可灵 / 剪映 / 数字人平台 各自为战
  • 部署复杂:Dify / FastGPT 对媒体节点支持弱,自建中台成本高
  • 数据风险:敏感内容、IP 人设、客户资产通过第三方流转,品牌护城河无从谈起

三千AI智能体系统 就是针对这些痛点做的开源方案,集成 GPT / Claude / Gemini / Kimi / 深度求索 / 智谱 / Grok / 豆包 / 通义 / 文心 等 15+ 主流模型,支持:

Docker 10 分钟极速部署docker compose up -d 一把梭 ✅ 多模型统一网关:7+ 家 LLM 统一 OpenAI-format 接口 ✅ License 绑域名防破解:私有化部署 + RSA 签名校验

本文拆解三个核心模块的设计:多模型聚合网关、画布 DAG 工作流引擎、License 绑域名。代码片段可直接抠去复用。

源码 + 演示站 挂在文末"仓库 + 免费资料"一节,读完一站式拿。

画布工作台项目列表


二、整体架构

用户 → Nginx (SSL) → Docker Compose
  ├── NestJS API     :4090   (PM2 cluster)
  ├── Nuxt 4 SSR/SPA :3000   (PM2 cluster)
  ├── PostgreSQL 17.6 + pgvector + zhparser
  └── Redis 8.2.2 + BullMQ

选型 TL;DR

选型为什么
前端Nuxt 4 + Vue 3 + TSSSR 友好 · Server Routes 省一个 BFF
后端NestJS + TS模块化 + DI · 10+ provider 好管理
数据库PostgreSQL 17.6 + pgvector + zhparser关系 + 向量 + 中文检索一把梭
队列Redis + BullMQ长任务必须
部署Docker Compose4C8G 一键起

服务器最低 4 核 · 8 GB RAM · 40 GB 磁盘,Linux / macOS 都行。


三、核心模块 1:多模型聚合网关

3.1 Provider 抽象

每家 LLM 的 SDK 参数都不一样,前端切模型不能让用户感知差异,网关层做统一:

// src/providers/llm-provider.interface.ts
export interface LLMProvider {
  readonly id: string
  readonly supportedModelTypes: ModelType[]
  chat(params: ChatParams): AsyncIterable<ChatChunk>
  image(params: ImageParams): Promise<ImageResult>
  video(params: VideoParams): Promise<VideoJob>
}

3.2 Provider 实现(DeepSeek 为例)

@Injectable()
export class DeepseekProvider implements LLMProvider {
  readonly id = 'deepseek'
  readonly supportedModelTypes: ModelType[] = ['llm']

  async *chat(params: ChatParams): AsyncIterable<ChatChunk> {
    const res = await fetch('https://api.deepseek.com/v1/chat/completions', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${this.apiKey}`,
        'Content-Type': 'application/json',
      },
      body: JSON.stringify({
        model: params.model,
        messages: params.messages,
        stream: true,
      }),
    })
    yield* parseSSE(res.body!)
  }
}

兼容 OpenAI 协议的家(Kimi / 智谱 / 通义百炼 / 文心)模板一致,只改 endpoint + key。

3.3 算力计费表

每家模型的算力消耗由运营方后台自定义:

CREATE TABLE ai_model_rates (
  provider_id TEXT NOT NULL,
  model TEXT NOT NULL,
  rate NUMERIC NOT NULL,
  rate_unit TEXT NOT NULL,     -- 'call' | 'token' | 'second'
  enabled BOOLEAN DEFAULT TRUE
);

预扣 + 实扣 diff 结算

  1. 校验余额 → 不足拒
  2. 按 rate 预扣
  3. 流式累计真实 token
  4. 结束 diff 多退少补
  5. 失败回滚

用户永远不会"跑完才发现钱不够"。


四、核心模块 2:画布 DAG 工作流引擎

4.1 20 个内置节点

覆盖图像 / 视频 / 数字人 / 音频全链路:

类别节点
图像(9)图像生成 · 局部重绘 · 画面扩展 · 超分 · 白底图 · 自动蒙版 · 局部替换 · 写实化 · 融合
视频(6)文生视频 · 视频剪辑 · 视频合成 · 分镜串联 · 首尾帧 · 去水印
数字人(2)口型同步 · 虚拟数字人生成
其他(3)音频处理 · 文本处理 · 数据回流

4.2 节点结构

interface CanvasNode {
  id: string
  type: NodeType
  inputs: Record<string, ValueOrRef>  // 字面量或引用上游输出
  outputs: Record<string, any>
  provider?: string
  retries?: number
}

interface Canvas {
  nodes: CanvasNode[]
  edges: { from: NodeId, to: NodeId, fromOutput: string, toInput: string }[]
}

4.3 拓扑调度

async function runCanvas(canvas: Canvas, ctx: Context) {
  const topo = topologicalSort(canvas)       // Kahn 算法
  const groups = groupParallelizable(topo)   // 按依赖深度分组
  for (const group of groups) {
    await Promise.all(
      group.map(n =>
        queue.add('node-run', { nodeId: n.id, ctx }, {
          attempts: n.retries ?? 2,
        })
      )
    )
  }
}

同层级节点扔 BullMQ 并发,worker concurrency: 4 消费。视频合成走单独 video-queue(concurrency=1) 防抖动。

4.4 ZIP / CROSS 两种批量模式

  • ZIP:多参考图拉链式配对,一次产 N 个变体
  • CROSS:A × B 笛卡尔积,10 提示 × 5 图 = 50 次生成

实现上是调度器外套 fan-out,把虚拟节点展开成 N 个真实节点丢队列。

4.5 一条脚本 → 成片的典型链路

文本 → 分段 → 文生图(每段) → TTS
                             ↓
分段图 → 口型同步 ← 配音音频
          ↓
   分镜串联 → 视频合成 → MP4

画布上 6 个节点接好,60 秒成片端到端 8-12 分钟

画布编辑器 · Copilot 面板


五、核心模块 3:License 绑域名防破解

@Injectable()
export class LicenseService implements OnModuleInit {
  async onModuleInit() {
    const { domain, expire, signature } = JSON.parse(
      await readFile(process.env.LICENSE_FILE!, 'utf-8')
    )
    const payload = `${domain}:${expire}`
    const ok = crypto
      .createVerify('RSA-SHA256')
      .update(payload)
      .verify(PUBLIC_KEY, Buffer.from(signature, 'base64'))
    if (!ok || new Date(expire) < new Date())
      throw new Error('License invalid or expired')
    if (domain !== process.env.SERVING_DOMAIN)
      throw new Error('Domain mismatch')
  }
}

只绑域名不绑 IP,VPS 迁移友好,换域名走公钥重签。


六、口播 IP 工作台 · 内容飞轮 SOP

画布解决"单次生成",IP 工作台解决"长期运营":

  • 灵感爆发:14+ 社媒平台爆款抓取 → 选题推荐
  • 文案工坊:12+ 风格标签 + 脚本质量评分
  • 数据回流:发布后数据追踪 + 评论区提炼下一期选题
  • 定位引擎:IP 人设建档 + "立权威 / 建信任 / 做转化" 三轮配比
  • 知识图谱:观点 / 案例 / 金句沉淀

数据回流 → 选题 这条闭环是最有商业价值的 —— 上月有条"自律的 3 个层次"评论区刷屏问"那躺平算第几层",AI 第二天推"躺平是自律失败还是大智慧"给我当下一期,完播率 46%

口播 IP 工作台 · 灵感爆发转存失败,建议直接上传图片文件

口播 IP 工作台 · 数据回流


七、踩坑 6 条(必看)

  1. pgvector 维度:1536→1024 必须 DROP INDEX + REINDEX
  2. BullMQ 内存:长任务 payload 存 OSS,队列只传引用,内存降 10 倍
  3. Nuxt 4 SSR hydration:画布编辑器必须 <ClientOnly>
  4. 多模型流式:各家 SSE 协议不一,网关层统一转 openai-format
  5. 中文分词:pg 默认 simple 对中文没用,zhparser + GIN 是刚需
  6. License 时钟:新 VPS 启动前必 chronyd 同步时间

八、压测数据

ECS 4C8G + RDS 2C4G + Redis 2G 环境:

场景QPSP50P95
对话流式(通义-turbo)80240ms 首 token520ms
对话流式(DeepSeek)65310ms 首 token680ms
画布简单链路(3 节点)12 并发4.2s7.1s
画布口播链路(6 节点)3 并发580s720s
向量检索(topK=10)42038ms95ms
中文全文检索38042ms120ms

九、对比同类开源方案

方案适用
Dify通用 LLM App Builder媒体节点弱,无视频/数字人 pipeline
FastGPT知识库 QA工作流轻,媒体节点少
Coze / 扣子托管 Agent无私有化选项,数据不归己
n8n通用自动化AI 节点生态薄
三千AI智能体AI 中台 + 私有化 + 自媒体专用画布 + 多模型 + 媒体 pipeline 一体,License 绑域名

内容团队 + 需要私有化 + 数字人 pipeline 的场景,通用平台覆盖不全,自己搭或基于现成骨架二开更合适。


十、三档授权方案(商业化建议)

如果你直接要上线商用,源码提供三档:

档位原价说明
授权¥2980(现 ¥2280仅授权,不含源码,用自己服务器部署发行包
包搭建¥3980授权 + 代为远程搭建上线
开源源码¥13800全部源码开放,可二次开发、换品牌、做 SAAS 分站

共同权益:绑域名不绑服务器 · 并发不限 · 后续版本更新免费 · 1 小时远程部署 · 7×24 技术响应


十一、FAQ

Q:模型 API 费用怎么算? API Key 填你自己的,费用自担。好处是每个模型的算力消耗由你后台自定义,按成本和毛利定价,利润空间完全可控。

Q:支持国产大模型吗? 深度求索 / 智谱 GLM / Kimi / 豆包 / 通义 / 文心 全支持,后台加 API Key 即可。

Q:换品牌? DIY 装修中心改 LOGO / 主题色 / 域名 / 导航,源码级定制走开源档位。

Q:数据安全? 全部数据在你自己的服务器和数据库上,License 只校验域名,不上传任何业务数据。

Q:4C8G 服务器能跑多少用户? 对话流式 60-80 QPS,日活 1000-2000 个自媒体创作者稳定不拥塞。


十二、仓库 + 免费资料

源码仓库

演示站ai1.zijie.lol/login(账号 demo / 密码 Demo123456

免费资料包(评论区留言或 GitHub Issue 领):

  • 📦 自媒体 AI 工作流画布模板(10 条口播视频链路 JSON)
  • 📝 12 种风格口播脚本 Prompt 模板包
  • 📊 每日跨平台爆款选题抓取脚本(Python)
  • 📚 部署踩坑指南 + AIGC 合规白皮书

写这篇的目的是把几个通用模块(多模型网关 / 画布 DAG / License 绑域名)的设计思路分享出来,任何做 AI 应用层的同行都能抠着用。

觉得有用的,三连一下(点赞 / 收藏 / 关注),下次找起来方便。下一篇写《多模型聚合网关的错误码归一化 + 自动降级方案》,技术同行欢迎关注。

评论区聊聊:你现在项目里多模型路由是怎么做的?跨 provider 错误码归一化有没有更优雅的方案?