Install
openclaw skills install env-secure-managerSecure environment variable & secret management with AES-256 encryption, auto-redaction, permission control, prevent credential leakage
openclaw skills install env-secure-manager| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 操作类型:init/set/get/list/delete/redact/loadFromEnv |
| key | string | 否 | set/get/delete操作必填,环境变量名,大写字母+下划线 |
| value | string | 否 | set操作必填,变量值 |
| isSecret | boolean | 否 | set操作可选,是否为敏感信息,默认false |
| allowSecret | boolean | 否 | get操作可选,是否允许获取敏感值,默认false |
| text | string | 否 | redact操作必填,要脱敏的文本 |
| prefix | string | 否 | loadFromEnv操作可选,环境变量前缀,默认OPENCLAW_ |
| encryptionKey | string | 否 | init操作可选,自定义32位加密密钥 |
// 使用自定义密钥
await skills.envSecureManager({
action: "init",
encryptionKey: "你的32位安全密钥"
});
// 自动生成密钥
await skills.envSecureManager({ action: "init" });
await skills.envSecureManager({
action: "set",
key: "OPENAI_API_KEY",
value: "sk-xxx",
isSecret: true
});
const result = await skills.envSecureManager({
action: "get",
key: "OPENAI_API_KEY",
allowSecret: true // 必须显式授权才能获取敏感值
});
// 即使日志里不小心打印了密钥,也会自动脱敏
const logText = `调用OpenAI API,密钥是sk-xxx,参数是xxx`;
const redacted = await skills.envSecureManager({
action: "redact",
text: logText
});
// 输出:调用OpenAI API,密钥是***REDACTED***,参数是xxx