From 1a96bcb1059a8eec108ce5d6f9ce484a4615ebbc Mon Sep 17 00:00:00 2001 From: Liuxinyu176 <1041316040@qq.com> Date: Fri, 9 Oct 2026 11:51:24 +0800 Subject: [PATCH] =?UTF-8?q?feat(proxy):=20WorkBuddyModelProvider=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=20supports=20=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 供聚合路由按模型匹配 WorkBuddy 供应商。 --- .../com/rainy/token/data/proxy/WorkBuddyModelProvider.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/com/rainy/token/data/proxy/WorkBuddyModelProvider.kt b/app/src/main/java/com/rainy/token/data/proxy/WorkBuddyModelProvider.kt index 46298bb..517b331 100644 --- a/app/src/main/java/com/rainy/token/data/proxy/WorkBuddyModelProvider.kt +++ b/app/src/main/java/com/rainy/token/data/proxy/WorkBuddyModelProvider.kt @@ -52,6 +52,13 @@ class WorkBuddyModelProvider @Inject constructor( prefs.edit().putString(key, id).apply() } + /** 该区域是否可能支持此模型(在线/内置列表)。 */ + fun supports(modelId: String, region: ProviderRegion): Boolean { + val want = modelId.trim().lowercase() + if (want.isBlank() || want == "auto") return true + return models.value.any { it.id.equals(modelId, ignoreCase = true) } + } + suspend fun refreshFor(region: ProviderRegion): Boolean = withContext(Dispatchers.IO) { val credential = credentialRepository.get(ServiceType.WORKBUDDY, null) ?: return@withContext false