API 网关
什么是 API 网关?
AQBot 内置了一个本地 API 网关服务器,可以将你在 AQBot 中配置的 AI 服务商统一暴露为标准 API 接口。其他工具和客户端(如 Claude Code、Codex CLI、Cursor 等)可以通过这个网关访问你的所有模型,无需为每个工具分别配置 API 密钥。
网关支持以下兼容格式:
- OpenAI 兼容 —
/v1/chat/completions - Claude 原生 — Anthropic API 格式
- Gemini 原生 — Google AI API 格式
使用场景
如果你已经在 AQBot 中配置了多个服务商和密钥,API 网关可以让其他开发工具直接复用这些配置,省去重复配置的麻烦。同时,网关提供统一的用量统计和访问控制。
快速上手
启用网关
- 进入 设置 → API 网关
- 开启网关开关
- 配置监听参数:
- 端口 — 网关监听的端口号,默认
39876 - 主机 — 监听地址,默认
127.0.0.1(仅本机访问)
- 端口 — 网关监听的端口号,默认
网络安全
如果将主机设置为 0.0.0.0,网关将对所有网络接口开放。请确保你了解其安全风险,并配合 API 密钥和防火墙使用。
测试连通性
网关启动后,可以用 curl 快速验证:
curl http://127.0.0.1:39876/v1/models \
-H "Authorization: Bearer your-gateway-api-key"如果返回了模型列表,说明网关运行正常。
API 密钥管理
网关使用独立的 API 密钥体系来控制访问权限。
生成新密钥
- 在 API 网关 页面中找到 密钥管理 区域
- 点击 生成密钥
- 为密钥添加描述备注(如 "Claude Code 专用"、"团队共享")
- 复制并妥善保存生成的密钥
密钥安全
密钥仅在创建时完整显示一次。请立即复制保存,之后只能看到密钥前缀。
撤销 / 停用密钥
- 停用 — 暂时禁用密钥,可随时重新启用
- 删除 — 永久撤销密钥,使用该密钥的所有客户端将立即失去访问权限
描述备注
为每个密钥添加描述可以帮助你管理多个客户端的访问。例如区分不同工具或团队成员使用的密钥。
程序策略
通过程序策略,你可以对连接到网关的不同程序设置精细的访问控制。
模型白名单
为每个程序指定允许使用的服务商和模型。未在白名单中的模型将被拒绝访问。
默认模型
为程序指定默认的服务商和模型。当客户端请求不指定模型时,使用此默认配置。
速率限制
为每个程序设置每分钟的最大请求次数。超过限制的请求将返回 429 状态码。
| 配置项 | 说明 |
|---|---|
| 程序名称 | 连接程序的标识名称 |
| 允许的服务商 | 该程序可以使用哪些服务商 |
| 允许的模型 | 该程序可以使用哪些模型 |
| 默认服务商/模型 | 未指定时使用的默认值 |
| 速率限制 | 每分钟最大请求数 |
SSL/TLS
网关支持 HTTPS 加密通信,部分工具(如 Claude Code)要求使用 HTTPS 连接。
自动自签名证书
启用 SSL 后,AQBot 会自动生成自签名证书,无需手动操作。证书文件存储在:
~/.aqbot/ssl/
├── cert.pem # 自签名证书
└── key.pem # 私钥(Unix 系统权限 0600)自定义证书
如果你有自己的 SSL 证书(如 Let's Encrypt 签发的证书),可以在网关设置中指定证书和私钥的路径。
配置选项
| 选项 | 说明 |
|---|---|
| 启用 SSL | 是否开启 HTTPS |
| SSL 端口 | HTTPS 监听端口 |
| 证书路径 | cert.pem 文件路径 |
| 私钥路径 | key.pem 文件路径 |
| 强制 SSL | 是否将所有 HTTP 请求重定向到 HTTPS |
自签名证书信任
使用自签名证书时,客户端可能会报告证书不受信任的警告。大部分 CLI 工具可以通过设置环境变量来跳过证书验证(见下方配置模板)。
用量统计
网关提供详细的用量统计面板,帮助你了解 API 的使用情况。
请求量面板
实时显示网关处理的请求总量、成功率和错误率。
Token 用量
按不同维度查看 Token 消耗:
- 按密钥 — 每个 API 密钥使用了多少 Token
- 按服务商 — 每个后端服务商处理了多少请求和 Token
- 按日期 — 每日的 Token 使用趋势
TIP
通过用量统计,你可以了解哪个工具消耗最多资源,合理分配 API 配额。
请求日志
网关记录所有经过它的 API 请求,方便调试和审计。
每条日志包含以下信息:
| 字段 | 说明 |
|---|---|
| 时间 | 请求的时间戳 |
| 方法 | HTTP 方法(GET、POST 等) |
| 路径 | 请求路径 |
| 模型 | 请求使用的模型 |
| 服务商 | 转发到的后端服务商 |
| 状态码 | HTTP 响应状态码 |
| Token | 输入/输出 Token 数量 |
| 延迟 | 请求处理耗时 |
支持按时间范围、状态码、模型等条件过滤日志。
配置模板
AQBot 内置了常见开发工具的配置模板,帮助你快速接入。以下是一些常用工具的配置方式:
Claude Code CLI
export ANTHROPIC_BASE_URL=https://127.0.0.1:39877
export ANTHROPIC_API_KEY=your-gateway-api-key
export NODE_TLS_REJECT_UNAUTHORIZED=0
claudeTIP
NODE_TLS_REJECT_UNAUTHORIZED=0 用于跳过自签名证书验证。如果你使用了受信任的证书,可以移除此设置。
OpenAI Codex CLI
export OPENAI_BASE_URL=http://127.0.0.1:39876/v1
export OPENAI_API_KEY=your-gateway-api-key
codexOpenCode
export OPENAI_BASE_URL=http://127.0.0.1:39876/v1
export OPENAI_API_KEY=your-gateway-api-key
opencodeGemini CLI
export GEMINI_API_KEY=your-gateway-api-key
export GEMINI_BASE_URL=http://127.0.0.1:39876
gemini自定义客户端
对于任何支持 OpenAI 兼容 API 的客户端,使用以下配置:
- Base URL:
http://127.0.0.1:39876/v1 - API Key: 你的网关 API 密钥
- 模型: 通过
/v1/models接口查询可用模型
接入外部工具
除 CLI 工具外,许多图形化工具也支持自定义 API 端点。通用配置方式:
- 在工具的设置中找到 API 配置或自定义端点选项
- 将 Base URL 设置为 AQBot 网关地址
- 将 API Key 设置为网关密钥
- 保存后即可使用 AQBot 配置的所有模型
统一管理的优势
通过 API 网关统一管理,你可以:
- 在 AQBot 中集中管理所有服务商密钥,其他工具只需一个网关密钥
- 通过程序策略控制每个工具可以访问的模型
- 在用量统计中查看所有工具的使用情况
- 利用多密钥轮询提高可靠性
