import type { ProviderPlugin } from "openclaw/plugin-sdk/provider-model-shared" ;
const noopAuth = async () => ({ profiles: [] });
export function createGoogleProvider(): ProviderPlugin {
return {
id: "google" ,
label: "Google AI Studio" ,
docsPath: "/providers/models" ,
hookAliases: ["google-antigravity" , "google-vertex" ],
envVars: ["GEMINI_API_KEY" , "GOOGLE_API_KEY" ],
auth: [
{
id: "api-key" ,
kind: "api_key" ,
label: "Google Gemini API key" ,
hint: "AI Studio / Gemini API key" ,
run: noopAuth,
wizard: {
choiceId: "gemini-api-key" ,
choiceLabel: "Google Gemini API key" ,
groupId: "google" ,
groupLabel: "Google" ,
groupHint: "Gemini API key + OAuth" ,
},
},
],
};
}
export function createGoogleGeminiCliProvider(): ProviderPlugin {
return {
id: "google-gemini-cli" ,
label: "Gemini CLI OAuth" ,
docsPath: "/providers/models" ,
aliases: ["gemini-cli" ],
envVars: [
"OPENCLAW_GEMINI_OAUTH_CLIENT_ID" ,
"OPENCLAW_GEMINI_OAUTH_CLIENT_SECRET" ,
"GEMINI_CLI_OAUTH_CLIENT_ID" ,
"GEMINI_CLI_OAUTH_CLIENT_SECRET" ,
],
auth: [
{
id: "oauth" ,
kind: "oauth" ,
label: "Google OAuth" ,
hint: "PKCE + localhost callback" ,
run: noopAuth,
},
],
wizard: {
setup: {
choiceId: "google-gemini-cli" ,
choiceLabel: "Gemini CLI OAuth" ,
choiceHint: "Google OAuth with project-aware token payload" ,
methodId: "oauth" ,
},
},
};
}
Messung V0.5 in Prozent C=100 H=100 G=100
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-07)
¤
*© Formatika GbR, Deutschland