AI Gateway 是一个用 Go 编写的 AI API 网关功能类似sub2api和new-api。它可以把 OpenAI、Claude、ChatGPT/Codex 等账号或 API Key 统一接入到一个兼容协议入口,并提供账号池、模型路由、失败切换、用量计费、用户管理、套餐、支付、审计、备份恢复等运维能力。

https://github.com/32ns/ai-gateway

首页

用户控制台

生图

安装向导

程序最大特点就是简单,简单到会用鼠标就可以部署运维

假设你电脑上已经有golang和python环境,直接在工程目录下执行 python install/ag_deploy.py 会出现上图的UI,填入ssh服务地址,也就是你购买的服务器,和密码,还有右侧的网站域名点击下方的 install 稍等半分钟全部就搞定了,如果你在程序运行期间想更新程序或者添加新功能也不用担心,只需要修改完你想要的功能后点击"Upgrade"按钮,程序会自动编译并部署,不会影响用户使用,项目偏大,细节还是挺多的,就不一一介绍了,大家下载到源码后让AI来具体分析一下吧

主要功能

  • OpenAI 兼容接口:/v1/chat/completions/v1/responses/v1/embeddings/v1/images/*/v1/audio/* 等。
  • Claude/Anthropic 兼容接口:/v1/messages/api/v1/messages/anthropic/v1/messages
  • 多账号池管理:支持 OpenAI、Claude、API Key、OAuth、Codex 导入、自定义上游地址和代理。
  • 路由与故障切换:按模型前缀选择供应商,自动处理限流、认证失败、上游异常和临时冷却。
  • 运营控制台:用户、客户端 Key、账号组、模型价格、套餐、支付、余额、工单、公告、文档、审计日志。
  • 计费与套餐:按 Token、请求、图片等维度计费,支持余额和套餐额度两类资金来源。
  • 支付集成:内置微信支付、支付宝和 PersonalPay 相关配置入口。
  • 存储后端:默认 SQLite,也支持 PostgreSQL。
  • 备份恢复:支持命令行备份/恢复,也支持管理端热恢复。
  • Linux 部署:内置 systemd 安装、升级、回滚、重启和卸载命令,可配合 Caddy 反向代理。

快速开始

1. 准备配置

复制示例配置:

cp config.example.json config.json

默认监听地址是 127.0.0.1:8088,默认数据库是 data/state.db

建议生产环境至少配置:

  • api_key:初始协议客户端 Key;为空时程序会自动生成并在启动日志中输出。
  • master_key:用于加密持久化凭据、客户端 Key、代理地址和系统密钥。
  • public_base_url:公网访问地址,用于 OAuth、支付回调、站点地图等场景。

2. 启动服务

开发或本地运行:

go run ./cmd/server -config config.json

构建二进制:

go build -o ag ./cmd/server
./ag -config config.json

Windows 下可以使用:

go build -o ag.exe .\cmd\server
.\ag.exe -config config.json

启动后访问:

http://127.0.0.1:8088

首次启动会创建管理员账号:

用户名:root
密码:toor

首次登录后请立即修改默认密码。

配置说明

config.example.json 中包含常用配置:

字段 说明
host / port HTTP 服务监听地址
api_key 初始协议客户端 Key
audit_limit 审计日志保留数量的初始值
gateway_audit 是否记录网关请求审计
max_in_flight 服务最大并发请求数
protocol_request_body_limit 协议请求体大小限制
database_backend sqlite 或 postgres
state_path SQLite 数据库路径
postgres_dsn PostgreSQL DSN,使用 PostgreSQL 时必填
master_key 状态密钥加密用主密钥
public_base_url 公网基础 URL
trusted_proxy_cidrs 可信反向代理 CIDR

PostgreSQL 示例:

{
  "database_backend": "postgres",
  "postgres_dsn": "postgres://user:password@127.0.0.1:5432/ai_gateway?sslmode=disable"
}

API 使用

在管理端创建或查看客户端 Key 后,用标准 Bearer Token 调用网关:

curl http://127.0.0.1:8088/v1/models \
  -H "Authorization: Bearer YOUR_CLIENT_KEY"

OpenAI Chat Completions 示例:

curl http://127.0.0.1:8088/v1/chat/completions \
  -H "Authorization: Bearer YOUR_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "messages": [
      {"role": "user", "content": "Hello"}
    ]
  }'

Claude Messages 示例:

curl http://127.0.0.1:8088/anthropic/v1/messages \
  -H "Authorization: Bearer YOUR_CLIENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 1024,
    "messages": [
      {"role": "user", "content": "Hello"}
    ]
  }'

Linux 服务部署

构建 Linux 二进制后可使用内置安装命令:

go build -o ag ./cmd/server
sudo ./ag install

安装向导默认路径:

项目 默认值
安装目录 /opt/ai-gateway
配置目录 /etc/ai-gateway/config.json
数据目录 /var/lib/ai-gateway
systemd 服务 ai-gateway
内部端口 18088
备用端口 18089

常用服务命令:

sudo ./ag restart
sudo ./ag stop
sudo ./ag upgrade
sudo ./ag rollback
sudo ./ag uninstall

备份与恢复

创建备份:

./ag backup --config config.json --out ai-gateway.agbak

恢复备份:

./ag restore --config config.json --from ai-gateway.agbak

如果备份来源配置了 master_key,恢复到不同环境时需要提供来源密钥:

./ag restore --config config.json --from ai-gateway.agbak --source-master-key OLD_MASTER_KEY

开发

运行测试:

go test ./...

本项目 go.mod 中包含 personalpay/sdk-go 的本地 replace 路径。如果在新机器上构建失败,请确保该本地 SDK 路径存在,或将其替换为可访问的模块来源。

目录结构

cmd/server              程序入口
internal/app            启动、配置、备份恢复、Linux 服务命令
internal/web            Web 控制台、协议入口、静态资源和模板
internal/gateway        网关请求处理、计费、并发控制
internal/controlplane   管理端业务逻辑
internal/providers      OpenAI、Claude 等上游适配器
internal/storage        SQLite/PostgreSQL 存储实现
internal/routing        模型路由策略
internal/failover       账号故障切换
images                  README 截图
Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