debug: Add logging to help diagnose provider loading issues

Add detailed logging to provider initialization to help debug why Chutes
and other providers aren't loading:
- Log all providers found in database
- Log API key env vars detected
- Log custom loader results with autoload status
- Log final loaded providers count

This will help identify if the issue is:
1. Database not loading correctly
2. Missing env vars
3. Custom loaders not being called
4. Providers being filtered out
This commit is contained in:
southseact-3d
2026-02-08 16:23:51 +00:00
parent 26c6f5f6c7
commit dacde39400

View File

@@ -824,7 +824,11 @@ export namespace Provider {
} = {} } = {}
const sdk = new Map<number, SDK>() const sdk = new Map<number, SDK>()
log.info("init") log.info("init", {
providerCount: Object.keys(database).length,
providers: Object.keys(database),
envKeys: Object.keys(env).filter(k => k.includes('API_KEY') || k.includes('TOKEN')).map(k => k.replace(/_API_KEY$/, '').toLowerCase())
})
const configProviders = Object.entries(config.provider ?? {}) const configProviders = Object.entries(config.provider ?? {})
@@ -1009,13 +1013,17 @@ export namespace Provider {
} }
for (const [providerID, fn] of Object.entries(CUSTOM_LOADERS)) { for (const [providerID, fn] of Object.entries(CUSTOM_LOADERS)) {
if (disabled.has(providerID)) continue if (disabled.has(providerID)) {
log.info("custom loader skipped (disabled)", { providerID })
continue
}
const data = database[providerID] const data = database[providerID]
if (!data) { if (!data) {
log.error("Provider does not exist in model list " + providerID) log.error("Provider does not exist in model list " + providerID)
continue continue
} }
const result = await fn(data) const result = await fn(data)
log.info("custom loader result", { providerID, autoload: result?.autoload, hasEnv: data.env.some(e => env[e]) })
if (result && (result.autoload || providers[providerID])) { if (result && (result.autoload || providers[providerID])) {
if (result.getModel) modelLoaders[providerID] = result.getModel if (result.getModel) modelLoaders[providerID] = result.getModel
const opts = result.options ?? {} const opts = result.options ?? {}
@@ -1071,9 +1079,14 @@ export namespace Provider {
continue continue
} }
log.info("found", { providerID }) log.info("found", { providerID, modelCount: Object.keys(provider.models).length })
} }
log.info("providers loaded", {
total: Object.keys(providers).length,
connected: Object.keys(providers)
})
return { return {
models: languages, models: languages,
providers, providers,