mirror of
https://github.com/openclaw/openclaw.git
synced 2026-07-15 10:36:09 +00:00
* feat(onboarding): add provider sign-in flows * fix(oauth): keep callback compatibility * fix(onboarding): reconcile lost auth outcomes * fix(onboarding): lock auth cancellation at commit * fix(onboarding): close provider auth lifecycle gaps * fix(onboarding): make terminal auth failures dismissable * fix(onboarding): satisfy native app checks * fix(onboarding): reconcile absent auth sessions * fix(onboarding): bound provider auth sessions * fix(onboarding): open provider auth links safely * test(onboarding): use scanner-safe auth fixtures * revert: keep established onboarding auth fixtures * fix(onboarding): close provider auth cancellation gaps * fix(gateway): retain uncollected wizard results * fix(onboarding): bind provider reconciliation attempt * fix(i18n): avoid guessing moved string identities * style(onboarding): normalize remote auth choices efficiently * fix(protocol): refresh optional provider auth choices * test(gateway): cover provider auth dispatch order * refactor(macos): split onboarding setup support * fix(macos): refresh merged native checks
103 lines
2.5 KiB
JSON
103 lines
2.5 KiB
JSON
{
|
|
"id": "openrouter",
|
|
"icon": "https://cdn.simpleicons.org/openrouter",
|
|
"activation": {
|
|
"onStartup": false
|
|
},
|
|
"enabledByDefault": true,
|
|
"providers": ["openrouter"],
|
|
"modelIdNormalization": {
|
|
"providers": {
|
|
"openrouter": {
|
|
"prefixWhenBare": "openrouter"
|
|
}
|
|
}
|
|
},
|
|
"modelPricing": {
|
|
"providers": {
|
|
"openrouter": {
|
|
"openRouter": {
|
|
"passthroughProviderModel": true
|
|
},
|
|
"liteLLM": false
|
|
}
|
|
}
|
|
},
|
|
"providerEndpoints": [
|
|
{
|
|
"endpointClass": "openrouter",
|
|
"hostSuffixes": ["openrouter.ai"]
|
|
}
|
|
],
|
|
"providerRequest": {
|
|
"providers": {
|
|
"openrouter": {
|
|
"family": "openrouter"
|
|
}
|
|
}
|
|
},
|
|
"setup": {
|
|
"providers": [
|
|
{
|
|
"id": "openrouter",
|
|
"envVars": ["OPENROUTER_API_KEY"]
|
|
}
|
|
]
|
|
},
|
|
"providerAuthChoices": [
|
|
{
|
|
"provider": "openrouter",
|
|
"method": "api-key",
|
|
"choiceId": "openrouter-api-key",
|
|
"appGuidedSecret": true,
|
|
"choiceLabel": "OpenRouter API key",
|
|
"groupId": "openrouter",
|
|
"groupLabel": "OpenRouter",
|
|
"groupHint": "OAuth or API key",
|
|
"onboardingScopes": ["text-inference", "music-generation"],
|
|
"optionKey": "openrouterApiKey",
|
|
"cliFlag": "--openrouter-api-key",
|
|
"cliOption": "--openrouter-api-key <key>",
|
|
"cliDescription": "OpenRouter API key"
|
|
},
|
|
{
|
|
"provider": "openrouter",
|
|
"method": "oauth",
|
|
"choiceId": "openrouter-oauth",
|
|
"appGuidedAuth": "oauth",
|
|
"choiceLabel": "OpenRouter OAuth",
|
|
"choiceHint": "Browser sign-in",
|
|
"groupId": "openrouter",
|
|
"groupLabel": "OpenRouter",
|
|
"groupHint": "OAuth or API key",
|
|
"onboardingScopes": ["text-inference", "music-generation"],
|
|
"onboardingFeatured": true
|
|
}
|
|
],
|
|
"contracts": {
|
|
"mediaUnderstandingProviders": ["openrouter"],
|
|
"imageGenerationProviders": ["openrouter"],
|
|
"musicGenerationProviders": ["openrouter"],
|
|
"videoGenerationProviders": ["openrouter"],
|
|
"speechProviders": ["openrouter"],
|
|
"usageProviders": ["openrouter"]
|
|
},
|
|
"mediaUnderstandingProviderMetadata": {
|
|
"openrouter": {
|
|
"capabilities": ["image", "audio"],
|
|
"defaultModels": {
|
|
"image": "auto",
|
|
"audio": "openai/whisper-large-v3-turbo"
|
|
},
|
|
"autoPriority": {
|
|
"audio": 35
|
|
}
|
|
}
|
|
},
|
|
"configSchema": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {}
|
|
}
|
|
}
|