01概览
Omnigate 是基于开源项目 new-api 的二次开发。上游提供多协议适配、用量统计、计费和用户管理等核心能力;我完成了品牌定制、默认配置整理,以及面向单机环境的生产部署与运维方案。
02问题
自托管模型网关不只有应用代码。HTTPS、流式代理、数据库、缓存、密钥模板、备份和可重复执行的部署流程都需要一起处理。
03方案
部署方案通过 Docker Compose 从源码构建应用,并配套运行 Caddy、PostgreSQL 和 Redis。Caddy 负责 HTTPS,同时关闭响应缓冲以保证流式输出。仓库还提供环境变量模板、带保留期清理的数据库备份脚本和实际部署记录。
04成果
服务已运行在 omnigate.cc。客户端只需配置一个 Base URL 和系统签发的令牌,就能通过兼容 OpenAI 格式的工具调用不同模型;部署配置也记录了服务的配置、备份与更新方式。
05收获
这次二次开发让我完整走过了一套成熟开源系统的落地过程。我学会了先读清 Go 与 TypeScript 代码里的边界,再把自己的修改控制在可维护的范围内;也更具体地理解了流式响应为什么会被反向代理缓冲,以及 HTTPS、PostgreSQL、Redis、数据库备份和升级流程在生产环境里怎样配合。处理许可证与上游归属时,我也学会了明确区分上游能力和自己的工作。
06亮点
- 从源码构建的 Docker Compose 部署,包含 Caddy、PostgreSQL 与 Redis
- 自动配置 HTTPS,并为流式输出关闭响应缓冲
- 数据库备份脚本支持按保留期自动清理
- 项目文档明确区分上游能力与本仓库的定制工作
下一个项目
更多项目
