media-service · admin · read-only

—

粘贴 ADMIN_TOKEN 查看仪表盘。它只存在这个浏览器的 localStorage 里,只以 Authorization: Bearer 头发给本服务,永不进 URL;任何一次 401 都会清掉它并回到这里。

成本按渠道 · Salad / RunPod / 阿里 API / Runware / 自有机(电费+折旧)

GET /v1/usage?group_by=backend,node_class,day

渠道判定:backend 直接给出供应商 API(runware / gateway / dashscope-cn·intl / runpod);GPU 节点按 node_class 归属 —— salad:* = Salad 租用,own:* = 自有机(按价目表 own 段单价核算电费+折旧),无 class 的节点 = 按默认价、归入未归类。RunPod 的节点也报 own:*,但 backend=runpod 优先归 RunPod。

原始明细 · backend × node_class(供应商 × 节点,窗口内聚合)

消耗总览 · per 来源(client)

GET /v1/usage?group_by=client,day
day 曲线(UTC 日桶)
来源标签明细 · client × user_ref(调用方设置的稳定来源标签,如站点自身标识 / cloud_topup:<account>)

GPU 利用率 · per 型号 × 优先级 · 时间平均,非瞬时

GET /v1/workers/activity?bucket=hour|day&group_by=worker

口径:worker 在每次心跳 / claim 轮询里上报「自上次上报以来」的 nvidia-smi 采样均值(telemetry),平台按 UTC 小时桶累加 Σ(util×span) 与 Σspan,这里显示两者之商——时间加权平均,不是某一拍的读数。默认按显卡型号 × 优先级聚成一行(Salad 按完整 node_class,如 salad:rtx4060ti-16g:batch;own:* 按整串;无 class 的节点归入未归类),点下面的明细再看每台 worker。alive / busy 由平台按接触间隔量得(busy = 持有 claim 的时间,间隔超过 3×lease 视为掉线不计);exec 与 GPU 列来自 worker 自报,尚未升级到带 telemetry 的 worker 只有 alive / busy。24h 窗口按小时桶画,7d / 30d 按 UTC 日桶。

按 worker 展开(窗口内聚合)

模型维度 · per engine × backend

GET /v1/usage?group_by=engine,backend

工作流维度 · per flow(dub = 配音总账)

GET /v1/usage?group_by=flow
查单次:

每段的领取节点 / 单价 / 当时上限(#73 C):来自 GET /v1/jobs?flow_run_id=…(管理面任务列表,只读)。ceiling@claim = 认领那一刻的有效上限;ceiling now = 仍在排队的行此刻的上限(按排队时长阶梯上浮)。

计价来源 · per price_source × task_type(#73:执行节点 × 当时价目表)

GET /v1/usage?group_by=price_source,task_type

price_source = catalog@v<N> <node_class>(按节点 × 钉住的价目表版本结算)/ default(节点未报 node_class,按 task-type 种子价)/ 空(查不到价:cost_usd 为 null,计入 unpriced,不计入 cost_usd)。非 flow 行(tts / image)也归空。

Key 活跃度 · per api_key(轮换 / 吊销依据)

GET /v1/usage?group_by=client,api_key

label 来自 api_keys.label;api_key_id 为空 = 0009 之前的未归因行。窗口内无行的 key 不会出现——「没出现」就是「这把 key 最近没用过」。

最近活动 · usage 账本最近两个 UTC 日桶

GET /v1/usage?group_by=day,client,flow,task_type,engine

来源说明:平台暂无 GET /v1/jobs 列表端点,这里不是逐条任务,而是 usage 账本(昨天 + 今天,UTC)按 day × client × flow × task_type × engine 的聚合行。