Any Gateway

3天前发布 1 00

Any Gateway是一个自托管的 AI API 网关,可将请求代理到多个后端提供商(OpenAI、Anthropic、Gemini),并具备用户管理、配额控制和审计日志功能。

所在地:
中国
收录时间:
2026-03-09
Any GatewayAny Gateway

Any Gateway 是一款专为现代企业设计的自托管 AI API 网关。它不仅能将请求智能代理到 OpenAI、Anthropic、Gemini 等多个后端提供商,还内置了强大的用户管理细粒度配额控制以及压缩审计日志功能。

Any Gateway

通过 Any Gateway,团队可以隐藏真实的后端密钥,统一对外提供兼容 OpenAI 标准的接口,让 AI 应用的接入变得前所未有的简单与安全。

核心特性:安全、可控、可追溯

1. 多层级认证体系

Any Gateway 设计了严密的三层认证架构,确保从登录到调用的每一步都安全可控:

认证层方法适用范围
用户登录LDAP 简单绑定 / 备用密钥签发 24 小时有效 JWT
管理员 APIJWT Bearer 或 x-admin-key 标头/admin/* 管理端点
AI API 调用x-api-key: sk-* 或 Authorization: Bearer sk-*/v1/* 推理端点

2. 精细化的角色权限

  • user:普通用户,仅能管理自己的 API 令牌 (/user/tokens/*)。
  • admin:管理员,拥有所有管理功能 (/admin/*),可配置通道和用户组。
  • superadmin:超级管理员,拥有 admin 的所有权限, additionally 可进行用户角色管理,并无限制访问所有通道(绕过组路由限制)。

3. 智能路由策略

不再需要硬编码模型名称,Any Gateway 提供灵活的路由机制:

  1. 组优先级:解析用户所属组,按 priority 降序排序。
  2. 加权随机:在支持请求模型的最高优先级组内,通过加权算法随机选择后端通道,实现负载均衡。
  3. 模型别名映射:支持每个通道独立的 model_mapping(例如:将客户端请求的 gpt-4o 自动映射为后端的 claude-opus-4-5),实现无缝切换模型提供商。
  4. 特权绕过:Superadmin 和 _admin_fallback 可直接访问所有已启用通道,不受组限制。

审计与合规:全量记录,压缩存储

对于企业应用,审计日志至关重要。Any Gateway 采用了高性能的异步记录方案:

  • 全量记录:异步捕获所有请求/响应对。
  • 存储格式:采用 Brotli 压缩的 JSONL 格式,大幅节省存储空间。
  • 文件组织:按 data/sessions/{YYYY_MM_DD}/{token_id}.jsonl.br 结构存储,每个令牌每天一个文件。
  • 高并发写入:内置包含 3 个消费者的 asyncio 队列处理并发写入,彻底避免文件锁定争用,确保高负载下日志不丢失、不阻塞主线程。

🚀 快速开始:5 分钟部署

前置条件

  • Python 3.11+
  • Node.js 18+ (用于前端构建)
  • LDAP/AD 服务器 (本地开发可使用模拟服务器)

方案 A:Docker 一键部署 (推荐)

使用 Docker Compose (含模拟 LDAP):

docker-compose up

仅运行网关容器:

docker build -t any_gateway .
docker run -p 8003:8003 \
  -e ADMIN_KEY=your-secure-admin-key \
  -e JWT_SECRET=your-random-jwt-secret \
  -e ADMIN_FALLBACK_KEY=your-emergency-password \
  -v $(pwd)/data:/app/data \
  any_gateway

访问 http://localhost:8003 即可打开管理仪表板。

方案 B:源码运行

1. 安装依赖

pip install -r requirements.txt

2. 配置环境变量

cp .env.example .env
# 编辑 .env 文件,填入必要的密钥和 LDAP 信息

必需变量:ADMIN_KEYJWT_SECRETADMIN_FALLBACK_KEYSUPERADMIN_USERNAME

3. 启动服务

# 启动网关 + 前端
python any_gateway/main.py

# 或仅启动网关后端 (开发模式)
uvicorn any_gateway.gateway:app --host 0.0.0.0 --port 8003 --reload

前端开发

项目前端基于 React 19 + TypeScript + Vite 构建:

cd apps/react
npm install
npm run dev   # 启动开发服务器,自动代理到 :8003
npm run build # 生产构建,输出将由网关直接服务

🔌 API 参考概览

Any Gateway 提供了一套 RESTful API,完美兼容主流生态:

  • 健康检查GET /health
  • AI 推理 (OpenAI 兼容):
    • POST /v1/chat/completions
    • POST /v1/messages (原生支持 Anthropic 协议)
    • GET /v1/models
  • 认证:
    • POST /auth/login (LDAP 登录换取 JWT)
    • GET /auth/me (获取当前用户信息)
  • 用户自助:
    • GET/POST/DELETE /user/tokens (管理个人 API Key)
  • 管理员控制台:
    • /admin/channels/admin/groups/admin/users/admin/tokens (全功能 CRUD)
    • /admin/users/{username}/role (仅限 Superadmin 调整角色)

🛠️ 技术栈揭秘

Any Gateway 采用了现代化、高性能的技术栈构建:

组件技术选型
后端框架FastAPI (Python)
数据库 ORMSQLModel + FastCRUD
数据库SQLite (默认,轻量) / PostgreSQL (生产推荐)
认证模块ldap3 (LDAP集成), python-jose (JWT)
审计日志Brotli 压缩 + Asyncio 队列
HTTP 客户端httpx (异步高性能)
前端框架React 19 + TypeScript + Vite
状态管理Zustand (轻量高效)
网络请求Axios

数据统计

相关导航

ZenMux

ZenMux

ZenMux 是全球首个企业级模型聚合平台,提供 AI 模型保险服务。我们不仅为开发者提供统一的 API 来访问全球领先的大型语言模型,还通过智能路由算法自动选择最佳模型,并提供保险支持的 AI 输出质量保障(即将推出),全面解决企业对 AI 幻觉和输出不稳定的担忧。通过 ZenMux,开发者可以通过单一接口调用来自 OpenAI、Anthropic、Google 和 DeepSeek 等提供商的模型,同时受益于智能路由、故障转移以及保险支持的质量保障服务。

暂无评论

none
暂无评论...