openclaw secrets apply. Si un destino no coincide con estas reglas, apply falla antes de modificar cualquier archivo.
Forma del archivo de plan
openclaw secrets apply --from <plan.json> espera un array targets de destinos de plan:
openclaw secrets configure genera planes con esta forma. También puedes escribir o editar uno manualmente.
Upserts y eliminaciones de proveedores
Los planes también pueden incluir dos campos opcionales de nivel superior que modifican el mapasecrets.providers junto con las escrituras por destino:
providerUpserts— un objeto indexado por alias de proveedor. Cada valor es una definición de proveedor (la misma forma aceptada bajosecrets.providers.<alias>enopenclaw.json, por ejemplo, un proveedorexecofile).providerDeletes— un array de alias de proveedores que se eliminarán.
providerUpserts se ejecuta antes que targets, por lo que un target.ref.provider puede hacer referencia a un alias de proveedor que el mismo plan introduce en providerUpserts. Sin este orden, los planes que hacen referencia a un alias aún no configurado en openclaw.json fallan con provider "<alias>" is not configured.
providerUpserts siguen sujetos a las reglas de consentimiento de exec en Comportamiento del consentimiento del proveedor exec: los planes que contienen proveedores exec requieren --allow-exec en modo de escritura.
Alcance de destino compatible
Los destinos de plan se aceptan para rutas de credenciales compatibles en Superficie de credenciales SecretRef.Comportamiento del tipo de destino
target.type debe ser un tipo de destino reconocido, y el target.path normalizado debe coincidir con la forma de ruta registrada para ese tipo.
Algunos tipos de destino aceptan un alias de compatibilidad como target.type para planes existentes, además de su nombre de tipo canónico:
| Tipo canónico | Alias aceptado |
|---|---|
models.providers.apiKey | models.providers.*.apiKey |
skills.entries.apiKey | skills.entries.*.apiKey |
channels.googlechat.serviceAccount | channels.googlechat.accounts.*.serviceAccount |
Reglas de validación de rutas
Cada destino se valida con todo lo siguiente:typedebe ser un tipo de destino reconocido.pathdebe ser una ruta de puntos no vacía.pathSegmentspuede omitirse. Si se proporciona, debe normalizarse exactamente a la misma ruta quepath.- Los segmentos prohibidos se rechazan:
__proto__,prototype,constructor. - La ruta normalizada debe coincidir con la forma de ruta registrada para el tipo de destino.
- Si
providerIdoaccountIdestá establecido, debe coincidir con el id codificado en la ruta. - Los destinos
auth-profiles.jsonrequierenagentId. - Al crear una nueva asignación
auth-profiles.json, incluyeauthProfileProvider.
Comportamiento ante fallos
Si un destino falla la validación, apply sale con un error como:Comportamiento del consentimiento del proveedor exec
--dry-runomite las comprobaciones de SecretRef exec de forma predeterminada.- Los planes que contienen SecretRefs/proveedores exec se rechazan en modo de escritura a menos que se establezca
--allow-exec. - Al validar/aplicar planes que contienen exec, pasa
--allow-exectanto en los comandos dry-run como en los de escritura.
Notas de alcance de runtime y auditoría
- Las entradas solo de referencia de
auth-profiles.json(keyRef/tokenRef) se incluyen en la resolución de credenciales de runtime y en la cobertura de auditoría. secrets applyescribe destinos compatibles deopenclaw.json, destinos compatibles deauth-profiles.jsony tres pasadas opcionales de limpieza, cada una activada de forma predeterminada:scrubEnv(elimina valores de texto plano migrados de.env),scrubAuthProfilesForProviderTargets(borra residuos de texto plano/referencias no usadas enauth-profiles.jsonpara proveedores que un plan acaba de migrar) yscrubLegacyAuthJson(elimina entradasapi_keymigradas de almacenes heredadosauth.json). Establece cualquiera deoptions.scrubEnv,options.scrubAuthProfilesForProviderTargets,options.scrubLegacyAuthJsonenfalseen el plan para omitir esa pasada.
Comprobaciones del operador
openclaw secrets configure o corrige la ruta de destino para que tenga una forma compatible de las anteriores.