diff --git a/static/src/app/methods/ui/socket.ts b/static/src/app/methods/ui/socket.ts index f12f26f4..ccaceb35 100644 --- a/static/src/app/methods/ui/socket.ts +++ b/static/src/app/methods/ui/socket.ts @@ -228,6 +228,13 @@ export const socketMethods = { try { debugLog('加载初始数据...'); + // 模型列表与工作区状态解耦:即使 /api/status 不可用(如尚未创建工作区), + // 也要先加载已配置的模型,保证模型选择器可用 + const modelStore = useModelStore(); + await modelStore.fetchModels().catch((err) => { + console.warn('加载模型列表失败,使用前端默认列表:', err); + }); + const statusResponse = await fetch('/api/status'); if (!statusResponse.ok) { throw new Error(`状态接口请求失败: ${statusResponse.status}`); @@ -243,10 +250,6 @@ export const socketMethods = { this.fetchPendingToolApprovals(); // 立即更新配额和运行模式,避免等待其他慢接口 this.fetchUsageQuota(); - const modelStore = useModelStore(); - await modelStore.fetchModels().catch((err) => { - console.warn('加载模型列表失败,使用前端默认列表:', err); - }); if (statusData && typeof statusData.model_key === 'string') { modelStore.setModel(statusData.model_key); this.currentModelKey = modelStore.currentModelKey;