生产模式与体验模式的区别只有三件事:使用真实的身份配置、 接入外部的 PostgreSQL、以及把 Worker 独立出来。 按需再接入 Milvus 与对象存储。
| 项目 | 体验模式 | 生产模式 |
|---|---|---|
| 身份 | 自动注入管理身份 | 配置真实角色 Token,启用访问控制 |
| 数据库 | 容器内 PostgreSQL | 外部 PostgreSQL,便于备份与扩容 |
| Worker | 与 API 同进程 | 独立进程,可单独伸缩 |
| 模型 | 模拟模型 | 接入真实模型服务 |
| 向量检索 | 不依赖 | 按需接入 Milvus |
| 对象存储 | 不依赖 | 按需接入 S3 / MinIO |
| HTTPS | 自带自签证书 | 使用你自己的证书 |
不要把体验模式直接用于生产。 体验模式会在请求未携带身份信息时自动注入管理身份,这是为了方便本机试用而做的设计, 不适用于任何对外提供服务或存放真实数据的场景。
准备一个可用的 PostgreSQL 实例,并创建供 NexusDesk 使用的数据库与账号。 数据库结构由迁移脚本管理,首次启动时自动执行。 具体版本要求与初始化方式见仓库中的部署手册。
模板中列出了全部必填项与占位符。至少需要填写数据库连接与角色 Token。
# 仅首次部署需要复制模板
cp deploy/production/.env.example deploy/production/.env
# 然后编辑 deploy/production/.env,替换其中的占位符# 仅首次部署需要复制模板
Copy-Item deploy/production/.env.example deploy/production/.env
# 然后编辑 deploy/production/.env,替换其中的占位符
Milvus:需要向量检索时接入。若暂不需要知识库检索,可以先跳过。
对象存储(S3 / MinIO):用于存放知识库原始文件。同样可以按需接入。
仓库中提供了中间件的 Compose 编排文件,可用于自建或作为接入参考。
sh nexusdesk deploy.\nexusdesk.ps1 deploy如果你的目标环境不能访问公网、不能引入特定中间件,或者需要走安全评审,下面几点可能有用。
Postgres 同时承担数据存储、任务队列与跨进程消息通道。 安全评审时少一个中间件,通常意味着少一份组件清单与一个故障点。
应用服务器无需 GPU。模型通过外部服务调用;工具以 API 方式接入业务系统。
知识库与业务数据存放于你自己的数据库与对象存储; 会话记录、运行事件与审计日志都在本地库中。
支持任意 OpenAI 兼容的服务。模型连接、方案与版本都在控制台管理,更换模型不需要改代码。
镜像可离线导出与导入。全流程不需要在目标环境访问公网。
操作审计、运行事件、模型调用计量与工具调用记录均可查询与导出。
需要备份的是三处:PostgreSQL 数据库、对象存储中的知识库文件、 以及生产配置文件。向量索引可在重建后重新生成。
关于现状的说明:备份恢复与容量验证仍在完善中, 我们尚未对大规模生产场景给出经过验证的容量与性能结论。 如果你的场景对可用性有明确要求,建议在正式投产前与我们沟通, 或先在小范围内部环境验证。