OpenClaw gateway start 报 401 Invalid API key?一个环境变量的坑

今天折腾了半小时,终于搞明白为什么 openclaw gateway start 一直报 HTTP 401: Invalid API key,而 openclaw gateway run 却能正常工作。

记录一下,免得以后又踩。


问题现象

用 openclaw gateway run 前台运行,一切正常,能正常对话。

但换成 openclaw gateway start(systemd 后台服务),就报错:

复制代码
HTTP 401: Invalid API key

明明配置文件里 API key 写得好好的,为什么会这样?


原因分析

run 和 start 的区别:

  • run --- 前台运行,直接继承当前 shell 的环境变量
  • start --- 通过 systemd 启动后台服务,环境变量是隔离的

问题就出在这里。

我的 shell 里设置了:

bash 复制代码
export ANTHROPIC_BASE_URL=https://api.aigocode.com
export ANTHROPIC_AUTH_TOKEN=sk-xxx...

gateway run 能继承这些变量,所以能用。但 systemd service 启动时,这些变量根本不存在。

虽然 openclaw.json 配置文件里也写了 apiKey,但 OpenClaw 优先读取环境变量。环境变量不存在时,可能走了默认的 Anthropic 官方 API,然后用配置文件里的 key 去请求------当然会 401。


解决方案

把环境变量加到 systemd service 文件里。

Step 1:找到 service 文件

bash 复制代码
cat ~/.config/systemd/user/openclaw-gateway.service

Step 2:在 [Service] section 添加环境变量

ini 复制代码
[Service]
# ... 其他配置 ...
Environment=ANTHROPIC_BASE_URL=https://api.aigocode.com
Environment=ANTHROPIC_AUTH_TOKEN=sk-你的key

[Install]
WantedBy=default.target

⚠️ 注意 :Environment 必须放在 [Service] section 里,不能放在 [Install] 后面,否则 systemd 会直接忽略。

Step 3:重新加载并重启

bash 复制代码
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway

搞定。


踩坑记录

我一开始用 >> 追加环境变量到文件末尾,结果加到了 [Install] section 后面。systemd 日志里有这么一行:

复制代码
Unknown key name 'Environment' in section 'Install', ignoring.

直接被忽略了,难怪不生效。


写在最后

这个问题的本质是:前台运行和后台服务的环境变量是隔离的。

如果你用的是第三方 API 代理(比如 aigocode),或者自定义了 ANTHROPIC_BASE_URL,记得把这些变量也加到 systemd service 里。

希望这篇文章能帮到遇到同样问题的人。

相关推荐
武天旭18 分钟前
AI安全--AI大模型的隐私保护解析
人工智能·深度学习·安全·机器学习
aifannihao20 分钟前
AI 学习第 5 课:手推逻辑回归与交叉熵,L2 把可分数据的权重按住
人工智能·机器学习·逻辑回归·numpy·学习路线
IHaveADiscovery33 分钟前
无痛让AI由Markdown转Word:Pandoc模板了解一下
人工智能·word·markdown
慢慢来不要急34 分钟前
Anthropic 不用 Git 了,GitHub 也在为智能体重建存储 · 11-06
人工智能·开发工具
宅小年40 分钟前
为什么你的 Grok Bot 总走偏?教你写一个真正好用的 Bot 模板
人工智能
明月_清风41 分钟前
Meta 开源了一个 AI Native 组件库:Astryx,150+ React 组件,专为 AI Agent 而设计
前端·人工智能·ai编程
Disoluteness1144 分钟前
我用 FastAPI + 阿里万相搭了条数字人流水线,做完才发现难点不在生成
aigc
神鹰手哥_起飞版44 分钟前
一句「你确定吗」能让 AI 把白的说成黑的?我用直接用豆包来做实验
人工智能
afumu1 小时前
把五个网页版 AI 拉进同一个群聊:不用 API key 的多 Agent 编排
人工智能·chrome·typescript
寂寞的船1 小时前
【Unity知识速递】第4期 MCP for Unity:用 AI 自然语言控制编辑器
人工智能·unity·编辑器