diff --git a/chat/server.js b/chat/server.js index 5d9d6ab..8d7f9c6 100644 --- a/chat/server.js +++ b/chat/server.js @@ -5124,6 +5124,11 @@ async function ensureOpencodeConfig(session) { [providerName]: providerCfg }; + // Ensure adminModels is loaded + if (!adminModels || adminModels.length === 0) { + await loadAdminModelStore(); + } + // Find which providers are used in adminModels const usedProviders = new Set(); for (const model of adminModels) { @@ -5165,7 +5170,15 @@ async function ensureOpencodeConfig(session) { for (const [providerId, config] of Object.entries(providerConfigs)) { if (config.apiKey && usedProviders.has(providerId)) { // Fetch all models from models.dev for this provider - const models = await fetchModelsDevProviderModels(providerId); + let models = {}; + try { + models = await fetchModelsDevProviderModels(providerId); + } catch (err) { + log('Failed to fetch models from models.dev, using empty models list', { + provider: providerId, + error: String(err) + }); + } providers[providerId] = { options: { @@ -5175,9 +5188,10 @@ async function ensureOpencodeConfig(session) { models: models }; - log('Configured provider with models.dev data', { + log('Configured provider', { provider: providerId, - modelCount: Object.keys(models).length + modelCount: Object.keys(models).length, + source: Object.keys(models).length > 0 ? 'models.dev' : 'built-in' }); } }