调用日志
{{usageLogsNote || '费用按当前定价估算;流式类型、首字延迟与请求接口暂未采集。'}}
加载中…
{{usageLogsError}}
所选条件下暂无调用日志
| 调用时间 | Key / 模型 | Reasoning | Token(输入 / 输出 / 上游缓存) | 费用 | 耗时 | 状态 | 未采集字段 |
|---|---|---|---|---|---|---|---|
| {{formatDateTime(r.created_at)}} | {{r.api_key_name || '-'}} {{r.model}} | {{r.reasoning_effective || r.reasoning_requested || '未采集'}} | {{formatTokens(r.prompt_tokens)}} / {{formatTokens(r.completion_tokens)}} / {{formatTokens(r.upstream_cached_tokens)}} 本地缓存节省:{{formatTokens(r.cache_saved_tokens)}} | {{r.actual_cost_estimate===null?'无定价':formatCost(r.actual_cost_estimate)}} 入{{formatCost(r.cost_breakdown.input)}} 出{{formatCost(r.cost_breakdown.output)}} 缓{{formatCost(r.cost_breakdown.upstream_cache)}} | {{r.response_time_ms}} ms | {{r.status_code}} | 流式 / 首字 / 接口:未采集 |
共 {{usageLogsTotal}} 条
第 {{usageLogsPage}} 页
总请求次数
{{stats.total_requests?.toLocaleString() || 0}}
总消耗 Token
{{formatTokens(stats.total_tokens)}}
总消耗金额
{{formatCost(stats.total_cost)}}
本地缓存命中率
{{stats.cache_hit_rate || 0}}%
命中 {{stats.cache_hits || 0}} 次
官方缓存命中率
{{stats.upstream_cache_hit_rate || 0}}%
上游服务商缓存
节省 Token
{{formatTokens(stats.cache_saved_tokens)}}
通过缓存节省
缓存节省金额
{{formatCost(stats.cache_saved_cost)}}
用量统计
聚合展示 Token 消耗、模型贡献与缓存收益
Token 总消耗 {{formatTokens(stats.total_tokens)}}
单位:千 Token
模型贡献 Top 5
请求总量
{{stats.total_requests?.toLocaleString() || 0}}
当前时间范围
缓存命中
{{stats.cache_hit_rate || 0}}%
{{stats.cache_hits || 0}} 次命中
节省 Token
{{formatTokens(stats.cache_saved_tokens)}}
缓存收益
模型使用排名
| 排名 | 模型 | 请求数 | Token | 缓存率 |
|---|---|---|---|---|
| {{i+1}} | {{m.model}} | {{m.requests}} | {{formatTokens(m.tokens)}} | {{m.requests?Math.round(m.cache_hits/m.requests*100):0}}% |
| 暂无数据 | ||||
Key 使用排名
| 排名 | Key名称 | 请求数 | Token | 缓存率 |
|---|---|---|---|---|
| {{i+1}} | {{k.api_key_name}} | {{k.requests}} | {{formatTokens(k.tokens)}} | {{k.requests?Math.round(k.cache_hits/k.requests*100):0}}% |
| 暂无数据 | ||||
缓存命中率明细
| 模型 | 请求数 | 本地缓存命中率 | 官方缓存命中率 |
|---|---|---|---|
| {{m.model}} | {{m.requests}} | {{m.local_cache_rate || 0}}% | {{m.upstream_cache_rate || 0}}% |
| 暂无数据 | |||
费用明细
| 模型 | 调用花费 | 本地缓存节省 | 输入/输出/缓存价 |
|---|---|---|---|
| {{m.model}} | ¥{{m.cost || 0}} | ¥{{m.cache_saved_cost || 0}} | ¥{{m.input_price||0}} / ¥{{m.output_price||0}} / ¥{{m.cache_hit_price||0}} |
| 暂无数据 | |||
渠道列表
| ID | 名称 | API地址 | Key | 模型 | 状态 | 操作 |
|---|---|---|---|---|---|---|
| {{c.id}} | {{c.name}} | {{c.api_key_masked}} | {{m}} | {{c.status?'启用':'禁用'}} | ||
| 暂无渠道,请添加 | ||||||
API Key 列表
| ID | 名称 | Key | 日配额(Token) | 并发(次/分) | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|---|---|---|
| {{k.id}} | {{k.name}} | {{k.key}} | {{k.daily_token_limit ? k.daily_token_limit.toLocaleString() : '不限'}} | {{k.rate_limit || 60}}次/分 | {{k.status?'启用':'禁用'}} | {{k.created_at}} | |
| 暂无Key,请生成 | |||||||
Key 统计:{{keyStats.key_info.name}}
请求数
{{keyStats.total_requests}}
Token消耗
{{formatTokens(keyStats.total_tokens)}}
缓存命中率
{{keyStats.cache_hit_rate}}%
节省Token
{{formatTokens(keyStats.cache_saved_tokens)}}
| 模型 | 请求数 | Token | 缓存命中 | 节省Token |
|---|---|---|---|---|
| {{m.model}} | {{m.requests}} | {{formatTokens(m.tokens)}} | {{m.cache_hits}} | {{formatTokens(m.cache_saved)}} |
模型定价(单位:元 / 百万Token)
| 模型 | 输入价格 | 输出价格 | 缓存命中价 | 更新时间 | 操作 |
|---|---|---|---|---|---|
| {{p.model}} | ¥ {{(p.input_price||0).toFixed(4)}} | ¥ {{(p.output_price||0).toFixed(4)}} | ¥ {{(p.cache_hit_price||0).toFixed(4)}} | {{p.updated_at?.substring(0,16) || '-'}} |
暂无定价数据,请添加模型价格
缓存条目数
{{cacheInfo.cached_items || 0}}
Redis内存占用
{{cacheInfo.memory_used_mb || 0}} MB
当前缓存时间
{{cacheInfo.ttl_days || 7}} 天
缓存设置
缓存操作
手动清理所有缓存,清理后重复请求将重新调用上游API
渠道并发状态
| 渠道 | 当前并发 | 最大并发 | 使用率 | 状态 |
|---|---|---|---|---|
| {{c.channel_name}} | {{c.current_concurrency}} | {{c.max_concurrency}} |
{{Math.round(c.current_concurrency/c.max_concurrency*100)}}%
|
{{c.current_concurrency>=c.max_concurrency?'满载':'正常'}} |
| 暂无数据 | ||||
动态 Auto 路由
目录版本 {{autoCatalog.generation||0}}
{{autoCatalog.models.length||0}} 个有效候选
{{mode}}
渠道与健康状态是唯一候选来源:模型新增、删除、渠道禁用或失去全部健康路径时会自动同步。旧 auto 已删除,不做兼容映射。
| 模型 | 质量 | 能力 | 健康渠道 | 定价 | Auto |
|---|---|---|---|---|---|
| {{m.model}}待校准 | {{m.quality_tier}} / 5 | {{(m.capabilities||[]).join('、')}} | {{(m.channel_ids||[]).join('、')}} | {{m.price_configured?'已配置':'未知'}} | |
| 暂无健康候选 | |||||
已排除:{{model}} · {{reason}}
最近动态路由决策
| 模式 | 最终模型 | 任务 | 原因 | 候选 | 时间 |
|---|---|---|---|---|---|
| {{d.requested_mode}} | {{d.selected_model}} | {{d.task_class}} | {{d.selection_reason}} | {{d.candidate_count}} | {{d.created_at?d.created_at.substring(0,19):'-'}} |
| 暂无动态路由记录 | |||||
模型降级链配置
当源模型无可用渠道或请求失败时,自动降级到目标模型。按优先级排序(数字越小越先尝试)。
| ID | 源模型 | 目标模型 | 优先级 | 操作 |
|---|---|---|---|---|
| {{f.id}} | {{f.source_model}} | {{f.target_model}} | {{f.priority}} | |
| 暂无降级规则 | ||||
📊 实时QPS
{{liveStats.qps.toFixed(1)}}
近60秒
✅ 成功请求
{{liveStats.successCount}}
❌ 错误请求
{{liveStats.errorCount}}
⚡ 平均延迟
{{liveStats.avgLatency}}ms
🎯 缓存命中
{{liveStats.cacheHits}}
🔄 降级次数
{{liveStats.fallbacks}}
📝 输入Token速度
{{liveStats.inputTokenSpeed.toFixed(0)}} t/s
近60秒
📝 输出Token速度
{{liveStats.outputTokenSpeed.toFixed(0)}} t/s
近60秒
实时请求流
{{wsConnected?'● 已连接':'○ 未连接'}}
等待实时事件...
{{formatTime(evt.timestamp)}}
{{evt.type}}
{{evt.data.model || ''}} {{evt.data.channel?'→ '+evt.data.channel:''}} {{evt.data.api_key?'['+evt.data.api_key+']':''}}
Webhook 告警配置
当 Key 用量达到 80% / 90% / 100% 时触发告警,每级每天仅告警一次。
告警记录
| 时间 | Key名称 | 阈值 | 用量 | 配额 | 消息 |
|---|---|---|---|---|---|
| {{a.created_at?.substring(0,19)}} | {{a.api_key_name}} | {{a.threshold}}% | {{formatTokens(a.usage_tokens)}} | {{formatTokens(a.limit_tokens)}} | {{a.message}} |
| 暂无告警记录 | |||||
提示词模板管理
集中管理所有 System Prompt,支持版本历史、一键回滚、模板变量注入 {变量名}
| 名称 | 分类 | 版本 | 更新时间 | 操作 |
|---|---|---|---|---|
| {{p.name}} {{p.description}} |
{{p.category}} | v{{p.version}} | {{p.updated_at?p.updated_at.substring(0,19):'-'}} | |
| 暂无模板 | ||||
动态 Auto 路由
使用 auto-quality 时,复杂与未知任务优先质量;使用 auto-balanced 时,在能力满足前提下平衡质量、稳定性、延迟、成本与负载。旧 auto 已删除。
| 模型 ID | 策略 | 候选来源 |
|---|---|---|
| auto-quality | 复杂、代码、工具、推理、长上下文优先高质量;仅明确短轻任务降档 | 启用且健康渠道 + 能力档案 |
| auto-balanced | 质量 40% / 稳定 25% / 延迟 20% / 成本 10% / 并发 5% | 启用且健康渠道 + 能力档案 |
接口信息
API地址: https://{{apiHost}}/v1/chat/completions
模型列表: https://{{apiHost}}/v1/models
请求格式: 兼容 OpenAI Chat Completions API
认证方式: Bearer Token(在Key管理中生成)
使用示例
curl https://{{apiHost}}/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer ***" \
-d '{
"model": "deepseek-v4-flash",
"messages": [{"role": "user", "content": "你好"}]
}'
修改管理密码