Technical reference
Surface des identifiants SecretRef
Cette page définit la surface canonique des identifiants SecretRef : les champs d’identifiants qui acceptent une SecretRef (référence reposant sur env/file/exec) au lieu d’une valeur secrète brute.
Périmètre :
- Inclus : uniquement les identifiants fournis par l’utilisateur qu’OpenClaw ne génère ni ne renouvelle.
- Exclus : les identifiants générés ou renouvelés à l’exécution, les données d’actualisation OAuth et les artefacts assimilables à des sessions.
Les listes ci-dessous sont générées à partir du registre source des cibles et vérifiées par rapport à docs/reference/secretref-user-supplied-credentials-matrix.json dans la CI ; ne modifiez pas les entrées manuellement.
Identifiants pris en charge
Cibles de openclaw.json (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.*.apiKeyagents.defaults.memorySearch.remote.apiKeyagents.list[].tts.providers.*.apiKeyagents.list[].memorySearch.remote.apiKeytalk.providers.*.apiKeytalk.realtime.providers.*.apiKeymessages.tts.providers.*.apiKeytools.web.fetch.firecrawl.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.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.authTokentools.web.search.*.apiKeytools.web.search.apiKeygateway.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.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.serviceAccountvia la propriété sœurserviceAccountRef(exception de compatibilité)channels.googlechat.accounts.*.serviceAccountvia la propriété sœurserviceAccountRef(exception de compatibilité)
Cibles de auth-profiles.json (secrets configure + secrets apply + secrets audit)
profiles.*.keyRef(type: "api_key"; non pris en charge lorsqueauth.profiles.<id>.mode = "oauth")profiles.*.tokenRef(type: "token"; non pris en charge lorsqueauth.profiles.<id>.mode = "oauth")
Remarques :
- Les cibles de plan des profils d’authentification nécessitent
agentId; les entrées de plan ciblentprofiles.*.key/profiles.*.tokenet écrivent les références sœurs (keyRef/tokenRef). Les références des profils d’authentification sont incluses dans la résolution à l’exécution et dans la couverture des audits. - Dans
openclaw.json, les SecretRefs doivent utiliser des objets structurés tels que{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}. Les anciennes chaînes de marqueursecretref-env:<ENV_VAR>sont rejetées dans les chemins d’identifiants SecretRef ; exécutezopenclaw doctor --fixpour migrer les marqueurs valides. - Garde de stratégie OAuth :
auth.profiles.<id>.mode = "oauth"ne peut pas être combiné à des entrées SecretRef pour ce profil. Le démarrage, le rechargement et la résolution des profils d’authentification échouent immédiatement lorsque cette stratégie est enfreinte. - Pour les fournisseurs de modèles gérés par SecretRef, les entrées
agents/*/agent/models.jsongénérées conservent des marqueurs non secrets, et non les valeurs secrètes résolues, pour les surfacesapiKeyet d’en-têtes. La conservation des marqueurs fait autorité à partir de la source : OpenClaw écrit les marqueurs depuis l’instantané actif de la configuration source, avant résolution, et non depuis les valeurs secrètes résolues à l’exécution. - Pour la recherche Web : en mode fournisseur explicite (
tools.web.search.providerdéfini), seule la clé du fournisseur sélectionné est active. En mode automatique (tools.web.search.providernon défini), seule la première clé de fournisseur résolue selon l’ordre de priorité est active, et les références des fournisseurs non sélectionnés sont considérées comme inactives jusqu’à leur sélection. Les anciens chemins de fournisseurstools.web.search.*continuent d’être résolus pendant la période de compatibilité, mais la surface SecretRef canonique estplugins.entries.<plugin>.config.webSearch.*.
Identifiants non pris en charge
Ces identifiants appartiennent à des catégories générées, renouvelées, porteuses de session ou persistantes pour OAuth qui ne sont pas adaptées à la résolution externe en lecture seule par SecretRef :
commands.ownerDisplaySecrethooks.tokenhooks.gmail.pushTokenhooks.mappings[].sessionKeyauth-profiles.oauth.*channels.discord.threadBindings.webhookTokenchannels.discord.accounts.*.threadBindings.webhookTokenchannels.whatsapp.creds.jsonchannels.whatsapp.accounts.*.creds.json
Pages connexes
Was this useful?