{{t('nav.basicInfo')}}
Codex Credit
Credit 按请求返回的真实 Token 分类和模型 rate card 计算。输入 Token 包含缓存读取与缓存写入;缓存写入按非缓存输入计价。
| 模型 | 非缓存输入 Credit / 1M | 缓存读取 Credit / 1M | 输出 Credit / 1M | 对应美元单价 输入 / 缓存 / 输出 |
|---|---|---|---|---|
gpt-5.6-sol / 其它 Codex 模型 | 125 | 12.5 | 750 | US$5 / 0.5 / 30 |
gpt-5.6-terra | 62.5 | 6.25 | 375 | US$2.5 / 0.25 / 15 |
gpt-5.6-luna | 25 | 2.5 | 150 | US$1 / 0.1 / 6 |
Claude 等效 Token
Claude 不使用 Codex Credit。等效 Token 将每类 Token 的官方美元成本,归一化为“同模型普通输入 Token”的数量,因此模型价格不同,但不同模型仍可汇总比较。
| 模型组 | 普通输入 US$ / 1M | 缓存写入 5m | 缓存写入 1h | 缓存读取 | 输出 | 等效倍率 输入 / CW5 / CW1 / 读取 / 输出 |
|---|---|---|---|---|---|---|
| Opus 4.0–4.2 / Claude 3 Opus | 15 | 18.75 | 30 | 1.5 | 75 | 1 / 1.25 / 2 / 0.1 / 5 |
| Opus 4.5–4.8 | 5 | 6.25 | 10 | 0.5 | 25 | 1 / 1.25 / 2 / 0.1 / 5 |
| Sonnet 4 / Claude 3.5–3.7 Sonnet | 3 | 3.75 | 6 | 0.3 | 15 | 1 / 1.25 / 2 / 0.1 / 5 |
| Haiku 4.5 | 1 | 1.25 | 2 | 0.1 | 5 | 1 / 1.25 / 2 / 0.1 / 5 |
| Claude 3.5 Haiku | 0.8 | 1 | 1.6 | 0.08 | 4 | 1 / 1.25 / 2 / 0.1 / 5 |
| Claude 3 Haiku | 0.25 | 0.3 | 0.5 | 0.03 | 1.25 | 1 / 1.2 / 2 / 0.12 / 5 |
{{t('nav.nodes')}}
供货中心节点网关
服务节点
{{nodes.length}} 个节点| 节点 | 能力 | 地址 | {{t('common.status')}} | 账号 | 请求 | 命中概率 | 最近请求 | 健康检查 | {{t('common.actions')}} | |
|---|---|---|---|---|---|---|---|---|---|---|
|
{{n.name}}
{{nodeEnabledLabel(n.enabled)}}
{{n.id}}
|
{{nodeCapabilityLabel(cap)}} | {{nodeCapabilityCount(n)}} 个能力 | 运行数据见下方能力行 | ||||||||
| {{nodeCapabilityLabel(nodeRowCapability(capRow))}} | {{capRow.base_url}} | {{nodeStatusLabel(capRow)}} 熔断至 {{fmtTime(capRow.cooldown_until)}} |
{{capRow.available_account_count}} / {{capRow.account_count}} 权重 {{fmtCapacityWeight(capRow.capacity_weight)}} |
{{capRow.inflight_requests}} active {{capRow.active_streams}} streams |
{{fmtHitProbability(capRow.hit_probability)}}
流式 {{fmtHitProbability(capRow.stream_hit_probability)}}
|
{{fmtTimeSeconds(capRow.last_request_at)}} | {{fmtTime(capRow.last_health_at)}} {{capRow.last_error || '-'}} |
|||
| {{t('common.empty')}} | ||||||||||
最近告警
| 时间 | 级别 | 类型 | 节点 | 消息 |
|---|---|---|---|---|
| {{fmtTime(e.created_at)}} | {{e.level}} | {{e.type}} | {{e.node_id}} | {{e.message}} |
| {{t('common.empty')}} | ||||
{{t('suppliers.title')}}
{{t('suppliers.list')}}
| {{t('accounts.reauthAccountLabel')}} | {{t('suppliers.payment')}} | {{t('common.status')}} | {{t('common.actions')}} | ||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{s.email || s.name || '-'}}
|
{{displayPaymentMethod(s.payment_method)}}
{{s.payment_name || t('suppliers.paymentNameMissing')}}
{{s.payment_info || t('suppliers.paymentAccountMissing')}}
|
{{supplierStatusLabel(s.status)}} | |||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
| {{t('common.empty')}} | |||||||||||||||||||||||||||
{{t('suppliers.codexList')}}
| {{t('accounts.nameId')}} | {{t('accounts.type')}} / {{t('accounts.plan')}} | {{t('accounts.status')}} | {{t('accounts.quotaRemain')}} / {{t('accounts.resetTime')}} 5h / 7d |
{{locale === 'zh-CN' ? '消耗用量' : 'Usage'}} 5h / {{t('accounts.win7d')}} · Credit / {{locale === 'zh-CN' ? '等效 Token' : 'Equivalent tokens'}} |
{{t('suppliers.owner')}} | {{locale === 'zh-CN' ? '原始账单信息' : 'Original bill info'}} | {{t('accounts.concurrencyRpm')}} | {{t('accounts.limit')}} 5h / 7d |
{{t('accounts.health')}} | {{t('accounts.lastRequest')}} | {{t('accounts.createdAt')}} | {{t('accounts.actions')}} |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
{{a.Name||'-'}}
{{accountEmail(a)}}
{{(a.ID||'').slice(0,8)}}…
{{a.RemoteNodeName || a.RemoteNodeID || '聚合节点'}}
|
{{accountTypeLabel(a)}}
{{accountPlanLabel(a, a.PlanType)||'-'}}
|
{{displayStatusText(a)}}{{t('accounts.reauthDetailBtn')}} |
5h:
{{fmtAccountQuotaRemainCompact(a, 'primary')}}
|
{{fmtAccountQuotaRefresh(a, 'primary')}}
7d:
{{fmtAccountQuotaRemainCompact(a, 'secondary')}}
|
{{fmtAccountQuotaRefresh(a, 'secondary')}}
|
5h{{fmtAccCredit(a, 'h5')}} Credit≈ {{fmtAccCost(a, 'h5')}}
7d{{fmtAccCredit(a, 'd7')}} Credit≈ {{fmtAccCost(a, 'd7')}}
5h
{{m.model}}{{fmtEquivalentTokens(m.equivalent_tokens)}}
0
7d
{{m.model}}{{fmtEquivalentTokens(m.equivalent_tokens)}}
0
|
{{ownerLabelForAccount(a)}} |
{{locale === 'zh-CN' ? '账单' : 'Bill'}}
{{t('accounts.noBill')}}
{{locale === 'zh-CN' ? '价格' : 'Price'}}
{{fmtOriginalPrice(a.BillFile)}}
|
{{a.MaxConcurrency}}/{{a.MaxRPM}} |
5h:{{effCycleLimit(a)}}%[{{cycleLimitRange(a)}}]
7d:{{effWeeklyLimit(a)}}%[{{weeklyLimitRange(a)}}]
|
{{(a.HealthScore||0).toFixed(2)}} | {{fmtTime(a.LastRequestAt)}} | {{fmtTime(a.CreatedAt)}} | |
| {{t('accounts.empty')}} | ||||||||||||
模拟对话测试
API Key
申请测试 API Key
无需选择套餐或支付,输入名称即可获取用于模拟测试的永久 API Key。
已有 API Key 列表
| 名称 | API Key | 操作 |
|---|---|---|
| {{k.name}} | {{k.api_key}} | |
| 暂无数据 | ||
{{t('suppliers.planRevenue')}}
| {{t('suppliers.planType')}} | {{t('suppliers.dailyAmount')}} | {{t('suppliers.enabled')}} |
|---|---|---|
| {{planLabel(r.plan_type)}} | {{t('suppliers.amountUnit')}} | |
| {{t('common.empty')}} | ||
{{t('suppliers.revenueHint')}}
{{t('system.title')}}
{{t('adminUsers.title')}}
{{t('adminUsers.tip')}}
| {{t('adminUsers.email')}} | {{t('adminUsers.userId')}} | {{t('adminUsers.bindStatus')}} | {{t('adminUsers.note')}} | {{t('common.actions')}} |
|---|---|---|---|---|
| {{u.email}} | {{u.user_id||'-'}} | {{u.user_id ? t('adminUsers.bound') : t('adminUsers.pending')}} | {{u.note||'-'}} | |
| {{t('common.empty')}} | ||||
{{t('alerts.title')}}
{{t('alerts.tip')}}
| {{t('alerts.name')}} | {{t('alerts.notifyType')}} | {{t('alerts.cycleType')}} | {{t('alerts.threshold')}} | {{t('alerts.level')}} | {{t('alerts.webhook')}} | {{t('alerts.enabled')}} | {{t('common.actions')}} |
|---|---|---|---|---|---|---|---|
| {{r.name}} | {{alertNotifyTypeLabel(alertNotifyType(r))}} | {{alertNotifyType(r)==='quota_alert' ? alertCycleLabel(r.cycle_type) : '-'}} | {{alertThresholdLabel(r)}} | {{alertLevelLabel(r.level)}} | {{(r.webhook_url||'').slice(0,28)}}… | {{r.enabled ? t('common.enable') : t('common.disable')}} | |
| {{t('common.empty')}} | |||||||
{{t('audit.title')}}
| {{t('audit.time')}} | {{t('audit.action')}} | {{t('audit.supplier')}} | {{t('audit.account')}} | {{t('audit.accountId')}} | {{t('audit.operator')}} | {{t('audit.detail')}} |
|---|---|---|---|---|---|---|
| {{fmtTimeFull(log.created_at)}} | {{auditActionLabel(log.action)}} | {{ log.owner_type==='admin' ? t('suppliers.adminOwned') : (log.supplier_name || log.owner_user_id || '-') }} | {{log.account_name || '-'}} | {{log.account_id || '-'}} | {{log.operator || '-'}} | {{log.detail || '-'}} |
| {{t('audit.empty')}} | ||||||
用量历史与小时趋势
每小时 Token / Credit 用量曲线
支持全局总统计、单个 API Key 统计,并可按模型筛选。
每小时请求次数
请求量单独展示,避免和 token / credit 双轴混在一起造成误读。
历史查询
| 账号 | 账号类型 | 状态 | 周期类型 | 开始时间(本地) | 结束时间(本地) | 价格 / Credit / 各模型等效 Token | 非缓存输入 | 缓存读取 | 缓存写入 | 输出 Token | 官方使用百分比 | 套餐 (倍数) | 周期总 Credit / 价格估算 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{accountName(h.AccountID)}} | {{accountTypeLabel(h)}} | 进行中 已结束 | {{h.CycleType==='5h' ? '5h 短周期' : (h.CycleType==='week' ? '周 长周期' : h.CycleType)}} | {{fmtTime(h.StartAt)}} | {{fmtTime(h.EndAt)}}{{h.InProgress ? '(预计)' : ''}} |
{{fmtHistoryMetric(h)}} {{historyMetricUnit(h)}}
无模型明细
{{m.model}}:{{fmtHistoryModelEquivalent(m)}} 等效 Token · {{fmtHistoryModelCost(m)}} US$
|
{{historyNonCachedTokens(h).toLocaleString()}} | {{(Number(h.CachedTokens)||0).toLocaleString()}} | {{(Number(h.CacheWriteTokens)||0).toLocaleString()}} | {{(Number(h.OutputTokens)||0).toLocaleString()}} | {{(Number(h.UsedPct)||0).toFixed(1)}}% | {{h.PlanType||'-'}} ×{{planMultiplier(h.PlanType)}} | {{fmtEstCycleMetric(h)}} {{historyMetricUnit(h)}} |
| 暂无数据 | |||||||||||||
估算公式:周期总 Credit/价格 ≈ 当前已用指标 ÷ (官方使用百分比 / 100)。Codex 展示 Credit;Claude 展示总价格,并按模型分别展示以该模型普通输入价格归一化的等效 Token。“进行中”为当前未结束周期的实时值,结束时间为预计重置时间。
错误记录
最近 7 天错误
| 时间(本地) | 账号 | 邮箱 | 方式 | 模型 | 阶段 | 错误类型 | 重试 | 错误信息 |
|---|---|---|---|---|---|---|---|---|
| {{fmtTime(e.CreatedAt)}} | {{accountName(e.AccountID)}} | {{e.Email||'-'}} | {{errMethodText(e.Method)}} | {{e.Model||'-'}} | {{errPhaseText(e.Phase)}} | {{errTypeText(e.ErrorType)}} | {{e.Attempt}} | {{e.ErrorMessage||'-'}} |
| 暂无数据 | ||||||||
错误记录仅保留最近 7 天,过期自动清理。阶段:before-first-byte(首字节前,可换账号重试,客户端通常无感)/ after-first-byte(首字节后,已吐内容无法重试)。
{{t('accounts.mineTitle')}}
{{t('register.title')}}
{{ (mySupplier && mySupplier.registered) ? t('register.registered') : t('register.notRegistered') }}{{t('register.firstName')}} / {{t('register.lastName')}}:{{mySupplier.first_name||'-'}} {{mySupplier.last_name||''}}
{{t('register.country')}}:{{countryDisplay(mySupplier.country)||'-'}}
{{t('register.contactEmail')}}:{{mySupplier.contact_email||'-'}}
{{t('register.paymentMethod')}}:{{displayPaymentMethod(mySupplier.payment_method)}}
{{t('register.paymentName')}}:{{mySupplier.payment_name||'-'}}
{{t('register.paymentInfo')}}:{{mySupplier.payment_info||'-'}}
{{t('register.desc')}}
| {{t('accounts.nameId')}} | {{t('accounts.type')}} | {{t('accounts.status')}} | {{t('suppliers.planType')}} | {{t('accounts.bill')}} | {{t('accounts.originalPrice')}} | {{t('accounts.createdAt')}} | {{t('accounts.quotaRemain')}} 5h / {{t('accounts.winWeek')}} · {{locale === 'zh-CN' ? '请求' : 'Requests'}} / Token |
{{t('common.actions')}} |
|---|---|---|---|---|---|---|---|---|
|
{{v.account ? (v.account.Name || '-') : '-'}}
{{v.supplier_account.account_id}}
|
{{accountTypeLabel(v.account, v)}} | {{displayStatusText(v.account)}} {{t('accounts.reauthDetailBtn')}} - | {{accountPlanLabel(v.account, v.supplier_account.plan_type)}} | {{t('accounts.noBill')}} | {{fmtOriginalPrice(v.bill_file)}} | {{v.account ? fmtTime(v.account.CreatedAt) : '-'}} |
{{v.account ? quotaPrimaryLabel(v.account) : '5h'}}: {{v.account ? fmtAccountQuotaRemain(v.account, 'primary') : '-'}}
{{v.account ? quotaSecondaryLabel(v.account) : t('accounts.winWeek')}}: {{v.account ? fmtAccountQuotaRemain(v.account, 'secondary') : '-'}}
刷新: {{v.account ? fmtTime(rateLimitUpdatedAt(v.account)) : '-'}}
|
|
| {{t('common.empty')}} | ||||||||
{{t('audit.mineTitle')}}
| {{t('audit.time')}} | {{t('audit.action')}} | {{t('audit.account')}} | {{t('audit.accountId')}} | {{t('audit.detail')}} |
|---|---|---|---|---|
| {{fmtTimeFull(log.created_at)}} | {{auditActionLabel(log.action)}} | {{log.account_name || '-'}} | {{log.account_id || '-'}} | {{log.detail || '-'}} |
| {{t('audit.empty')}} | ||||