Files
NexusAI/PROGRESS.md
ericwyuan 188c02478b docs(部署方案): 同步 NAS+甲骨文反代决策 + 生成部署骨架
- SRS/SDD/README/PROGRESS 统一将部署目标由"美国服务器"更正为"NAS 本机 + 甲骨文服务器反向代理"(此前已确认但未入库)
- 新增 docker-compose.yml / nginx.conf / .env.example(对应待办任务4)
- 相对 SDD 草稿的安全加固:one-api 端口改绑 127.0.0.1(原为公网端口映射),lobe-chat 不再发布主机端口,仅走容器内网
2026-08-23 08:31:09 +08:00

4.6 KiB
Raw Blame History

项目进度追踪

最后更新: 2026-08-23

服务运行状态

服务 节点 状态 说明
Oracle 反代层 甲骨文服务器 129.146.203.203 未配置 frp/nginx 反代端口 → NAS 网关入口
Nginx NAS 192.168.50.64 未部署 HTTPS 反向代理层
LobeChat NAS 192.168.50.64 未部署 前端对话界面
One-API NAS 192.168.50.64 未部署 网关聚合层
MySQL NAS 192.168.50.64 未部署 One-API 数据存储

2026-08-23 部署骨架生成docker-compose.yml / nginx.conf / .env.example

  • 产出:仓库根目录新增 docker-compose.ymlmysql / one-api / lobe-chat / nginx 四服务)、nginx.conf443 SSL + 80→443 跳转 + SSE 流式透传配置)、.env.example(含 MYSQL_ROOT_PASSWORD / ONE_API_TOKEN / LOBE_ACCESS_CODE / 各渠道 Key 占位)。
  • 相对 SDD 草稿的两处安全加固
    1. one-api 端口改为 127.0.0.1:3000:3000(原草稿是 3000:3000 全网卡暴露),管理需通过 SSH 隧道(ssh -p 2222 -L 3000:127.0.0.1:3000 ericwyuan@192.168.50.64)转发后本地访问,符合 SRS FR-5.2 / SDD 第5章"后台管理端口不映射公网"的要求。
    2. lobe-chat 不再发布主机端口(原草稿 3210:3210),仅通过 ai-network 容器网络被 nginx 访问,进一步收敛暴露面。
  • nginx.conf 待确认项server_name 暂用 _ 通配(域名与证书方案见 SDD 8.4 待确认事项,任务 6certs/fullchain.pem / privkey.pem 尚未生成,需任务 6 确认证书方案后补充。
  • 尚未做:实际登录 NAS 部署(依赖新 Gemini/NVIDIA Key 与 Oracle 反代方式确认,任务 1-3, 5, 6

2026-08-23 项目启动:文档入库 + 仓库初始化

  • 决策采用成熟开源组件Nginx + LobeChat + One-API + MySQL容器化搭建不重复造轮子网关对外统一暴露 auto-vision / auto-text 两个聚合模型名。
  • 部署方案(用户 2026-08-23 确认):部署于 NAS 本机Docker Compose由甲骨文服务器129.146.203.203frp/nginx 反向代理端口对外提供访问(与 FAM 项目 frp 方案一致NAS 出站直连各海外 API。
  • 文档docs/01-软件需求文档-SRS.mdV1.0+ docs/02-软件设计文档-SDD.mdV1.0入库README 汇总架构/服务器访问信息/提交规范。
  • 安全Gemini 与 NVIDIA 的旧 API Key 不写入仓库(将申请新值);所有 Key 计划通过服务器 .env 管理(已加入 .gitignore
  • 仓库:本地初始化,推送 Gitea http://192.168.50.64:3000/ericwyuan/NexusAI

任务进度

已完成

# 任务 日期
1 软件需求文档SRS V1.0)入库 2026-08-23
2 软件设计文档SDD V1.0)入库 2026-08-23
3 README架构/服务器信息/提交规范) 2026-08-23
4 仓库初始化 + 推送 Gitea 2026-08-23
5 生成部署骨架docker-compose.yml / nginx.conf / .env.example 2026-08-23

待完成

# 任务 依赖 优先级
1 验证 NAS 到各海外 API 官方域名的直连稳定性 -
2 申请新 Gemini / NVIDIA API Key -
3 确认 Oracle 反代方式frp 隧道 vs nginx 反代) 决策
5 NAS 实际部署 + One-API 渠道配置5 家)+ Failover 验证 Key
6 配置 Oracle 反代端口 → NAS 网关入口 反代方式
7 HTTPS 域名与证书 NAS
8 确认 Server-Side 模式 / 管理端口访问方式 / 监控方案 决策

技术决策记录

  1. 不重复造轮子 - 网关用 One-API、前端用 LobeChat仅做配置层工作前端、网关、各 AI 渠道间均走 OpenAI 兼容接口,任一组件可替换
  2. 模型映射 - 前端只感知 auto-vision(图文)与 auto-text(纯文本)两个聚合模型名,多渠道不同模型映射到统一对外模型名
  3. 优先级路由 - 渠道优先级数字越小越优先,同优先级内按权重轮询分摊负载
  4. 冷却恢复 - 渠道连续失败超阈值5 次/5 分钟进入冷却禁用冷却期10 分钟)后自动恢复参与路由
  5. 最小暴露面 - 对外仅暴露甲骨文服务器反代端口NAS 本机不直接暴露公网One-API 后台与 MySQL 端口仅容器内网可访问
  6. 部署位置 - NAS 本机 Docker ComposeSynology ContainerManager甲骨文服务器 frp/nginx 反代公网端口 → NAS 网关入口NAS 出站直连海外 API