Technical reference
SecretRef-Anmeldedatenoberfläche
Diese Seite definiert die kanonische SecretRef-Oberfläche für Anmeldedaten: welche Anmeldedatenfelder eine SecretRef (eine umgebungsvariablen-/datei-/exec-gestützte Referenz) anstelle eines unverschlüsselten Geheimniswerts akzeptieren.
Geltungsbereich:
- Im Geltungsbereich: ausschließlich vom Benutzer bereitgestellte Anmeldedaten, die OpenClaw weder ausstellt noch rotiert.
- Außerhalb des Geltungsbereichs: zur Laufzeit ausgestellte oder rotierende Anmeldedaten, OAuth-Aktualisierungsmaterial und sitzungsähnliche Artefakte.
Die folgenden Listen werden aus der Quell-Zielregistrierung generiert und in der CI anhand von docs/reference/secretref-user-supplied-credentials-matrix.json geprüft; bearbeiten Sie die Einträge nicht manuell.
Unterstützte Anmeldedaten
openclaw.json-Ziele (secrets configure + secrets apply + secrets audit)
models.providers.*.apiKeymodels.providers.*.headers.*models.providers.*.request.auth.tokenmodels.providers.*.request.auth.valuemodels.providers.*.request.headers.*models.providers.*.request.proxy.tls.camodels.providers.*.request.proxy.tls.certmodels.providers.*.request.proxy.tls.keymodels.providers.*.request.proxy.tls.passphrasemodels.providers.*.request.tls.camodels.providers.*.request.tls.certmodels.providers.*.request.tls.keymodels.providers.*.request.tls.passphraseskills.entries.*.apiKeymemory.search.remote.apiKeyagents.entries.*.tts.providers.*.apiKeyagents.entries.*.memory.search.remote.apiKeytalk.providers.*.apiKeytalk.realtime.providers.*.apiKeytts.providers.*.apiKeyplugins.entries.acpx.config.mcpServers.*.env.*plugins.entries.brave.config.webSearch.apiKeyplugins.entries.codex.config.appServer.authTokenplugins.entries.codex.config.appServer.headers.*plugins.entries.exa.config.webSearch.apiKeyplugins.entries.firecrawl.config.webFetch.apiKeyplugins.entries.google-meet.config.realtime.providers.*.apiKeyplugins.entries.google.config.webSearch.apiKeyplugins.entries.xai.config.webSearch.apiKeyplugins.entries.moonshot.config.webSearch.apiKeyplugins.entries.perplexity.config.webSearch.apiKeyplugins.entries.firecrawl.config.webSearch.apiKeyplugins.entries.minimax.config.webSearch.apiKeyplugins.entries.tavily.config.webSearch.apiKeyplugins.entries.parallel.config.webSearch.apiKeyplugins.entries.voice-call.config.realtime.providers.*.apiKeyplugins.entries.voice-call.config.streaming.providers.*.apiKeyplugins.entries.voice-call.config.tts.providers.*.apiKeyplugins.entries.voice-call.config.twilio.authTokenplugins.entries.webhooks.config.routes.*.secretgateway.auth.passwordgateway.auth.tokengateway.remote.tokengateway.remote.passwordcron.webhookTokenchannels.telegram.botTokenchannels.telegram.webhookSecretchannels.telegram.accounts.*.botTokenchannels.telegram.accounts.*.webhookSecretchannels.slack.botTokenchannels.slack.appTokenchannels.slack.relay.authTokenchannels.slack.userTokenchannels.slack.signingSecretchannels.slack.accounts.*.botTokenchannels.slack.accounts.*.appTokenchannels.slack.accounts.*.relay.authTokenchannels.slack.accounts.*.userTokenchannels.slack.accounts.*.signingSecretchannels.sms.authTokenchannels.sms.accounts.*.authTokenchannels.clickclack.tokenchannels.clickclack.accounts.*.tokenchannels.discord.tokenchannels.discord.pluralkit.tokenchannels.discord.voice.tts.providers.*.apiKeychannels.discord.accounts.*.tokenchannels.discord.accounts.*.pluralkit.tokenchannels.discord.accounts.*.voice.tts.providers.*.apiKeychannels.irc.passwordchannels.irc.nickserv.passwordchannels.irc.accounts.*.passwordchannels.irc.accounts.*.nickserv.passwordchannels.feishu.appSecretchannels.feishu.encryptKeychannels.feishu.verificationTokenchannels.feishu.accounts.*.appSecretchannels.feishu.accounts.*.encryptKeychannels.feishu.accounts.*.verificationTokenchannels.qqbot.clientSecretchannels.qqbot.accounts.*.clientSecretchannels.msteams.appPasswordchannels.mattermost.botTokenchannels.mattermost.accounts.*.botTokenchannels.matrix.accessTokenchannels.matrix.passwordchannels.matrix.accounts.*.accessTokenchannels.matrix.accounts.*.passwordchannels.nextcloud-talk.botSecretchannels.nextcloud-talk.apiPasswordchannels.nextcloud-talk.accounts.*.botSecretchannels.nextcloud-talk.accounts.*.apiPasswordchannels.zalo.botTokenchannels.zalo.webhookSecretchannels.zalo.accounts.*.botTokenchannels.zalo.accounts.*.webhookSecretchannels.googlechat.serviceAccountüber das benachbarteserviceAccountRef(Kompatibilitätsausnahme)channels.googlechat.accounts.*.serviceAccountüber das benachbarteserviceAccountRef(Kompatibilitätsausnahme)
auth-profiles.json-Ziele (secrets configure + secrets apply + secrets audit)
profiles.*.keyRef(type: "api_key"; nicht unterstützt, wennauth.profiles.<id>.mode = "oauth")profiles.*.tokenRef(type: "token"; nicht unterstützt, wennauth.profiles.<id>.mode = "oauth")
Hinweise:
- Planziele für Authentifizierungsprofile erfordern
agentId; Planeinträge zielen aufprofiles.*.key/profiles.*.tokenund schreiben benachbarte Referenzen (keyRef/tokenRef). Referenzen von Authentifizierungsprofilen sind in der Laufzeitauflösung und der Audit-Abdeckung enthalten. - In
openclaw.jsonmüssen SecretRefs strukturierte Objekte wie{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}verwenden. Veraltetesecretref-env:<ENV_VAR>-Markierungszeichenfolgen werden in SecretRef-Anmeldedatenpfaden abgelehnt; führen Sieopenclaw doctor --fixaus, um gültige Markierungen zu migrieren. - OAuth-Richtlinienschutz:
auth.profiles.<id>.mode = "oauth"kann für dieses Profil nicht mit SecretRef-Eingaben kombiniert werden. Start/Neuladen und die Auflösung von Authentifizierungsprofilen schlagen bei einem Verstoß gegen diese Richtlinie sofort fehl. - Bei SecretRef-verwalteten Modell-Providern speichern generierte
agents/*/agent/models.json-Einträge nicht geheime Markierungen (keine aufgelösten Geheimniswerte) fürapiKey-/Header-Oberflächen. Die Speicherung der Markierungen richtet sich maßgeblich nach der Quelle: OpenClaw schreibt Markierungen aus dem aktiven Quellkonfigurations-Snapshot (vor der Auflösung), nicht aus aufgelösten Geheimniswerten der Laufzeit. - Beim Kaltstart des Gateways können wiederholbare Auflösungsfehler für zugeordnete Eigentümer außerhalb des Gateways isoliert werden. Zu den derzeit zugeordneten Klassen gehören Modell-Provider und Skills, Medien-/TTS-/Cron-Provider, geeignete Authentifizierungsprofile, agentenspezifischer Speicher, Sandbox-SSH, Kanalkonten und im Manifest deklarierte Plugin-Routen. Beim Start bleiben die expliziten Referenzen jedes fehlgeschlagenen Eigentümers im Laufzeit-Snapshot erhalten, der Eigentümer wird über Status und Doctor gemeldet, und Anfragen für diesen Eigentümer werden abgelehnt, ohne Anmeldedaten mit niedrigerer Priorität auszuprobieren. Neuladen und die Vorabprüfung beim Schreiben der Konfiguration verwenden dieselbe eigentümerbezogene Richtlinie: Fehlerfreie Eigentümer werden aktualisiert; ein geeigneter fehlgeschlagener Eigentümer bleibt nur dann veraltet, wenn seine Referenzidentitäten, Provider-Definitionen und sein vollständiger nicht geheimer Eigentümervertrag unverändert sind; ein neuer oder geänderter Fehler führt zu einem Kaltzustand. Gateway-Eingangsauthentifizierung, strukturell ungültige Referenzen oder Werte, bei Fehlern geschlossene Eigentümer und derzeit nicht zugeordnete Eigentümer bleiben strikt.
- Für die Websuche gilt: Im expliziten Provider-Modus (
tools.web.search.providergesetzt) ist nur der Schlüssel des ausgewählten Providers aktiv. Im automatischen Modus (tools.web.search.providernicht gesetzt) ist nur der erste nach Priorität aufgelöste Provider-Schlüssel aktiv; Referenzen nicht ausgewählter Provider werden bis zu ihrer Auswahl als inaktiv behandelt. Provider-Anmeldedaten verwendenplugins.entries.<plugin>.config.webSearch.*. - Slack
identity: "user"verwendetchannels.slack.userTokenmitchannels.slack.appTokenfür den Socket Mode oderchannels.slack.signingSecretfür den HTTP-Modus. Dieselbe Kombination gilt unterchannels.slack.accounts.*; für diese Identität ist kein Bot-Token erforderlich.
Nicht unterstützte Anmeldedaten
Diese Anmeldedaten gehören zu ausgestellten, rotierten, sitzungstragenden oder dauerhaft für OAuth verwendeten Klassen, die nicht zur schreibgeschützten externen SecretRef-Auflösung passen:
hooks.tokenhooks.gmail.pushTokenhooks.mappings[].sessionKeyauth-profiles.oauth.*channels.discord.threadBindings.webhookTokenchannels.discord.accounts.*.threadBindings.webhookTokenchannels.whatsapp.creds.jsonchannels.whatsapp.accounts.*.creds.json
Verwandte Themen
Was this useful?