把模型接入,把用量管好。
Python 本地 AI 网关。管理员配置渠道、模型和用户额度;用户使用自己的随机密钥调用统一 API。
密钥仅保留在本页内存,刷新或退出后清除。不读取已有 Copilot 登录状态。首次登录:更新密码
设置至少 8 个字符的新密码并再次确认。完成前不能使用控制台。
首页
我的 API 密钥
Key1 / Key2 均为 24 位随机字符,默认显示 *****。只有点击显示才读取完整值;刷新后仍隐藏,两把 Key 共用用户额度。
统一调用入口
使用个人 API Key + 模型别名。更换上游渠道时,客户端配置不需要跟着变化。
OpenAI SDK 快速示例
从接入到调用
渠道保存上游连接与凭据 → 模型别名绑定渠道 → 用户获得额度与模型权限 → API 密钥用于调用。
配额与计量
多语言测试
只生成代码,不自动调用模型渠道协议矩阵
| 上游类型 | API 端点 | 调用模式 |
|---|---|---|
| Azure / OpenAI | Chat Completions, Responses, Images, GET /models | 文字 JSON/SSE;图片 JSON |
| Anthropic | Chat Completions, Messages, GET /models | JSON / SSE |
| Copilot SDK | Chat Completions, Responses, GET /models | 单轮 JSON / SSE、软配额、无输出上限 |
| MOCK | Chat Completions, GET /models | 模拟 JSON / SSE,无真实上游 |
矩阵表示网关适配能力;具体模型还受上游部署、权限和功能限制。GET /models 只列出当前用户可用别名,不运行推理。
多渠道验收步骤
- 准备各群组测试用户与小额配额;逐渠道使用专用别名,先运行 GET /models 核对权限。
- 选择渠道、协议和多个别名,依次运行 Python、cURL、.NET、Rust 的 JSON 请求,保存 x-request-id。
- 对支持的文字协议重复 SSE 测试,确认增量与正常终止。Copilot 支持 SSE,但不能发送输出上限;图片暂不支持 SSE。
- 用请求 ID 核对用量:模型、实际渠道、用户和 Key 扣额一致,预留归零,usage 缺失或断流应标记待核对。
- 用独立测试用户覆盖错误 Key、跨组、未授权模型和额度不足;确认没有上游推理及错误扣额,不修改生产用户。
帮助与设置指南
阅读或跳转设置不会自动调用模型先连接上游渠道,再绑定模型别名,最后给用户授权并签发 API 密钥。用户不是直接绑定渠道,而是通过路由分组与模型权限获得访问。
先分清三种凭据
管理员密码:只用于管理控制台,不能代替用户 Key 调用模型。
上游凭据:填写在“渠道”中,连接 Azure/OpenAI/Anthropic/Copilot;不要交给终端用户。
用户 API Key:在“API 密钥”中签发,供应用或 Playground 使用;只显示一次,不要提交到代码库。
给应用的统一接口
客户端使用此 /v1 地址、用户 API Key 和对外模型别名,不使用上游地址或 Azure 部署名。当前地址会根据你访问的控制台自动显示。
拿到 Key 的用户可在登录页选择“用户”,查看自己的额度和记录;Playground 自动使用当前用户 Key。管理员在 Playground 中须另填用户 Key。
管理员设置流程
创建上游渠道
打开“渠道”→ 新建渠道,选择类型、填写上游地址与凭据,并启用渠道。示例路由分组使用 team-a;它是网关分组,不是 Azure 资源组。
上游类型 基础 URL 注意事项 Azure OpenAI https://<your-resource>.openai.azure.com填资源根地址;路由中填写实际 Azure 模型部署名。 OpenAI-compatible https://<your-provider>/v1填完整 API 根路径,通常包含 /v1,不要填具体推理端点。 Anthropic-compatible https://<your-provider>/v1使用 Anthropic 上游 Key;调用时选择 Messages 或兼容 Chat。 GitHub Copilot SDK 无需填写 URL 使用有 Copilot 权限的 GitHub Token。保存后加载并同步授权模型,使用 copilot 分组与 ghc/ 开头的实际导入别名;名称不含渠道编号,相同模型可共享多渠道路由。 定义别名并保存路由
在“模型与路由”定义对外名称,例如 team-chat。然后选择这个别名和刚创建的渠道,填写实际上游模型 / Azure 部署名,保存路由。只创建别名、不绑定路由,仍无法调用。
图片需要真正支持图片的 Azure/OpenAI 模型,可单独定义 image-model;文字模型不会自动获得图片能力。图片预算是每张图的软预留,不是硬性输出上限。
创建用户并授予模型权限
在“用户”创建 alice,设置 Token 总额度。路由分组填 team-a,与目标渠道一致;允许模型填 team-chat。用户只有一个分组,渠道可有多个;同组不代表自动获得所有模型权限。
选择用户并签发 API Key
在“API 密钥”先选择 alice,展开“分配 API Key”,设置名称、可选额度与过期时间。模型限制填 * 表示不额外缩小用户权限,不是授予所有模型。复制一次性 Key,安全交给应用使用。
实际权限 = 用户允许模型 ∩ Key 允许模型 ∩ 用户分组内可用路由。用户与 Key 的可用额度都必须足够;密钥额度不能增加用户余额。
先检查模型,再运行 Playground
先调用 GET /v1/models 查看此 Key 可用的别名,不产生推理费用。再到 Playground 选择文字或图片,填写获授权别名。真实推理会消耗额度;Copilot 请清空输出 Token 上限,图片暂不支持 SSE。
新建 APIM Key 可能有短暂传播延迟。遇到 401 时先检查 Key 类型与状态,稍后仅重试 GET /models,不自动重试付费推理。
核对用量与错误
在“用量记录”按请求 ID 核对模型、最终渠道、用户与 Key 扣额;预留应在请求结束后释放。缺 usage 或超时可能按预留保守扣额并标记待核对,不表示免费。预留前拒绝可能没有推理请求 ID,可查看错误日志。
常见问题
401 / 403:密钥或模型权限错误
确认使用的是用户 Key,而非管理员密码或上游 Key;检查是否撤销、过期或用户被禁用。403 model_forbidden 通常表示别名不在用户与 Key 权限交集中。
模型不可用 / no_channel
检查模型是否保存了路由,渠道是否启用且有凭据,用户分组是否包含在渠道分组中。Azure 路由必须使用实际部署名,而不是展示名称。
额度不足 / 待核对
同时检查用户和 Key 的剩余额度及处理中预留。图片和 Copilot 为软预算;真实用量可能超过预留。只有取得上游账单依据后,管理员才能核对不确定用量。
推理用量分析
Token 配额统计,不是金额账单上游回报、保守扣额、人工核对与 MOCK 分开统计。成功率为已确认成功 / 已结束请求;处理中不计入分母。只统计进入额度预留的推理请求,提前拒绝见错误日志。
Token 消耗趋势
请求数趋势
查看趋势数据
点击分组名称下钻筛选。排名之外的分组合并为“其他”,仍计入完整总量。时间趋势按 UTC 聚合;历史未记录的模式和端点不会推测补填。
错误日志
持久化保留,不随重启清除保留错误码、安全错误描述、请求关联与上游状态。管理员可看例外类型及堆栈位置;不保留密码、密钥、提示词、模型回复或上游原始错误正文。
用户
用户是额度与模型权限的归属者。先创建用户,再为其分配 API 密钥;密钥不能扩大用户权限。
用户设置
API 密钥
密钥只在创建时显示一次先选择所属用户。这里的密钥交给应用调用,不是管理员密码,也不是渠道的上游凭据。
渠道
渠道保存上游地址、凭据与可用分组。保存渠道后,到“模型与路由”绑定对外别名;Copilot 可直接加载授权模型。
配置渠道
模型与路由
应用只使用对外模型别名。路由将别名映射到渠道和上游模型 / Azure 部署;同一别名可绑定多个渠道。
定义模型别名
绑定模型 → 渠道
用量记录
不记录提示词、模型回复或密钥正文最近管理审计
Playground
请求通过同一鉴权、配额与计量链路已发送内容
请求详情(不含密钥)
仅保留最近一次发送的快照;修改表单不会改变它。文件仅显示名称、类型与字节数。刷新或退出后清除。
模型回复
已发送内容
请求详情(不含密钥)
仅保留最近一次发送的快照;修改表单不会改变它。文件仅显示名称、类型与字节数。刷新或退出后清除。
生成结果
图片不写入网关数据库。Base64 结果在本页预览;外部图片链接仅在点击后打开。