Configura SecretRef en OpenClaw: Guía de credenciales
Gestionar secretos siempre es un dolor de cabeza. No quieres dejar claves expuestas en el código ni complicar tus archivos de configuración con valores que cambian constantemente. Si buscas una forma clara de manejar tus claves de API y tokens, entender cómo funciona SecretRef en OpenClaw te ayudará a mantener todo bajo control.
Esta página define la superficie de credenciales canónica de SecretRef.
Propósito del alcance:
- Dentro del alcance: estrictamente credenciales proporcionadas por el usuario que OpenClaw no genera ni rota.
- Fuera del alcance: credenciales generadas en tiempo de ejecución, material de refresco OAuth, artefactos de sesión y claves rotativas.
Credenciales soportadas
Sección titulada «Credenciales soportadas»Objetivos de openclaw.json (secrets configure + secrets apply + secrets audit)
Sección titulada «Objetivos de openclaw.json (secrets configure + secrets apply + secrets audit)»models.providers.*.apiKeymodels.providers.*.headers.*skills.entries.*.apiKeyagents.defaults.memorySearch.remote.apiKeyagents.list[].memorySearch.remote.apiKeytalk.apiKeytalk.providers.*.apiKeymessages.tts.providers.*.apiKeytools.web.fetch.firecrawl.apiKeyplugins.entries.brave.config.webSearch.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.tavily.config.webSearch.apiKeytools.web.search.apiKeytools.web.x_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.userTokenchannels.slack.signingSecretchannels.slack.accounts.*.botTokenchannels.slack.accounts.*.appTokenchannels.slack.accounts.*.userTokenchannels.slack.accounts.*.signingSecretchannels.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.bluebubbles.passwordchannels.bluebubbles.accounts.*.passwordchannels.feishu.appSecretchannels.feishu.encryptKeychannels.feishu.verificationTokenchannels.feishu.accounts.*.appSecretchannels.feishu.accounts.*.encryptKeychannels.feishu.accounts.*.verificationTokenchannels.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 siblingserviceAccountRef(compatibility exception)channels.googlechat.accounts.*.serviceAccountvia siblingserviceAccountRef(compatibility exception)
Objetivos de auth-profiles.json (secrets configure + secrets apply + secrets audit)
Sección titulada «Objetivos de auth-profiles.json (secrets configure + secrets apply + secrets audit)»profiles.*.keyRef(type: "api_key"; no soportado cuandoauth.profiles.<id>.mode = "oauth")profiles.*.tokenRef(type: "token"; no soportado cuandoauth.profiles.<id>.mode = "oauth")
Notas:
- Los objetivos del plan de auth-profile requieren
agentId. - Las entradas del plan apuntan a
profiles.*.key/profiles.*.tokeny escriben referencias hermanas (keyRef/tokenRef). - Las referencias de auth-profile se incluyen en la resolución en tiempo de ejecución y en la cobertura de auditoría.
- Guardia de política OAuth:
auth.profiles.<id>.mode = "oauth"no se puede combinar con entradas SecretRef para ese perfil. El inicio/recarga y la resolución de auth-profile fallan rápido cuando se viola esta política. - Para los proveedores de modelos gestionados por SecretRef, las entradas generadas en
agents/*/agent/models.jsonmantienen marcadores que no son secretos (no los valores resueltos) para las superficies deapiKeyo encabezados. - La persistencia de marcadores depende de la fuente de autoridad: OpenClaw escribe marcadores desde la captura de configuración de la fuente activa (antes de la resolución), no desde los valores de secretos resueltos en tiempo de ejecución.
- Para la búsqueda web:
- En el modo de proveedor explícito (con
tools.web.search.providerconfigurado), solo la clave del proveedor seleccionado está activa. - En modo automático (sin
tools.web.search.provider), solo la primera clave de proveedor que se resuelva por precedencia está activa. - En modo automático, las referencias de proveedores no seleccionados se tratan como inactivas hasta que se seleccionen.
- Las rutas de proveedor heredadas
tools.web.search.*todavía se resuelven durante la ventana de compatibilidad, pero la superficie canónica de SecretRef esplugins.entries.<plugin>.config.webSearch.*.
- En el modo de proveedor explícito (con
Credenciales no soportadas
Sección titulada «Credenciales no soportadas»Las credenciales fuera de alcance incluyen:
commands.ownerDisplaySecrethooks.tokenhooks.gmail.pushTokenhooks.mappings[].sessionKeyauth-profiles.oauth.*channels.discord.threadBindings.webhookTokenchannels.discord.accounts.*.threadBindings.webhookTokenchannels.whatsapp.creds.jsonchannels.whatsapp.accounts.*.creds.json
Razón:
- Estas credenciales se generan, rotan, contienen información de sesión o son clases duraderas de OAuth que no encajan con la resolución externa de solo lectura de SecretRef.
Pasos siguientes
Sección titulada «Pasos siguientes»OpenClaw Expert
Sigues atascado?
Si esta pagina no resolvio tu caso, pregunta a OpenClaw Expert para pasos concretos.