fix: SenseNova卡片不再混入OpenCode Go组
- accounts.json移除key8/9/10(它们是同一SenseNova账户的3个模型视角,非OCG账号) 否则OCG采集器会把它们当OCG账户采集,前端归到OpenCode Go组 - /api/keys: 注册表外的用量条目(sensenova)以独立provider追加,不进OCG - 前端provider名映射补sensenova
This commit is contained in:
@@ -1358,8 +1358,10 @@ def api_keys():
|
||||
|
||||
# 合并
|
||||
keys_out = []
|
||||
_registry_kids = set()
|
||||
for a in accounts:
|
||||
kid = a.get("key_id", "")
|
||||
_registry_kids.add(kid)
|
||||
raw_key = a.get("key", "")
|
||||
# Mask: 前8后4,不足12字符则不mask
|
||||
if len(raw_key) > 12:
|
||||
@@ -1371,10 +1373,12 @@ def api_keys():
|
||||
"key_id": kid,
|
||||
"label": a.get("label", kid),
|
||||
"key_masked": masked,
|
||||
"provider": "kimi" if kid == "key7" else "opencode_go",
|
||||
}
|
||||
# 附加用量
|
||||
usage = usage_by_kid.get(kid)
|
||||
if usage:
|
||||
entry["provider"] = usage.get("provider", entry["provider"])
|
||||
entry["workspace_id"] = usage.get("workspace_id", "")
|
||||
for period in ["rolling", "weekly", "monthly"]:
|
||||
p = usage.get(period)
|
||||
@@ -1388,6 +1392,28 @@ def api_keys():
|
||||
entry["last_update"] = usage.get("last_update_iso", "")
|
||||
keys_out.append(entry)
|
||||
|
||||
# 非注册表的用量条目(如 SenseNova key8/9/10:同一账户的模型视角,
|
||||
# 不属于 OCG 注册表——2026-07-23 老爸:不要混进 OpenCode Go 卡片)
|
||||
for kid, usage in usage_by_kid.items():
|
||||
if kid in _registry_kids:
|
||||
continue
|
||||
entry = {
|
||||
"key_id": kid,
|
||||
"label": usage.get("label", kid),
|
||||
"key_masked": "(共享SenseNova账户)",
|
||||
"provider": usage.get("provider", "other"),
|
||||
"last_update": usage.get("last_update_iso", ""),
|
||||
}
|
||||
for period in ["rolling", "weekly", "monthly"]:
|
||||
p = usage.get(period)
|
||||
if p:
|
||||
entry[period] = {
|
||||
"usage_percent": p.get("usage_percent"),
|
||||
"reset_in_sec": p.get("reset_in_sec"),
|
||||
"status": p.get("status", "unknown"),
|
||||
}
|
||||
keys_out.append(entry)
|
||||
|
||||
return jsonify({
|
||||
"ok": True,
|
||||
"count": len(keys_out),
|
||||
|
||||
@@ -416,7 +416,7 @@ document.getElementById('rdp-status-txt').textContent=fOn?'Connected':e4.rdp_ena
|
||||
groups[p].push(a);
|
||||
}
|
||||
// Provider names
|
||||
var pn={opencode_go:'OpenCode Go',kimi:'Kimi'};
|
||||
var pn={opencode_go:'OpenCode Go',kimi:'Kimi',sensenova:'SenseNova'};
|
||||
for(var gi=0;gi<order.length;gi++){
|
||||
var p=order[gi];
|
||||
if(groups[p].length>0){
|
||||
|
||||
Reference in New Issue
Block a user