Show HN:Aurora——使用 Go 构建的 AI 网关
Aurora 是一个用 Go 编写、采用 Apache 2.0 许可证的自托管 AI 网关,提供兼容 OpenAI 和 Anthropic 的统一 API,并支持 14 家主流 LLM 提供商。它集成了路由、负载均衡、故障转移、缓存、安全护栏、可观测性与成本控制,让开发者只需更换 base_url 即可接入不同模型服务。
开源项目 Aurora 是一个用 Go 编写的自托管 AI 网关,采用 Apache 2.0 许可证,目标是让开发者通过一套统一的 API 接入多家大型语言模型(LLM)供应商。项目支持 14 种提供商类型,包括 OpenAI、Anthropic、Gemini、Groq、DeepSeek、OpenRouter、xAI、Z.ai、MiniMax、Azure OpenAI、Oracle、Ollama、vLLM 和 Jina,并且同时兼容 OpenAI 与 Anthropic 的 SDK 格式。开发者只需把 base_url 指向本地运行的 Aurora 服务,无需修改 SDK 或请求格式,即可完成供应商切换。
在核心路由能力方面,Aurora 提供了模型自动发现、提供商池、模型别名、模型覆盖、自动故障转移与回退、指数退避重试和熔断器等机制。用户可以把多个 API Key 或端点组成池,按轮询或加权方式负载均衡,并在健康检查失败时自动切换。针对不同区域或环境,还可以将同一提供商拆成多个独立实例,或通过自定义 base URL 接入企业代理和区域端点。网关也支持 /p/{provider}/* 透传路由,让上层应用能够访问完整的上游 API,而不仅限于聊天补全。
缓存与安全方面,Aurora 支持基于 Redis 的精确缓存、向量语义缓存,以及转发给 Anthropic、OpenAI、Gemini 的原生提示缓存。安全功能包括主密钥认证、作用域 API Key、按 Key 限流、PII 脱敏、提示注入拦截、系统提示词保护、正则屏蔽、长度限制,以及通过辅助 LLM 改写消息的护栏。护栏可以在请求进入提供商之前、返回响应之后或两个阶段同时运行,并支持批量请求。
在可观测性与成本控制上,网关提供完整的审计日志、用量分析、Prometheus 指标、内置的 React 管理面板和 pprof 性能剖析端点。成本控制方面包含策略驱动的输出压缩 Token Saver,按模型自定义定价,以及按 Key 的用量预算。开发者可以通过 npm 全局安装 iaurora,也可以用 Docker 或 Helm Chart 部署到 Kubernetes;项目还提供了 Grafana 仪表盘和 Docker Compose 基础设施栈(Redis、PostgreSQL、Qdrant、Prometheus、Grafana)。
总的来说,Aurora 希望成为连接应用与各种 AI 提供商之间的统一层,强调无厂商锁定、原始速度和部署灵活性。无论是个人开发者的本地测试,还是团队在生产环境中的多供应商容灾,它都提供了一套开箱即用的配置和管理工具。项目代码托管在 GitHub 上,并以 Apache 2.0 许可开放。