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 + TS | SSR 友好 · Server Routes 省一个 BFF |
| 后端 | NestJS + TS | 模块化 + DI · 10+ provider 好管理 |
| 数据库 | PostgreSQL 17.6 + pgvector + zhparser | 关系 + 向量 + 中文检索一把梭 |
| 队列 | Redis + BullMQ | 长任务必须 |
| 部署 | Docker Compose | 4C8G 一键起 |
服务器最低 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 结算:
- 校验余额 → 不足拒
- 按 rate 预扣
- 流式累计真实 token
- 结束 diff 多退少补
- 失败回滚
用户永远不会"跑完才发现钱不够"。
四、核心模块 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
五、核心模块 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%。
七、踩坑 6 条(必看)
- pgvector 维度:1536→1024 必须
DROP INDEX + REINDEX - BullMQ 内存:长任务 payload 存 OSS,队列只传引用,内存降 10 倍
- Nuxt 4 SSR hydration:画布编辑器必须
<ClientOnly>包 - 多模型流式:各家 SSE 协议不一,网关层统一转 openai-format
- 中文分词:pg 默认
simple对中文没用,zhparser + GIN 是刚需 - License 时钟:新 VPS 启动前必
chronyd同步时间
八、压测数据
ECS 4C8G + RDS 2C4G + Redis 2G 环境:
| 场景 | QPS | P50 | P95 |
|---|---|---|---|
| 对话流式(通义-turbo) | 80 | 240ms 首 token | 520ms |
| 对话流式(DeepSeek) | 65 | 310ms 首 token | 680ms |
| 画布简单链路(3 节点) | 12 并发 | 4.2s | 7.1s |
| 画布口播链路(6 节点) | 3 并发 | 580s | 720s |
| 向量检索(topK=10) | 420 | 38ms | 95ms |
| 中文全文检索 | 380 | 42ms | 120ms |
九、对比同类开源方案
| 方案 | 适用 | 缺 |
|---|---|---|
| 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 个自媒体创作者稳定不拥塞。
十二、仓库 + 免费资料
源码仓库:
- GitHub: github.com/2961799660/…
- Gitee: gitee.com/a2961799660…
演示站: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 + TS | SSR 友好 · Server Routes 省一个 BFF |
| 后端 | NestJS + TS | 模块化 + DI · 10+ provider 好管理 |
| 数据库 | PostgreSQL 17.6 + pgvector + zhparser | 关系 + 向量 + 中文检索一把梭 |
| 队列 | Redis + BullMQ | 长任务必须 |
| 部署 | Docker Compose | 4C8G 一键起 |
服务器最低 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 结算:
- 校验余额 → 不足拒
- 按 rate 预扣
- 流式累计真实 token
- 结束 diff 多退少补
- 失败回滚
用户永远不会"跑完才发现钱不够"。
四、核心模块 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 分钟。
五、核心模块 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%。
七、踩坑 6 条(必看)
- pgvector 维度:1536→1024 必须
DROP INDEX + REINDEX - BullMQ 内存:长任务 payload 存 OSS,队列只传引用,内存降 10 倍
- Nuxt 4 SSR hydration:画布编辑器必须
<ClientOnly>包 - 多模型流式:各家 SSE 协议不一,网关层统一转 openai-format
- 中文分词:pg 默认
simple对中文没用,zhparser + GIN 是刚需 - License 时钟:新 VPS 启动前必
chronyd同步时间
八、压测数据
ECS 4C8G + RDS 2C4G + Redis 2G 环境:
| 场景 | QPS | P50 | P95 |
|---|---|---|---|
| 对话流式(通义-turbo) | 80 | 240ms 首 token | 520ms |
| 对话流式(DeepSeek) | 65 | 310ms 首 token | 680ms |
| 画布简单链路(3 节点) | 12 并发 | 4.2s | 7.1s |
| 画布口播链路(6 节点) | 3 并发 | 580s | 720s |
| 向量检索(topK=10) | 420 | 38ms | 95ms |
| 中文全文检索 | 380 | 42ms | 120ms |
九、对比同类开源方案
| 方案 | 适用 | 缺 |
|---|---|---|
| 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 个自媒体创作者稳定不拥塞。
十二、仓库 + 免费资料
源码仓库:
- GitHub: github.com/2961799660/…
- Gitee: gitee.com/a2961799660…
演示站:ai1.zijie.lol/login(账号 demo / 密码 Demo123456)
免费资料包(评论区留言或 GitHub Issue 领):
- 📦 自媒体 AI 工作流画布模板(10 条口播视频链路 JSON)
- 📝 12 种风格口播脚本 Prompt 模板包
- 📊 每日跨平台爆款选题抓取脚本(Python)
- 📚 部署踩坑指南 + AIGC 合规白皮书
写这篇的目的是把几个通用模块(多模型网关 / 画布 DAG / License 绑域名)的设计思路分享出来,任何做 AI 应用层的同行都能抠着用。
觉得有用的,三连一下(点赞 / 收藏 / 关注),下次找起来方便。下一篇写《多模型聚合网关的错误码归一化 + 自动降级方案》,技术同行欢迎关注。
评论区聊聊:你现在项目里多模型路由是怎么做的?跨 provider 错误码归一化有没有更优雅的方案?