Files
zhuangxiu/docs/settings.md
T

3.6 KiB
Raw Blame History

可视化系统设置

为什么不再把所有内容放进 .env

.env 只负责应用启动前必须存在的 PostgreSQL、Redis、监听地址和运行期设置目录。数据库和 Redis 必须先启动,网页设置才有机会打开,因此它们不能完全由已运行后的网页管理。

scripts/bootstrap.ps1 使用操作系统的加密随机数一次性生成数据库和 Redis 密码,不依赖 OpenSSL,也不会在终端打印密码。普通用户不需要打开 .env

以下内容改为网页配置并加密保存:

  • NAS MinIO 与三个 bucket。
  • 百度 OCR。
  • 可扩展模型池,以及总调度、空间理解和生图路由。
  • 本地或局域网 GPU Worker。
  • Langfuse 与 Sentry。

分类与门禁

工作流必备分类为:

  1. 基础运行:PostgreSQL、Redis、配置加密。
  2. 文件存储:MinIO 地址、服务账号和三个 bucket。
  3. AI 模型:至少一个大语言模型、空间理解候选和生图候选,并完成路由选择。

必备分类既要填写完整,也要通过对应连接测试。未完成时,上传和工作流命令接口返回 SETTINGS_INCOMPLETE,前端“开始设计”按钮保持锁定。

百度 OCR、GPU、Langfuse 和 Sentry 是条件必填:关闭时不影响工作流;开启后应填写完整并测试。

模型池与路由

模型池分为大语言模型和多模态模型。每个模型条目独立保存以下内容:

  • 显示名称与平台模型 ID。
  • API 来源、Base URL 和 API Key。
  • 空间理解、图像生成、局部编辑等能力标签。
  • 高级路径:/models/chat/completions/images/generations/images/edits

同一个聚合账号可以添加多个模型,也可以把不同平台的模型放进同一个池。每个模型都有单独的测试按钮。测试会访问该条目的模型列表接口,并明确显示是哪个模型 ID、凭证或接口路径出错,不再返回“部分模型不可用”这类无法定位的信息。

总调度模型必须由用户从大语言模型池中指定。空间理解和生图各自支持两种方式:

  • 总调度自动选择:只在已启用且测试通过的能力候选中路由。
  • 用户手动指定:固定使用选中的多模态模型。

旧版统一 API 配置在第一次读取时会自动迁移成三个模型池条目。出于安全考虑,迁移后的模型必须逐个重新测试。

聚合平台的 Base URL 不在代码中猜测或写死,仍需从登录后的开发者文档复制。

为什么本地 GPU 仍然需要 Worker

网页和 Docker 容器不能安全、稳定地直接执行宿主机 CUDA。把 GPU 推理拆成 Worker 可以隔离模型依赖、显存崩溃和长任务,并允许未来迁移到独立 GPU 服务器。

设置页提供三种自然语意选项:

  • 暂不使用:全部调用云 API。
  • 本机 GPU Worker:无需输入地址。原生运行 API 时自动访问 127.0.0.1:8100Docker 中自动访问 host.docker.internal:8100
  • 局域网 GPU 服务器:仅此模式需要填写内网地址。

GPU 主要用于户型分割、深度估计、几何校验和可选本地视觉模型。云端生图 API 本身不需要本地 GPU。

密钥安全

  • 运行期配置加密写入 .runtime/settings.enc
  • 主密钥保存在 .runtime/.master-key 或 Docker 的 settings-data 私有卷。
  • 密钥接口只返回是否已配置;保存成功后浏览器会清空输入值。
  • 测试请求由后端发出,密钥不会直接交给第三方网页脚本。
  • 当前版本应部署在可信内网;正式开放公网前还需给设置接口增加所有者登录和权限控制。