Files
openclaw/extensions/google/openclaw.plugin.json
2026-05-02 03:44:46 +01:00

193 lines
5.3 KiB
JSON

{
"id": "google",
"activation": {
"onStartup": false
},
"enabledByDefault": true,
"providers": ["google", "google-gemini-cli", "google-vertex"],
"autoEnableWhenConfiguredProviders": ["google-gemini-cli"],
"modelIdNormalization": {
"providers": {
"google": {
"aliases": {
"gemini-3-pro": "gemini-3-pro-preview",
"gemini-3-flash": "gemini-3-flash-preview",
"gemini-3.1-pro": "gemini-3.1-pro-preview",
"gemini-3.1-flash-lite": "gemini-3.1-flash-lite-preview",
"gemini-3.1-flash": "gemini-3-flash-preview",
"gemini-3.1-flash-preview": "gemini-3-flash-preview"
}
},
"google-vertex": {
"aliases": {
"gemini-3-pro": "gemini-3-pro-preview",
"gemini-3-flash": "gemini-3-flash-preview",
"gemini-3.1-pro": "gemini-3.1-pro-preview",
"gemini-3.1-flash-lite": "gemini-3.1-flash-lite-preview",
"gemini-3.1-flash": "gemini-3-flash-preview",
"gemini-3.1-flash-preview": "gemini-3-flash-preview"
}
}
}
},
"modelPricing": {
"providers": {
"google-gemini-cli": {
"openRouter": {
"provider": "google"
},
"liteLLM": {
"provider": "google"
}
}
}
},
"providerEndpoints": [
{
"endpointClass": "google-generative-ai",
"hosts": ["generativelanguage.googleapis.com"]
},
{
"endpointClass": "google-vertex",
"hosts": ["aiplatform.googleapis.com"],
"googleVertexRegion": "global"
},
{
"endpointClass": "google-vertex",
"hostSuffixes": ["-aiplatform.googleapis.com"],
"googleVertexRegionHostSuffix": "-aiplatform.googleapis.com"
}
],
"providerRequest": {
"providers": {
"google": {
"family": "google"
},
"google-gemini-cli": {
"family": "google"
},
"google-vertex": {
"family": "google"
}
}
},
"setup": {
"providers": [
{
"id": "google-vertex",
"authMethods": ["api-key"],
"envVars": ["GOOGLE_CLOUD_API_KEY"],
"authEvidence": [
{
"type": "local-file-with-env",
"fileEnvVar": "GOOGLE_APPLICATION_CREDENTIALS",
"fallbackPaths": [
"${HOME}/.config/gcloud/application_default_credentials.json",
"${APPDATA}/gcloud/application_default_credentials.json"
],
"requiresAnyEnv": ["GOOGLE_CLOUD_PROJECT", "GCLOUD_PROJECT"],
"requiresAllEnv": ["GOOGLE_CLOUD_LOCATION"],
"credentialMarker": "gcp-vertex-credentials",
"source": "gcloud adc"
}
]
}
]
},
"cliBackends": ["google-gemini-cli"],
"providerAuthEnvVars": {
"google": ["GEMINI_API_KEY", "GOOGLE_API_KEY"]
},
"providerAuthChoices": [
{
"provider": "google",
"method": "api-key",
"choiceId": "gemini-api-key",
"choiceLabel": "Google Gemini API key",
"groupId": "google",
"groupLabel": "Google",
"groupHint": "Gemini API key + OAuth",
"optionKey": "geminiApiKey",
"cliFlag": "--gemini-api-key",
"cliOption": "--gemini-api-key <key>",
"cliDescription": "Gemini API key"
},
{
"provider": "google-gemini-cli",
"method": "oauth",
"choiceId": "google-gemini-cli",
"choiceLabel": "Gemini CLI OAuth",
"choiceHint": "Google OAuth with project-aware token payload",
"groupId": "google",
"groupLabel": "Google",
"groupHint": "Gemini API key + OAuth"
}
],
"uiHints": {
"webSearch.apiKey": {
"label": "Gemini Search API Key",
"help": "Gemini API key for Google Search grounding (fallback: GEMINI_API_KEY env var).",
"sensitive": true,
"placeholder": "AIza..."
},
"webSearch.model": {
"label": "Gemini Search Model",
"help": "Gemini model override for web search grounding."
},
"webSearch.baseUrl": {
"label": "Gemini Search Base URL",
"help": "Optional Gemini API base URL for web search grounding proxies."
}
},
"contracts": {
"mediaUnderstandingProviders": ["google"],
"memoryEmbeddingProviders": ["gemini"],
"imageGenerationProviders": ["google"],
"musicGenerationProviders": ["google"],
"realtimeVoiceProviders": ["google"],
"speechProviders": ["google"],
"videoGenerationProviders": ["google"],
"webSearchProviders": ["gemini"]
},
"mediaUnderstandingProviderMetadata": {
"google": {
"capabilities": ["image", "audio", "video"],
"defaultModels": {
"image": "gemini-3-flash-preview",
"audio": "gemini-3-flash-preview",
"video": "gemini-3-flash-preview"
},
"autoPriority": {
"image": 30,
"audio": 40,
"video": 10
},
"nativeDocumentInputs": ["pdf"]
}
},
"configContracts": {
"compatibilityRuntimePaths": ["tools.web.search.apiKey"]
},
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"webSearch": {
"type": "object",
"additionalProperties": false,
"properties": {
"apiKey": {
"type": ["string", "object"]
},
"model": {
"type": "string"
},
"baseUrl": {
"type": "string"
}
}
}
}
}
}