fix(auth): configure OpenClaw default model when saving provider

- Add setOpenClawDefaultModel() to write the correct model to
  ~/.openclaw/openclaw.json based on the selected provider
- Maps: openrouter -> openrouter/anthropic/claude-sonnet-4,
  anthropic -> anthropic/claude-sonnet-4, etc.
- Call setOpenClawDefaultModel on provider:save IPC handler
- Fixes "No API key found for provider anthropic" when user
  configured OpenRouter (wrong default model was being used)
This commit is contained in:
Haze
2026-02-06 03:26:39 +08:00
Unverified
parent 542178c1e7
commit 00475ce2b5
2 changed files with 66 additions and 1 deletions

View File

@@ -21,7 +21,7 @@ import {
} from '../utils/secure-storage';
import { getOpenClawStatus } from '../utils/paths';
import { getSetting } from '../utils/store';
import { saveProviderKeyToOpenClaw } from '../utils/openclaw-auth';
import { saveProviderKeyToOpenClaw, setOpenClawDefaultModel } from '../utils/openclaw-auth';
/**
* Register all IPC handlers
@@ -228,6 +228,13 @@ function registerProviderHandlers(): void {
}
}
// Set the default model in OpenClaw config based on provider type
try {
setOpenClawDefaultModel(config.type);
} catch (err) {
console.warn('Failed to set OpenClaw default model:', err);
}
return { success: true };
} catch (error) {
return { success: false, error: String(error) };