Files
openclaw/extensions/openai/openclaw.plugin.json
Vincent Koc da86ce7887 feat(openai): add codex device-code auth and fix login options in menu (#69557)
Merged via squash.

Prepared head SHA: 4918ed69f1
Co-authored-by: vincentkoc <25068+vincentkoc@users.noreply.github.com>
Co-authored-by: BunsDev <68980965+BunsDev@users.noreply.github.com>
Reviewed-by: @BunsDev
2026-04-22 02:47:20 -05:00

103 lines
3.0 KiB
JSON

{
"id": "openai",
"enabledByDefault": true,
"providers": ["openai", "openai-codex"],
"modelSupport": {
"modelPrefixes": ["gpt-", "o1", "o3", "o4"]
},
"cliBackends": ["codex-cli"],
"providerAuthEnvVars": {
"openai": ["OPENAI_API_KEY"]
},
"providerAuthChoices": [
{
"provider": "openai-codex",
"method": "oauth",
"choiceId": "openai-codex",
"deprecatedChoiceIds": ["codex-cli"],
"choiceLabel": "OpenAI Codex Browser Login",
"choiceHint": "Sign in with OpenAI in your browser",
"assistantPriority": -30,
"groupId": "openai",
"groupLabel": "OpenAI",
"groupHint": "API key + Codex auth"
},
{
"provider": "openai-codex",
"method": "device-code",
"choiceId": "openai-codex-device-code",
"choiceLabel": "OpenAI Codex Device Pairing",
"choiceHint": "Pair in browser with a device code",
"assistantPriority": -10,
"groupId": "openai",
"groupLabel": "OpenAI",
"groupHint": "API key + Codex auth"
},
{
"provider": "openai-codex",
"method": "import-codex-cli",
"choiceId": "openai-codex-import",
"choiceLabel": "Import Existing Codex Login",
"choiceHint": "Import an existing ~/.codex login",
"assistantPriority": -20,
"groupId": "openai",
"groupLabel": "OpenAI",
"groupHint": "API key + Codex auth"
},
{
"provider": "openai",
"method": "api-key",
"choiceId": "openai-api-key",
"choiceLabel": "OpenAI API Key",
"assistantPriority": -40,
"groupId": "openai",
"groupLabel": "OpenAI",
"groupHint": "API key + Codex auth",
"optionKey": "openaiApiKey",
"cliFlag": "--openai-api-key",
"cliOption": "--openai-api-key <key>",
"cliDescription": "OpenAI API Key"
}
],
"contracts": {
"speechProviders": ["openai"],
"realtimeTranscriptionProviders": ["openai"],
"realtimeVoiceProviders": ["openai"],
"memoryEmbeddingProviders": ["openai"],
"mediaUnderstandingProviders": ["openai", "openai-codex"],
"imageGenerationProviders": ["openai"],
"videoGenerationProviders": ["openai"]
},
"mediaUnderstandingProviderMetadata": {
"openai": {
"capabilities": ["image", "audio"],
"defaultModels": {
"image": "gpt-5.4-mini",
"audio": "gpt-4o-transcribe"
},
"autoPriority": {
"image": 10,
"audio": 10
}
},
"openai-codex": {
"capabilities": ["image"],
"defaultModels": {
"image": "gpt-5.4"
}
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"personality": {
"type": "string",
"enum": ["friendly", "on", "off"],
"default": "friendly",
"description": "Controls the OpenAI-specific friendly interaction-style overlay for GPT-5 OpenAI and OpenAI Codex runs. `friendly` and `on` enable the style overlay; `off` disables only that style layer."
}
}
}
}