OpenClaw配置API Key出错的主因是密钥硬编码提交Git、环境变量未注入systemd或配置文件冲突,导致401失败或静默崩溃;其仅认~/.openclaw/openclaw.json为主配置(覆盖models.json),须将apiKey改为"${ANTHROPIC_API_KEY}"并配合secrets.env与systemd EnvironmentFile注入验证。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

OpenClaw配置API Key出错,最常见的原因是密钥硬编码在JSON配置文件里被意外提交到Git、环境变量未注入到systemd进程、或多个配置文件冲突导致网关读取了过期的密钥。这会导致401认证失败、额度扣光却无提示、甚至服务启动时静默崩溃。
确认密钥加载路径优先级
OpenClaw只认两个位置的密钥配置,且有严格优先级:【~/.openclaw/openclaw.json 为唯一主入口】,它覆盖所有其他配置;【~/.openclaw/agents/main/agent/models.json 仅作历史兼容,不建议修改】。如果你同时在这两个文件里写了apiKey,网关只会用openclaw.json里的值,models.json里的会被忽略——但你可能误以为改了就生效了。
先检查当前Gateway进程运行用户是谁:执行 ps -eo user,comm | grep openclaw-gateway,输出第一列就是用户。所有路径都必须基于该用户的家目录展开,比如root用户要改的是 /root/.openclaw/openclaw.json,不是你的个人目录。
把apiKey替换成环境变量引用
打开 ~/.openclaw/openclaw.json,找到对应provider(如anthropic、openai)的配置段。
把原来写死的 apiKey 字段: "apiKey": "sk-abc123..." → 改成 "apiKey": "${ANTHROPIC_API_KEY}"(注意双引号和花括号不能少)。
这一步必须做,否则密钥会明文留在配置文件里。一旦误传GitHub,API Key立刻暴露,服务商会在几小时内冻结密钥并扣费。
创建secrets.env并注入systemd
在用户家目录下新建文件:~/.openclaw/secrets.env,内容只写一行:ANTHROPIC_API_KEY=sk-your-real-key-here(不要加空格,不要换行,不要引号)。
编辑systemd服务文件:sudo systemctl edit openclaw-gateway,插入以下内容:
[Service]EnvironmentFile=/home/your-username/.openclaw/secrets.env
注意替换 your-username 为你实际的用户名,路径必须绝对且可读——如果填错路径,systemd启动时根本不会报错,而是直接用空环境变量去请求API,结果就是401。
保存后执行:sudo systemctl daemon-reload && sudo systemctl restart openclaw-gateway。
验证环境变量是否真正生效
方法一:查进程环境
运行 sudo cat /proc/$(pgrep -f 'openclaw-gateway')/environ | tr '\0' '\n' | grep ANTHROPIC_API_KEY,能看到完整密钥值才说明注入成功。如果没输出,说明EnvironmentFile路径错、权限不足、或服务没重启。
方法二:用status命令直检
执行 openclaw models status,若返回 ✅ Anthropic: authenticated 就通过了;若显示 ❌ Anthropic: unauthorized,立刻回溯前几步,重点检查secrets.env文件权限是否为600(chmod 600 ~/.openclaw/secrets.env)。
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!










