Skip to content

Commit 9a39491

Browse files
committed
fix(models): 灵犀展示权重不再与「其余渠道」撞号
_PROVIDER_RANK 给 lingxi 7 时 _UNRANKED_PROVIDER 也是 7,未知渠道与 灵犀同级 → 只靠归一键字典序决定先后。把「其余」抬到 8:灵犀恒定排在 raccoon 之后、zen/kilo 等未登记渠道之前。
1 parent 39839a0 commit 9a39491

2 files changed

Lines changed: 6 additions & 3 deletions

File tree

‎src/api/model_merge.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
_PROVIDER_RANK = {"codebuddy": 0, "codebuddy_intl": 1, "trae": 2, "qoder": 3,
8484
"codearts": 4, "officeace": 5, "raccoon": 6,
8585
"lingxi": 7}
86-
_UNRANKED_PROVIDER = 7
86+
_UNRANKED_PROVIDER = 8
8787

8888
# 哨兵名:各上游自己的「自动路由 / 默认模型」占位,语义只在本渠道内成立,不跨
8989
# 渠道合并。kilo 的 `kilo-auto/free`(上游名 `Auto Free`)与 Qoder 的 `auto`

‎tests/api/test_models_rank.py‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,15 +67,18 @@ def import_credential(self, raw): # pragma: no cover - 未使用
6767
# 故意让 zen 的模型名字典序最小、CB 的最大,证明排序按渠道权重而非名字
6868
"codebuddy": Stub("codebuddy", ["z-cb", "a-cb"]),
6969
"trae": Stub("trae", ["m-trae"]),
70+
"lingxi": Stub("lingxi", ["aaa-lingxi"]),
7071
"zen": Stub("zen", ["aaa-zen"]),
7172
})
72-
for provider_id in ("codebuddy", "trae", "zen"):
73+
for provider_id in ("codebuddy", "trae", "lingxi", "zen"):
7374
app.state.credentials.add(provider=provider_id, credential_data={"t": "x"})
7475
key = app.state.api_keys.create("root")["api_key"]
7576
with TestClient(app) as client:
7677
ids = [item["id"] for item in client.get(
7778
"/v1/models", headers={"Authorization": f"Bearer {key}"}).json()["data"]]
78-
assert ids == ["a-cb", "z-cb", "m-trae", "aaa-zen"]
79+
# lingxi 有专属权重(7)→ 排在 zen/kilo 这类「其余」渠道(8)之前,
80+
# 即使名字字典序更大
81+
assert ids == ["a-cb", "z-cb", "m-trae", "aaa-lingxi", "aaa-zen"]
7982

8083
def test_models_list_orders_dual_provider_by_highest_rank(tmp_path):
8184
"""多渠道模型按最高优先级渠道归位:含 CB 进第一段,仅 TR 的进第二段。"""

0 commit comments

Comments
 (0)