仪表盘

网关运行状态与请求/token 统计

时间段统计

按今天/最近 7 天/最近 30 天/自定义范围

按模型 token 消耗

模型请求数入 token出 token总 token

按服务模型 token 消耗

服务模型请求数入 token出 token总 token

每日 token 趋势

全量累计

自网关启动以来

按服务模型

服务模型请求数输入 token输出 token总 token错误图片

按供应商

供应商请求数输入 token输出 token总 token错误图片

按模型

模型请求数输入 token输出 token总 token错误图片

按难度

难度请求数

模型供应商

配置各家的 API 密钥与默认模型。所有供应商均使用 OpenAI 兼容协议。

添加新供应商

路由规则

路由判定优先级(从上到下,命中即返回)
① 服务模型别名 default ② 服务模型内部规则 供应商/模型 直连 ④ 全局路由规则 ← 本页 ⑤ 兜底 default
客户端只要指定了服务模型名(如 default),就只在该服务模型内部分流,本页的全局规则不会生效。本页规则只对「未命中任何服务模型」的请求起兜底作用。规则按优先级降序匹配,首个匹配生效;条件支持 hasImage / difficulty / regex / minTokens / maxTokens

添加规则

服务模型

面向客户端的对外模型名(如 default)。两个协议(Responses / Anthropic)各自独立配置,互不干扰。
每个服务模型可配置内部路由规则:图片→视觉模型、简单→快模型、兜底→主力模型。

路由判定优先级(从上到下,命中即返回)
① 服务模型别名 default ← 本页 ② 服务模型内部规则(按优先级) ③ 服务模型兜底 default 供应商/模型 直连 ⑤ 全局路由规则
客户端指定服务模型名(如 default)后,只在上方「内部路由」里分流——按优先级从高到低找首个匹配的条件,都不中则走「兜底目标」。「路由规则」页的全局规则在此情况下不参与判定。可在「路由测试」页验证实际命中路径。
协议模块:

新建服务模型

模型列表

以下模型可在 Claude Code 的 /model 中选择(需启用 CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1)。

ID类型协议供应商实际模型

路由测试

模拟一个请求,查看会被路由到哪个模型(不实际调用上游)。

请求日志

最近请求记录(含 token 用量)

时间协议服务模型原因目标难度图片入 token出 token耗时状态

访问上下文

完整请求上下文存档(请求体/路由/响应摘要/token)。保留最近 2000 条 / 30 天,自动滚动清理。

时间协议服务模型路由目标难度图片入 token出 token耗时状态预览/错误操作

API Keys

生成访问密钥用于 Claude Code / Codex / 客户端。创建任意 Key 后,推理接口即要求鉴权。

生成新 Key

已有 Keys

Key名称允许模型有效期调用数最后使用状态操作

难度分类器

使用本地轻量 LLM(经 Ollama)判断任务难度,比启发式更精准。推荐 qwen2.5:3b(RTX 3060 约 200 tok/s)。

分类器配置

难度关键词与提示词

自定义启发式关键词(每行一个)和本地分类器提示词。留空使用默认值。提示词中 {SAMPLE} 会被替换为用户消息。

为 hard
为 medium

测试分类器

推荐模型(RTX 3060 12GB)

模型大小速度准确率适用
qwen2.5:3b1.9 GB~200 tok/s★★★★★推荐,质量最佳
qwen2.5:1.5b986 MB~270 tok/s★★★★速度与质量均衡
llama3.2:1b1.3 GB~300 tok/s★★★★Meta 小模型
qwen2.5:0.5b398 MB~330 tok/s★★★最快,极简分类

安装: ollama pull qwen2.5:3b

全局设置

配置跨协议的全局行为:安全分类器模型映射、上游降级链顺序。

两个协议各自独立:安全分类器模型映射、上游降级链顺序。互不干扰。

账户设置

修改管理控制台的访问凭证

修改 Admin Token

当前 token: -。修改后需用新 token 重新登录。

接入指南

