Files
openclaw/extensions/openai/openclaw.plugin.json
2026-05-04 17:14:08 -07:00

816 lines
22 KiB
JSON

{
"id": "openai",
"activation": {
"onStartup": false
},
"enabledByDefault": true,
"providers": ["openai", "openai-codex"],
"modelSupport": {
"modelPrefixes": ["gpt-", "o1", "o3", "o4"]
},
"modelPricing": {
"providers": {
"openai-codex": {
"openRouter": {
"provider": "openai"
},
"liteLLM": {
"provider": "openai"
}
}
}
},
"providerEndpoints": [
{
"endpointClass": "openai-public",
"hosts": ["api.openai.com"]
},
{
"endpointClass": "openai-codex",
"hosts": ["chatgpt.com"]
},
{
"endpointClass": "azure-openai",
"hostSuffixes": [".openai.azure.com"]
}
],
"providerRequest": {
"providers": {
"openai": {
"family": "openai-family"
},
"openai-codex": {
"family": "openai-family"
}
}
},
"modelCatalog": {
"providers": {
"openai": {
"baseUrl": "https://api.openai.com/v1",
"api": "openai-responses",
"models": [
{
"id": "gpt-4",
"name": "GPT-4",
"reasoning": false,
"input": ["text"],
"contextWindow": 8192,
"maxTokens": 8192,
"cost": {
"input": 30,
"output": 60,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-4-turbo",
"name": "GPT-4 Turbo",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 4096,
"cost": {
"input": 10,
"output": 30,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-4.1",
"name": "GPT-4.1",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 1047576,
"maxTokens": 32768,
"cost": {
"input": 2,
"output": 8,
"cacheRead": 0.5,
"cacheWrite": 0
}
},
{
"id": "gpt-4.1-mini",
"name": "GPT-4.1 mini",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 1047576,
"maxTokens": 32768,
"cost": {
"input": 0.4,
"output": 1.6,
"cacheRead": 0.1,
"cacheWrite": 0
}
},
{
"id": "gpt-4.1-nano",
"name": "GPT-4.1 nano",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 1047576,
"maxTokens": 32768,
"cost": {
"input": 0.1,
"output": 0.4,
"cacheRead": 0.03,
"cacheWrite": 0
}
},
{
"id": "gpt-4o",
"name": "GPT-4o",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 2.5,
"output": 10,
"cacheRead": 1.25,
"cacheWrite": 0
}
},
{
"id": "gpt-4o-2024-05-13",
"name": "GPT-4o (2024-05-13)",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 4096,
"cost": {
"input": 5,
"output": 15,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-4o-2024-08-06",
"name": "GPT-4o (2024-08-06)",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 2.5,
"output": 10,
"cacheRead": 1.25,
"cacheWrite": 0
}
},
{
"id": "gpt-4o-2024-11-20",
"name": "GPT-4o (2024-11-20)",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 2.5,
"output": 10,
"cacheRead": 1.25,
"cacheWrite": 0
}
},
{
"id": "gpt-4o-mini",
"name": "GPT-4o mini",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 0.15,
"output": 0.6,
"cacheRead": 0.08,
"cacheWrite": 0
}
},
{
"id": "gpt-5",
"name": "GPT-5",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.125,
"cacheWrite": 0
}
},
{
"id": "gpt-5-chat-latest",
"name": "GPT-5 Chat Latest",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.125,
"cacheWrite": 0
}
},
{
"id": "gpt-5-codex",
"name": "GPT-5-Codex",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.125,
"cacheWrite": 0
}
},
{
"id": "gpt-5-mini",
"name": "GPT-5 Mini",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 0.25,
"output": 2,
"cacheRead": 0.025,
"cacheWrite": 0
}
},
{
"id": "gpt-5-nano",
"name": "GPT-5 Nano",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 0.05,
"output": 0.4,
"cacheRead": 0.005,
"cacheWrite": 0
}
},
{
"id": "gpt-5-pro",
"name": "GPT-5 Pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 272000,
"cost": {
"input": 15,
"output": 120,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-5.1",
"name": "GPT-5.1",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.13,
"cacheWrite": 0
}
},
{
"id": "gpt-5.1-chat-latest",
"name": "GPT-5.1 Chat",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.125,
"cacheWrite": 0
}
},
{
"id": "gpt-5.1-codex",
"name": "GPT-5.1 Codex",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.125,
"cacheWrite": 0
}
},
{
"id": "gpt-5.1-codex-max",
"name": "GPT-5.1 Codex Max",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.25,
"output": 10,
"cacheRead": 0.125,
"cacheWrite": 0
}
},
{
"id": "gpt-5.1-codex-mini",
"name": "GPT-5.1 Codex mini",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 0.25,
"output": 2,
"cacheRead": 0.025,
"cacheWrite": 0
}
},
{
"id": "gpt-5.2",
"name": "GPT-5.2",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
}
},
{
"id": "gpt-5.2-chat-latest",
"name": "GPT-5.2 Chat",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
}
},
{
"id": "gpt-5.2-codex",
"name": "GPT-5.2 Codex",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
}
},
{
"id": "gpt-5.2-pro",
"name": "GPT-5.2 Pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 21,
"output": 168,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-5.3-chat-latest",
"name": "GPT-5.3 Chat (latest)",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 16384,
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
}
},
{
"id": "gpt-5.3-codex",
"name": "GPT-5.3 Codex",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 1.75,
"output": 14,
"cacheRead": 0.175,
"cacheWrite": 0
}
},
{
"id": "gpt-5.4",
"name": "GPT-5.4",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 272000,
"maxTokens": 128000,
"cost": {
"input": 2.5,
"output": 15,
"cacheRead": 0.25,
"cacheWrite": 0
}
},
{
"id": "gpt-5.4-mini",
"name": "GPT-5.4 mini",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 0.75,
"output": 4.5,
"cacheRead": 0.075,
"cacheWrite": 0
}
},
{
"id": "gpt-5.4-nano",
"name": "GPT-5.4 nano",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"maxTokens": 128000,
"cost": {
"input": 0.2,
"output": 1.25,
"cacheRead": 0.02,
"cacheWrite": 0
}
},
{
"id": "gpt-5.4-pro",
"name": "GPT-5.4 Pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1050000,
"maxTokens": 128000,
"cost": {
"input": 30,
"output": 180,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-5.5",
"name": "GPT-5.5",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 272000,
"maxTokens": 128000,
"cost": {
"input": 5,
"output": 30,
"cacheRead": 0.5,
"cacheWrite": 0
}
},
{
"id": "o1",
"name": "o1",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 15,
"output": 60,
"cacheRead": 7.5,
"cacheWrite": 0
}
},
{
"id": "o1-pro",
"name": "o1-pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 150,
"output": 600,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "o3",
"name": "o3",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 2,
"output": 8,
"cacheRead": 0.5,
"cacheWrite": 0
}
},
{
"id": "o3-deep-research",
"name": "o3-deep-research",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 10,
"output": 40,
"cacheRead": 2.5,
"cacheWrite": 0
}
},
{
"id": "o3-mini",
"name": "o3-mini",
"reasoning": true,
"input": ["text"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 1.1,
"output": 4.4,
"cacheRead": 0.55,
"cacheWrite": 0
}
},
{
"id": "o3-pro",
"name": "o3-pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 20,
"output": 80,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "o4-mini",
"name": "o4-mini",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 1.1,
"output": 4.4,
"cacheRead": 0.28,
"cacheWrite": 0
}
},
{
"id": "o4-mini-deep-research",
"name": "o4-mini-deep-research",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 100000,
"cost": {
"input": 2,
"output": 8,
"cacheRead": 0.5,
"cacheWrite": 0
}
},
{
"id": "gpt-5.5-pro",
"name": "gpt-5.5-pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1000000,
"maxTokens": 128000,
"cost": {
"input": 30,
"output": 180,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
},
"openai-codex": {
"baseUrl": "https://chatgpt.com/backend-api/codex",
"api": "openai-codex-responses",
"models": [
{
"id": "gpt-5.4-pro",
"name": "gpt-5.4-pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1050000,
"contextTokens": 272000,
"maxTokens": 128000,
"cost": {
"input": 30,
"output": 180,
"cacheRead": 0,
"cacheWrite": 0
}
},
{
"id": "gpt-5.4-mini",
"name": "gpt-5.4-mini",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 400000,
"contextTokens": 272000,
"maxTokens": 128000,
"cost": {
"input": 0.75,
"output": 4.5,
"cacheRead": 0.075,
"cacheWrite": 0
}
},
{
"id": "gpt-5.5-pro",
"name": "gpt-5.5-pro",
"reasoning": true,
"input": ["text", "image"],
"contextWindow": 1000000,
"contextTokens": 272000,
"maxTokens": 128000,
"cost": {
"input": 30,
"output": 180,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
}
},
"aliases": {
"azure-openai-responses": {
"provider": "openai",
"api": "azure-openai-responses"
}
},
"discovery": {
"openai": "static",
"openai-codex": "refreshable"
},
"suppressions": [
{
"provider": "openai",
"model": "gpt-5.3-codex-spark",
"reason": "gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5."
},
{
"provider": "azure-openai-responses",
"model": "gpt-5.3-codex-spark",
"reason": "gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5."
},
{
"provider": "openai-codex",
"model": "gpt-5.3-codex-spark",
"reason": "gpt-5.3-codex-spark is no longer exposed by the OpenAI or Codex catalogs. Use openai/gpt-5.5."
}
]
},
"cliBackends": ["codex-cli"],
"providerAuthEnvVars": {
"openai": ["OPENAI_API_KEY"]
},
"providerAuthChoices": [
{
"provider": "openai-codex",
"method": "oauth",
"choiceId": "openai-codex",
"deprecatedChoiceIds": ["codex-cli", "openai-codex-import"],
"choiceLabel": "OpenAI Codex Browser Login",
"choiceHint": "Sign in with OpenAI in your browser",
"assistantPriority": -30,
"groupId": "openai-codex",
"groupLabel": "OpenAI Codex",
"groupHint": "ChatGPT/Codex sign-in"
},
{
"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-codex",
"groupLabel": "OpenAI Codex",
"groupHint": "ChatGPT/Codex sign-in"
},
{
"provider": "openai",
"method": "api-key",
"choiceId": "openai-api-key",
"choiceLabel": "OpenAI API Key",
"assistantPriority": -40,
"groupId": "openai",
"groupLabel": "OpenAI",
"groupHint": "Direct API key",
"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"]
},
"imageGenerationProviderMetadata": {
"openai": {
"aliases": ["openai-codex"],
"authSignals": [
{
"provider": "openai"
},
{
"provider": "openai-codex",
"providerBaseUrl": {
"provider": "openai",
"defaultBaseUrl": "https://api.openai.com/v1",
"allowedBaseUrls": ["https://api.openai.com/v1"]
}
}
]
}
},
"mediaUnderstandingProviderMetadata": {
"openai": {
"capabilities": ["image", "audio"],
"defaultModels": {
"image": "gpt-5.4-mini",
"audio": "gpt-4o-transcribe"
},
"autoPriority": {
"image": 10,
"audio": 10
}
},
"openai-codex": {
"capabilities": ["image", "audio"],
"defaultModels": {
"image": "gpt-5.5",
"audio": "gpt-4o-transcribe"
},
"autoPriority": {
"image": 20,
"audio": 20
}
}
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"personality": {
"type": "string",
"enum": ["friendly", "on", "off"],
"default": "friendly",
"description": "Legacy compatibility fallback for the shared GPT-5 friendly interaction-style overlay. Prefer agents.defaults.promptOverlays.gpt5.personality. `friendly` and `on` enable the style overlay; `off` disables only that style layer."
}
}
}
}