定义 openclaw secrets apply 强制执行的严格合约。目标不符合规则时,apply 在变更配置前就会失败。
计划文件格式
{
version: 1,
protocolVersion: 1,
targets: [
{
type: "models.providers.apiKey",
path: "models.providers.openai.apiKey",
pathSegments: ["models", "providers", "openai", "apiKey"],
providerId: "openai",
ref: { source: "env", provider: "default", id: "OPENAI_API_KEY" },
},
{
type: "auth-profiles.api_key.key",
path: "profiles.openai:default.key",
pathSegments: ["profiles", "openai:default", "key"],
agentId: "main",
ref: { source: "env", provider: "default", id: "OPENAI_API_KEY" },
},
],
}路径验证规则
type必须是已识别的目标类型path必须是非空点路径pathSegments若提供,必须与path规范化后一致- 禁止段:
__proto__、prototype、constructor auth-profiles.json目标必须提供agentId- 新建
auth-profiles.json映射时需提供authProfileProvider
兼容别名(仍接受)
models.providers.apiKeyskills.entries.apiKeychannels.googlechat.serviceAccount
Exec Provider 同意行为
--dry-run默认跳过 exec SecretRef 检查- 包含 exec SecretRef 的计划在写入模式下被拒绝,除非传
--allow-exec
操作命令
# 验证计划(不写入)
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run
# 实际应用
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json
# exec 计划需显式 opt-in
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --dry-run --allow-exec
openclaw secrets apply --from /tmp/openclaw-secrets-plan.json --allow-exec失败示例
Invalid plan target path for models.providers.apiKey: models.providers.openai.baseUrl无效计划不会提交任何写入。