适用场景

适用于下面这种情况:

  • OpenClaw 已经安装并运行
  • 使用的是 Docker Compose
  • 希望让 OpenClaw 调用 OpenAI API
  • 不打算先接 Telegram、WhatsApp 之类的聊天渠道
  • 只先验证网页控制台能否正常调用模型

先说明一件事

OpenClaw 接入 OpenAI API,不是优先去网页设置里找输入框
更稳妥的方式是:

  1. 把 API Key 写进环境变量
  2. 让 Docker 容器读取这个环境变量
  3. 在容器里执行 openclaw onboard
  4. 验证默认模型是否已经切到 openai/gpt-5.4

一、准备 OpenAI API Key

先准备好真实的 OpenAI API Key。

下面这种写法只是示例,不是真实密钥:

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx

不要把真实密钥直接写进博客、聊天记录、截图或公开网页。


二、进入 OpenClaw 目录

cd /你的/OpenClaw/目录

例如:

cd /path/to/openclaw

三、创建或修改 .env 文件

在 OpenClaw 项目目录下创建 .env

vim .env

写入:

OPENAI_API_KEY=你的真实OpenAI_API_KEY

保存退出。


四、在 docker-compose.yml 里把环境变量传给 OpenClaw

打开 docker-compose.yml

vim docker-compose.yml

找到运行 OpenClaw 的服务,在该服务下加入:

environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}

示例:

services:
openclaw-gateway:
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}

注意:

  • openclaw-gateway 只是示例服务名
  • 实际应以自己的 compose 文件中的服务名为准

五、重启容器

docker compose up -d

这一步的目的是让容器重新读取 .env 中的 OPENAI_API_KEY


六、执行 onboarding

先确认服务名:

docker compose ps

假设服务名是 openclaw-gateway,执行:

docker compose exec openclaw-gateway openclaw onboard --auth-choice openai-api-key

七、onboarding 过程中应该怎么选

执行后会进入交互界面。

1)看到安全提示

直接确认继续即可。

2)看到已有配置

如果当前配置本来就能正常运行,选择:

Use existing values

3)看到是否使用已有 OPENAI_API_KEY

如果界面显示类似:

Use existing OPENAI_API_KEY (env: OPENAI_API_KEY, sk-p…xxxx)?

选择:

Yes

这说明容器已经成功读到了环境变量。

4)看到模型设置成功

如果出现类似提示:

Default model set to openai/gpt-5.4

说明 OpenAI API 已经接入成功。

5)看到 Select channel

这一页不是让配置 API,而是在问要不要顺手接聊天渠道。

如果当前只想先验证网页控制台是否可用,直接选择:

Skip for now

不要误以为这一页和 API 接入还有关。


八、手动再设一次默认模型

为了避免默认模型没有切对,可以再执行一次:

docker compose exec openclaw-gateway openclaw models set openai/gpt-5.4

如果服务名不是 openclaw-gateway,替换成自己的服务名。


九、检查是否生效

执行:

docker compose exec openclaw-gateway openclaw models status

重点看两点:

  1. 默认模型是不是:
openai/gpt-5.4
  1. OpenAI provider 是否正常可用

如果这两点正常,说明 API 接入已经完成。


十、网页里怎么验证

打开 OpenClaw 的网页控制台,进入聊天页面,发送一条最简单的测试消息,例如:

Hi

如果网页能正常返回回答,通常说明下面几件事都已经打通:

  • OpenClaw 网关在正常运行
  • 网页前端和后端通信正常
  • 默认模型能被调用
  • OpenAI API 已经生效

十一、最常见的误区

误区 1:去网页里找 API Key 输入框

不建议把重点放在网页输入框上。
更稳的方式是:环境变量 + onboarding

误区 2:看到 Select channel 就以为还没配好 API

不是。
这一步只是问要不要接 Telegram、Slack、WhatsApp 等聊天渠道。

误区 3:.env 写了,但容器里还是读不到

通常是下面几个原因:

  • docker-compose.yml 没有把变量传进去
  • 改完 .env 后没有重启容器
  • 改错了服务名
  • 实际执行命令的不是那个运行 OpenClaw 的容器

十二、最短操作版

如果只想看最短流程,按这个顺序操作即可:

1)写 .env

vim .env

内容:

OPENAI_API_KEY=你的真实OpenAI_API_KEY

2)改 docker-compose.yml

在 OpenClaw 服务下加:

environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}

3)重启

docker compose up -d

4)执行 onboarding

docker compose exec openclaw-gateway openclaw onboard --auth-choice openai-api-key

5)交互中这样选

  • 安全提示:继续
  • 现有配置:Use existing values
  • 使用已有 OPENAI_API_KEYYes
  • 渠道选择:Skip for now

6)强制设置默认模型

docker compose exec openclaw-gateway openclaw models set openai/gpt-5.4

7)检查状态

docker compose exec openclaw-gateway openclaw models status

十三、一个完整示例

下面用占位符写成完整示例,实际使用时替换服务名和 API Key 即可。

.env

OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx

docker-compose.yml

services:
openclaw-gateway:
environment:
OPENAI_API_KEY: ${OPENAI_API_KEY}

命令

cd /path/to/openclaw
docker compose up -d
docker compose exec openclaw-gateway openclaw onboard --auth-choice openai-api-key
docker compose exec openclaw-gateway openclaw models set openai/gpt-5.4
docker compose exec openclaw-gateway openclaw models status

十四、结论

给 OpenClaw 接入 OpenAI API,核心只有一句话:

OPENAI_API_KEY 传进容器,再执行 openclaw onboard --auth-choice openai-api-key

只要 onboarding 中已经识别到环境变量,并显示默认模型设为 openai/gpt-5.4,再加上网页聊天测试正常,基本就说明已经成功。

Leave a Reply

Your email address will not be published. Required fields are marked *