fix: provider链白名单与实际config脱节导致模型无响应
- 原allowed仅4个provider(deepseek/volcengine/opencode-go*), config里只有deepseek(402欠费)→全链死 - 现按存活度排序: sense-nova(实测可用+tools支持)→deepseek→afw-proxy→ocg-key* - 模型名: options.model优先, 否则取provider models字典第一个key
This commit is contained in:
@@ -96,11 +96,17 @@ _DEFAULT_MODELS = {
|
||||
def _build_chain() -> list[tuple[str, str, str]]:
|
||||
"""Build (provider_key, base_url, model_name) in priority order.
|
||||
|
||||
优先用 deepseek(直连,稳定)→ volcengine(代理→Go)→ opencode-go(备用)。
|
||||
2026-07-23 修复:原白名单只有 deepseek/volcengine/opencode-go*,
|
||||
但 config 里只有 deepseek(402欠费)→ 全链死 → 模型无响应。
|
||||
现按实际存活度排序:sense-nova(实测可用+支持tools)→ deepseek →
|
||||
afw-proxy(本地代理,活着时优先)→ ocg-key*(Windows IP 当前403,恢复即可用)。
|
||||
模型名:options.model 优先,否则取 provider models 字典第一个 key。
|
||||
"""
|
||||
allowed = ["deepseek", "volcengine", "opencode-go", "opencode-go-new"]
|
||||
priority = ["sense-nova", "deepseek", "afw-proxy",
|
||||
"ocg-key6", "ocg-key5", "ocg-key4", "ocg-key3", "ocg-key2", "ocg-key1",
|
||||
"volcengine", "opencode-go", "opencode-go-new"]
|
||||
chain = []
|
||||
for key in allowed:
|
||||
for key in priority:
|
||||
prov = _PROVIDERS.get(key)
|
||||
if not prov:
|
||||
continue
|
||||
@@ -109,7 +115,12 @@ def _build_chain() -> list[tuple[str, str, str]]:
|
||||
api_key = opts.get("apiKey", "")
|
||||
if not base or not api_key:
|
||||
continue
|
||||
model = opts.get("model") or _DEFAULT_MODELS.get(key, "deepseek-v4-flash")
|
||||
model = opts.get("model")
|
||||
if not model:
|
||||
_models = prov.get("models", {})
|
||||
model = next(iter(_models.keys()), None) if _models else None
|
||||
if not model:
|
||||
model = _DEFAULT_MODELS.get(key, "deepseek-v4-flash")
|
||||
chain.append((key, base, model))
|
||||
return chain
|
||||
|
||||
|
||||
Reference in New Issue
Block a user