把 Claude Code 和 Codex CLI 指向本网关。本页端口/别名均根据当前配置动态生成。

本网关地址: - 协议: HTTPS (自签证书)

① 准备 API Key

客户端需要一把本网关签发的 API Key(形如 sk-gw-...)。到「API Keys」页面点「生成新 Key」创建一把,复制保存——关闭后无法再查看完整 Key。

② Claude Code 接入

推荐写入配置文件 ~/.claude/settings.json 永久生效(无需每次 export):

{
  "env": {
    "ANTHROPIC_BASE_URL": "https://你的IP:端口",
    "ANTHROPIC_AUTH_TOKEN": "sk-gw-你的key",
    "ANTHROPIC_MODEL": "default",
    "NODE_TLS_REJECT_UNAUTHORIZED": "0"
  },
  "model": "default"
}

说明:用 ANTHROPIC_AUTH_TOKEN 而非 ANTHROPIC_API_KEY(走 Bearer 头)。自签证书必须设 NODE_TLS_REJECT_UNAUTHORIZED=0。启动后在 Claude Code 内输入 /model 可实时切换到任意别名。

改用环境变量(临时)
export ANTHROPIC_BASE_URL="https://你的IP:端口"
export ANTHROPIC_AUTH_TOKEN="sk-gw-你的key"
export NODE_TLS_REJECT_UNAUTHORIZED=0
claude

③ Codex CLI 接入

写入 ~/.codex/config.toml:

model = "default"
model_provider = "gateway"

[model_providers.gateway]
name = "Model Gateway"
base_url = "https://你的IP:端口/v1"
wire_api = "responses"
env_key = "CODEX_API_KEY"
export CODEX_API_KEY="sk-gw-你的key"
# 自签证书:任选其一
export NODE_TLS_REJECT_UNAUTHORIZED=0      # 简单粗暴
# 或: export SSL_CERT_FILE=/path/to/your-cert.pem
codex

可用模型别名

以下别名均可在两个客户端的 model 字段中使用,也可直接指定 供应商/模型名 直连(如 kimi/kimi-k3):

别名内部分流规则在「服务模型」页配置。例如 default 可按难度/图片/正则自动切换到不同上游模型。

多模态 / 图片处理原理

① 检测:网关扫描请求最后一条 user 消息是否含图片块(支持 Anthropic image / OpenAI image_url / Responses input_image,以及 tool_result 内嵌图片——claude code 读图场景)。

② 命中视觉路由:当前轮含图 → 路由到视觉模型(如 glm-5v-turbo / glm-4.5v)。同时异步调用视觉模型为每张图生成结合对话上下文的详细文字描述(逐字转录文字/数值/UI),按图片 SHA256 缓存。

③ 后续纯文本轮:历史图片块自动替换为 [历史图片 hash]\n图片内容描述:... 文本块,路由回文字模型——避免纯文本模型因收到图片而报错,也避免一直走昂贵的视觉模型。

④ 缓存:同一张图只描述一次(LRU 200 张),重复发送直接命中缓存。

支持的协议端点

路径协议客户端
/v1/messagesAnthropic MessagesClaude Code
/v1/responsesOpenAI ResponsesCodex CLI
/v1/chat/completionsOpenAI Chat通用 / 测试
/v1/models模型列表客户端发现

常见问题

证书报错 SSL/TLS?

本网关用自签证书。Claude Code 设 NODE_TLS_REJECT_UNAUTHORIZED=0;Codex 同样设该变量或 SSL_CERT_FILE 指向证书。

报 401 未授权?

检查 API Key 是否正确(sk-gw- 开头)、是否被禁用。Claude Code 用 ANTHROPIC_AUTH_TOKEN 不是 ANTHROPIC_API_KEY

图片没走视觉模型?

网关只看最后一条 user 消息是否含图。历史图片已在之前轮次处理过,不会再触发视觉路由。检查「服务模型」里该别名的路由规则 hasImage 条件。

多模型网关

请输入管理凭证 (adminToken) 进入控制台
配置于 data/config.json 的 server.adminToken