如何在 Antigravity Manager 中嵌入 NestJS/Fastify 构建本地 AI 代理网关 如何在 Antigravity Manager 中嵌入 NestJS/Fastify 构建本地 AI 代理网关【免费下载链接】AntigravityManagerAntigravity Manager is a powerful Electron-based application designed to manage accounts and processes for the Antigravity application. It provides a seamless interface for switching accounts, backing up progress, and controlling the application lifecycle.项目地址: https://gitcode.com/gh_mirrors/an/AntigravityManagerAntigravity Manager 是一款基于 Electron 的 Antigravity 应用账号与进程管理工具其内置了一个由 NestJS Fastify 打造的本地 AI 代理网关把多账号池封装成兼容 OpenAI、Anthropic、Gemini 协议的标准接口让你的 AI 代理Agent像调用官方 API 一样调用 Gemini / Claude 模型并自动完成账号租约、限流重试与协议转换。一、这个网关能帮你做什么 很多人只把 Antigravity Manager 当作账号切换工具但它其实内置了一个完整的 AI 代理网关多协议兼容同一端口同时提供 OpenAI Chat / Responses、Anthropic Messages、Gemini 原生接口多账号智能调度按租约Account Lease机制自动选账号、刷新令牌、限额追踪与故障切换流式与 WebSocket原生支持 SSE 流式响应和 OpenAI Responses 双向 WebSocket可观测性流量审计、4xx 诊断捕获、思考内容Thought Store落盘便于排查 Agent 问题。二、为什么选择 NestJS Fastify对新手来说理解技术选型比看代码更容易抓住本质框架在网关中的角色Fastify高性能 HTTP 运行时负责路由解析、请求体限制如图片生成接口的独立大小上限、multipart文件上传解析NestJS依赖注入 模块化架构用 Module / Controller / Service / Guard 划分协议边界保证 OpenAI、Anthropic、Gemini 三套协议互不干扰网关的启动入口在 src/server/main.tsbootstrapNestServer()用FastifyAdapter创建 NestJS 应用注册fastify/multipart与媒体类型原始解析器然后监听端口——默认8045。若配置了 API Key服务会绑定0.0.0.0并开启 CORS供局域网内其他设备接入未配置时只监听127.0.0.1更安全。三、网关是如何嵌入 Electron 应用的Antigravity Manager 没有把网关拆成独立后端而是内嵌在 Electron 主进程中随应用启动配置驱动读取用户配置中的代理设置端口、API Key、超时等见 src/server/server-config.ts生命周期统一管理gateway-lifecycle.service.ts 串行化启动/停止操作避免端口竞争首次点击启动服务还会要求确认代理使用风险优雅关闭stopNestServer()关闭 HTTP 服务器后会先关闭流量审计与思考存储的 SQLite Worker再释放端口。四、核心架构模块化 AI 代理网关 整个网关的核心是 proxy.module.ts 这个根组合模块它按协议拆分为独立子模块proxy-gateway/server/ ├─ modules/openai/ # OpenAI 协议Chat、Responses、图像、音频 ├─ modules/anthropic/ # Anthropic Messages 协议 ├─ modules/gemini/ # Gemini 原生 REST/SSE ├─ modules/account-lease/ # 账号租约与调度限流、配额、粘性会话 └─ shared/services/ # 跨协议单例重试、限流跟踪、模型路由几个对理解架构很关键的设计门面模式外部只依赖 proxy.service.ts具体协议处理委托给对应子服务签名稳定、解耦清晰策略模式账号租约的候选筛选、配额快照、限流冷却等逻辑拆成policies/下的纯策略文件可单独测试全局拦截器APP_INTERCEPTOR挂载流量审计与上游 4xx 捕获上下文实现无侵入诊断。完整的模块职责表可以阅读官方文档 src/modules/proxy-gateway/server/README.md。五、三步把 AI 代理接入网关最快配置方法⚡打开 API Proxy 页面并启动服务首次启动需确认风险提示然后点击启动网关会监听http://localhost:8045生成 API Key在设置页一键生成/重置 KeyAgent 侧以Authorization: Bearer key携带也可不配置仅限本机访问指向网关把你的 AI 代理 / SDK 的base_url改为http://localhost:8045模型名可用设置中的模型别名映射如 Claude 模型名自动路由到 Gemini无需改动业务代码。 提示想要局域网或服务器上的 Agent 也能调用只需配置 API Key服务会自动绑定0.0.0.0。六、开发者扩展指南如何贡献与二次开发 ️如果你想深入了解或参与网关开发克隆仓库git clone https://gitcode.com/gh_mirrors/an/AntigravityManager安装依赖npm install参考 docs/development.md 启动开发环境修改网关代码后按 docs/testing.md 的验证清单依次执行npm run type-check、npm run test、npm run lint遵循 src/modules/proxy-gateway/AGENTS.md 中的架构守则协议逻辑必须隔离在各自的modules/protocol中认证、限流、配额策略必须在执行路径上强制生效常见问题 FAQ端口被占用了怎么办启动失败会返回address-in-use原因见 gateway-start.test.ts 覆盖的场景在设置页更换端口重启即可。网关重启会丢失会话吗Responses 会话、已存储的 Chat 补全、批量任务等持久状态存放在~/.antigravity-agent/proxy-state/重启后可恢复详见 durable-record-store.ts。流式响应支持哪些OpenAI Chat / Responses 均支持 SSE 流式Gemini 支持原生 SSE 透传OpenAI Responses 还提供双向 WebSocket 通道。总结Antigravity Manager 展示了如何把NestJS 的模块化架构与Fastify 的高性能 HTTP 能力优雅地嵌入 Electron 应用零额外部署地获得一个生产级本地 AI 代理网关多协议兼容、多账号调度、可观测性一应俱全。无论你是想快速给 Agent 换个模型后端还是学习 NestJS/Fastify 的真实工程实践它都是一个值得研究的范例。【免费下载链接】AntigravityManagerAntigravity Manager is a powerful Electron-based application designed to manage accounts and processes for the Antigravity application. It provides a seamless interface for switching accounts, backing up progress, and controlling the application lifecycle.项目地址: https://gitcode.com/gh_mirrors/an/AntigravityManager创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考