内网部署 · 外部中间件 · 独立 Worker

生产部署

生产模式与体验模式的区别只有三件事:使用真实的身份配置、 接入外部的 PostgreSQL、以及把 Worker 独立出来。 按需再接入 Milvus 与对象存储。

先看清两种模式的区别

项目体验模式生产模式
身份自动注入管理身份配置真实角色 Token,启用访问控制
数据库容器内 PostgreSQL外部 PostgreSQL,便于备份与扩容
Worker与 API 同进程独立进程,可单独伸缩
模型模拟模型接入真实模型服务
向量检索不依赖按需接入 Milvus
对象存储不依赖按需接入 S3 / MinIO
HTTPS自带自签证书使用你自己的证书

不要把体验模式直接用于生产。 体验模式会在请求未携带身份信息时自动注入管理身份,这是为了方便本机试用而做的设计, 不适用于任何对外提供服务或存放真实数据的场景。

步骤

四步完成部署

  1. 准备外部 PostgreSQL

    准备一个可用的 PostgreSQL 实例,并创建供 NexusDesk 使用的数据库与账号。 数据库结构由迁移脚本管理,首次启动时自动执行。 具体版本要求与初始化方式见仓库中的部署手册。

  2. 复制并填写配置模板

    模板中列出了全部必填项与占位符。至少需要填写数据库连接与角色 Token。

    # 仅首次部署需要复制模板 cp deploy/production/.env.example deploy/production/.env # 然后编辑 deploy/production/.env,替换其中的占位符
  3. 按需接入中间件

    Milvus:需要向量检索时接入。若暂不需要知识库检索,可以先跳过。
    对象存储(S3 / MinIO):用于存放知识库原始文件。同样可以按需接入。

    仓库中提供了中间件的 Compose 编排文件,可用于自建或作为接入参考。

  4. 启动服务

    sh nexusdesk deploy
内网与信创环境

为受限网络设计

如果你的目标环境不能访问公网、不能引入特定中间件,或者需要走安全评审,下面几点可能有用。

不依赖 Redis

Postgres 同时承担数据存储、任务队列与跨进程消息通道。 安全评审时少一个中间件,通常意味着少一份组件清单与一个故障点。

不需要 GPU

应用服务器无需 GPU。模型通过外部服务调用;工具以 API 方式接入业务系统。

数据留在内网

知识库与业务数据存放于你自己的数据库与对象存储; 会话记录、运行事件与审计日志都在本地库中。

模型可替换

支持任意 OpenAI 兼容的服务。模型连接、方案与版本都在控制台管理,更换模型不需要改代码。

可离线部署

镜像可离线导出与导入。全流程不需要在目标环境访问公网。

全量审计

操作审计、运行事件、模型调用计量与工具调用记录均可查询与导出。

升级与备份

升级

数据库结构由 Alembic 迁移管理,迁移按版本顺序执行且不回滚。 升级前请先备份,并阅读目标版本的更新日志中关于迁移的说明。

查看更新日志 →

备份

需要备份的是三处:PostgreSQL 数据库、对象存储中的知识库文件、 以及生产配置文件。向量索引可在重建后重新生成。

关于现状的说明:备份恢复与容量验证仍在完善中, 我们尚未对大规模生产场景给出经过验证的容量与性能结论。 如果你的场景对可用性有明确要求,建议在正式投产前与我们沟通, 或先在小范围内部环境验证。

需要我们一起做私有化交付?

内网环境适配、中间件选型、信创环境验证、部署与升级 —— 如果你希望有人一起做, 可以联系我们。也可以先自己在测试环境跑一遍,再决定要不要聊。