正在加载工作区数据…
{{pageMeta.title}}
{{pageMeta.desc}}
账号健康
{{readyCount}}/{{accounts.length}}
累计请求
{{fmt(totals.requests)}}
Token 总量
{{fmt(totals.total_tokens)}}
缓存命中率
{{Number(totals.cache_hit_rate||0)}}%
平均延迟
{{fmtLatency(totals.avg_latency_ms)}}
最近调用
最新 10 条协议请求
| 时间 | 模型 / 协议 | 账号 | Token | 延迟 | 状态 |
|---|---|---|---|---|---|
| {{timeOnly(r.time)}} | {{r.model||'-'}}{{r.protocol||'-'}} {{r.stream?'stream':'json'}} | {{r.account_label||'-'}} | {{fmt(r.total_tokens)}} | {{fmtLatency(r.latency_ms)}} | {{r.status||'-'}} |
还没有调用记录
发起第一次 API 请求后将在此展示
账号健康
可用{{readyCount}}
已禁用{{disabledCount}}
异常 · 过期{{badCount}}
总数{{accounts.length}}
运行信息
Upstream
{{status.upstream||'-'}}
凭证目录
{{credsDir||'-'}}
API Keys
{{keys.length}}
模型数
{{modelCards.length}}
平均延迟
{{fmtLatency(totals.avg_latency_ms)}}
缓存命中率
{{Number(totals.cache_hit_rate||0)}}%
| 账号 | 状态 | 额度剩余 | 用户 | 到期 | 请求 | Token | 缓存 | 命中率 | 操作 |
|---|---|---|---|---|---|---|---|---|---|
| {{a.label}}{{a.token_preview||'-'}} | {{stateLabel(accountState(a))}} 冷却中 {{cooldownLeft(a)}} | {{quotaSummary(a.label)}}%未查询 | {{userText(a.user)}} | {{expiryText(a)}} | {{fmt(accountAgg(a).requests)}} | {{fmt(accountAgg(a).total_tokens)}} | {{fmt(accountAgg(a).cached_tokens)}} | {{Number(accountAgg(a).cache_hit_rate||0)}}% |
暂无账号
点击右上角“添加账号”开始
正在查询各账号的远端额度…
{{q.label}}{{quotaPlan(q.label)}}
{{quotaResetText(q.label)}}
{{p.label||p.id}}{{fmtUsd(quotaNum(p.remaining_usd))}} / {{fmtUsd(quotaNum(p.limit_usd))}} · {{fmt(quotaNum(p.remaining))}} tokens
模型日配额官方每模型每日请求次数
{{mq.label||mq.id}}
{{quotaNum(mq.remaining)}} / {{quotaNum(mq.limit)}}
{{q.skipped?'该账号已禁用/异常/过期,未查询额度':(q.error||'暂无额度数据')}}
尚未查询额度
点击右上角“刷新额度”获取各账号的每日信用额度池
过滤调用记录 · {{filteredRecent.length}} / {{recent.length}}
| 时间 | 模型 / 协议 | 账号 | API Key | 输入 | 输出 | 缓存 | 思考 | 总计 | 延迟 | 状态 |
|---|---|---|---|---|---|---|---|---|---|---|
| {{timeShort(r.time)}} | {{r.model||'-'}}{{r.protocol||'-'}} {{r.stream?'stream':'json'}} | {{r.account_label||'-'}} | {{r.api_key_name||'-'}} | {{fmt(r.input_tokens)}} | {{fmt(r.output_tokens)}} | {{Number(r.cached_tokens)>0?fmt(r.cached_tokens):'-'}} | {{r.reasoning_effort||r.thinking_budget||'-'}} | {{fmt(r.total_tokens)}} | {{fmtLatency(r.latency_ms)}} | {{r.status||'-'}} |
没有匹配的调用记录
调整过滤条件或发起新的 API 请求
远端额度响应
最近一次账号 usage 查询结果
{{pretty(usage)}}上游模型目录暂时不可用,正在展示缓存结果:{{modelCatalog.cache_error}}
上游模型目录
来自 keelcode 上游 /v1/models 的真实模型;配额上限为官方 max_output_tokens{{modelCatalog.fetched_at?' · 更新于 '+timeOnly(modelCatalog.fetched_at):''}}
| 模型 ID | 能力 | 推理/思考 | 上下文窗口 | 最大输出 | 别名 | 请求 | Token | 缓存命中率 | 最近测试 | 操作 |
|---|---|---|---|---|---|---|---|---|---|---|
| {{m.id}} | {{modelCapabilitiesText(m)}} | {{modelFlagsText(m)}} | {{fmt(m.context_window)}} | {{fmt(m.max_output_tokens||m.max_tokens)}} | {{fmt(modelAgg(m).requests)}} | {{fmt(modelAgg(m).total_tokens)}} | {{Number(modelAgg(m).cache_hit_rate||0)}}% | {{modelTests[m.id].text}}尚未测试 |
暂无模型
点击右上角“刷新目录”从上游获取真实模型列表
| 名称 | Key 预览 | 请求 | Token | 创建时间 | 最后使用 | 操作 |
|---|---|---|---|---|---|---|
| {{k.name}} | {{k.key_preview||k.preview||'-'}} | {{fmt(k.requests)}} | {{fmt(keyTokenTotal(k))}} | {{timeShort(k.created_at)}} | {{k.last_used_at?timeShort(k.last_used_at):'-'}} |
还没有动态 API Key
创建后可独立追踪客户端用量
瞬时故障重试
处理上游临时不可用,避免 status_code=503 直接失败
默认 10。首次请求失败后最多再重试 10 次,即最多 11 次上游尝试;允许范围 1–50。
遇到 502 / 503 / 504 时,网关会自动切换可用账号并短退避重试;只有达到最大尝试次数仍失败,才把最后一次上游错误返回客户端。401 会标记账号异常;429 会按「账号 + 模型」冷却(只冻结被限流的模型,该账号其他模型不受影响)。冷却期后自动恢复,也可在账号池手动重置。
当前策略
保存到 config.d/settings.json,重启后保留
失败后重试次数
{{settings.request_retry||10}}
最多上游尝试
{{Number(settings.request_retry||10)+1}}
自动重试状态
502 · 503 · 504
账号策略
失败后切换账号
退避策略
短退避,可取消
生效方式
保存后立即生效
接入信息
兼容 OpenAI 与 Anthropic SDK
Base URL
{{origin}}认证头
Authorization: Bearer YOUR_TOKEN{{docs[docIndex].method}}
{{docs[docIndex].path}}{{docs[docIndex].code}}