别再把API Key写配置文件里了!手把手教你用.env安全配置OpenClaw(含一键复制模板)
💡 写在前面:
你是不是也遇到过:OpenClaw装好了,却死活连不上 DeepSeek 或 Kimi?
或者在群里看到别人说“密钥泄露”,吓得赶紧去改密码?
2026年新版 OpenClaw 已经不再推荐把敏感信息写在openclaw.json里了!
今天这篇保姆级教程,带你用最安全的.env方式,3分钟搞定所有环境变量配置,顺便送你一份**“复制即用”的配置模板**,彻底告别报错!
🚀 为什么要用 .env 文件?(30秒看懂)
以前我们喜欢把密码直接写在配置文件里,方便是方便,但有两个大坑:
- 不安全:一不小心把配置文件传到 GitHub,黑客直接偷走你的 API Key(这可是要扣钱的!)。
- 难维护:换个环境(比如从本地移到服务器),得手动改一堆文件,容易手滑改错。
现在的最佳实践:
把所有敏感信息(密码、Key、代理)单独放在一个名叫 .env 的文件里。
- ✅ 安全:Docker 自动读取,不落地到代码库。
- ✅ 清爽:配置文件只留逻辑,
.env只留数据。 - ✅ 灵活:换环境只需换一个
.env文件,无需动核心配置。
🛠️ 第一步:创建你的“万能钥匙” (.env 文件)
别自己手写了,容易漏字符!直接复制下面这份模板,保存为 .env 文件(注意文件名前面有个点,且没有后缀名)。
👇 长按复制下方代码块 👇
# ================= 核心安全区 (必填) =================
# 后台登录密码 (建议包含大小写字母+数字+符号)
OPENCLAW_ADMIN_PASSWORD=MyStrongPass2026!
# 系统加密密钥 (生成方法: 在终端运行 openssl rand -hex 32)
OPENCLAW_SECRET_KEY=这里填入你生成的64位随机字符串
# 运行环境 (生产环境务必设为 production)
OPENCLAW_ENV=production
# ================= 大模型配置区 (二选一) =================
# 选项A: 使用 DeepSeek (国内速度快,性价比高)
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-这里填入你的DeepSeek密钥
# 选项B: 使用 阿里云百炼 (通义千问)
# LLM_PROVIDER=aliyun
# ALIYUN_DASHSCOPE_API_KEY=sk-这里填入你的阿里云密钥
# ================= 网络代理区 (国内用户必填!) =================
# 如果你没有代理,请删除下面两行,否则会导致无法启动
HTTP_PROXY=http://127.0.0.1:7890
HTTPS_PROXY=http://127.0.0.1:7890
# 本地地址不需要代理
NO_PROXY=localhost,127.0.0.1,host.docker.internal
# ================= 高级选项 (可选) =================
# 日志级别 (调试时可改为 DEBUG)
LOG_LEVEL=INFO
# 开启技能沙箱 (强烈建议开启,防止恶意代码)
ENABLE_SKILL_SANDBOX=true
⚠️ 重要提示:
- 记得把
MyStrongPass2026!和sk-...替换成你自己的真实信息!- 不要删除行首的
#号以外的内容,那是注释。- 如果你没有代理软件,务必删除
HTTP_PROXY和HTTPS_PROXY这两行,否则会报错!
🐳 第二步:让 Docker 读取它
有了 .env 文件,只需要在启动命令里加一行小代码。
如果你用 docker-compose (推荐)
打开你的 docker-compose.yml,确保里面有这几行:
services:
openclaw:
image: openclaw/core:latest
env_file:
- .env # <--- 就是这一行!告诉它去读 .env 文件
ports:
- "8080:8080"
# ... 其他配置保持不变
然后执行:
docker-compose up -d
如果你用 docker run 命令
直接在命令里加上 --env-file 参数:
docker run -d \
--name openclaw \
--env-file .env \ # <--- 加上这个参数
-p 8080:8080 \
openclaw/core:latest
🔍 第三步:验证是否成功(拒绝玄学)
配置完别急着用,先花10秒钟检查一下,避免“假配置”。
1. 检查变量是否进入容器
在终端运行:
docker exec -it openclaw env | grep DEEPSEEK_API_KEY
- ✅ 成功:会输出
DEEPSEEK_API_KEY=sk-xxxx... - ❌ 失败:没有任何输出 -> 说明
.env文件路径不对,或者文件名写错了(是不是写成了.env.txt?)。
2. 查看启动日志
docker logs openclaw --tail 20
- 寻找关键词:
Configuration loaded from environment或Connected to LLM provider。 - 如果看到
Fallback to default,说明没读到,请检查第一步。
3. 实战测试
登录 OpenClaw 后台,在对话框输入:“今天北京天气怎么样?”
- 如果它能准确回答并显示调用了搜索插件 -> 恭喜,配置完美! 🎉
- 如果提示
Missing API Key-> 请检查 Key 是否复制完整,有没有多余空格。
💣 四大“作死”行为(千万别踩!)
根据社区统计,99% 的配置失败都是因为这几个低级错误:
-
等号后面加空格:
- ❌
DEEPSEEK_API_KEY = sk-xxx(错!) - ✅
DEEPSEEK_API_KEY=sk-xxx(对!) - 空格会被当成密码的一部分,导致验证失败。
- ❌
-
特殊字符没加引号:
- 如果密码里有
$或!,在命令行启动时最好用单引号包起来:'PASSWORD=My$Pass!'。但在.env文件中通常不需要,除非包含特殊 Shell 字符。
- 如果密码里有
-
改了文件没重启:
- 修改
.env后,必须执行docker-compose restart或docker restart openclaw。环境变量只在启动瞬间读取!
- 修改
-
代理配错了协议:
- 访问大模型 API 用的是 HTTPS,所以必须配
HTTPS_PROXY。只配HTTP_PROXY是没用的!
- 访问大模型 API 用的是 HTTPS,所以必须配
🎁 彩蛋:一键生成随机密钥命令
不知道 OPENCLAW_SECRET_KEY 填什么?别去网上找生成器了(不安全),直接在终端运行:
- Mac / Linux:
openssl rand -hex 32 - Windows (PowerShell):
-join ((48..57) + (65..90) + (97..122) | Get-Random -Count 64 | ForEach-Object {[char]$_})
把生成的那串乱码复制进去即可!
现在,你的 OpenClaw 已经处于最安全、最高效的状态了!快去试试让它帮你干活吧! 🦞
(觉得有用?欢迎收藏,帮更多小伙伴避开配置坑!)
浙公网安备 33010602011771号