跳转到主要内容

在 OpenClaw 中配置 gptsapi.net

本周更新

gptsapi.net 是 OpenAI 兼容的 API 代理,使用 /v1/chat/completions 端点,因此在 OpenClaw 中以 openai-completions 类型接入。

1. 获取 API Key

在 gptsapi.net 注册并获取你的 API Key(通常以 sk- 开头)。

2. 设置环境变量

将 API Key 写入环境变量,避免明文存储在配置文件中:

bash# 写入 shell profile(如 ~/.bashrc 或 ~/.zshrc)

export GPTSAPI_KEY="sk-your-api-key-here"
source ~/.bashrc

如果你用 systemd 管理 OpenClaw Gateway,把这行加入 service 文件的 Environment= 或对应的 env file 中。

3. 编辑 openclaw.json

打开配置文件:

vim ~/.openclaw/openclaw.json

添加 provider 定义和模型 allowlist:

{
"agents": {
"defaults": {
"model": {
"primary": "gptsapi/claude-sonnet-4-5-20250929"
},
"models": {
"gptsapi/claude-sonnet-4-5-20250929": {}
}
}
},
"models": {
"mode": "merge",
"providers": {
"gptsapi": {
"baseUrl": "https://api.gptsapi.net/v1",
"apiKey": "${GPTSAPI_KEY}",
"api": "openai-completions",
"models": [
{
"id": "claude-sonnet-4-5-20250929",
"name": "Claude Sonnet 4.5 via gptsapi",
"reasoning": false,
"input": ["text", "image"],
"contextWindow": 200000,
"maxTokens": 8192,
"cost": {
"input": 0.003,
"output": 0.015,
"cacheRead": 0,
"cacheWrite": 0
}
}
]
}
}
}
}

注意:models 数组中的 id 必须与 gptsapi.net 实际接受的模型名一致。上面的 claude-sonnet 是示例,请根据 gptsapi.net 支持的模型列表替换。cost 字段用于 OpenClaw 的用量统计,按实际价格填写即可,不影响功能。

4. 验证配置

# 检查配置是否合法
openclaw doctor
# 查看已注册的模型
openclaw models list

输出中应能看到 gptsapi/claude-sonnet-4-5-20250929 等条目。

5. 切换模型

bash# 通过 CLI 切换主模型
openclaw models set gptsapi/claude-sonnet-4-5-20250929

或在对话中发送 /model gptsapi/claude-sonnet-4-5-20250929 即时切换。

6. 配置 fallback(可选)

如果你同时有其他 provider 的 key,可以设置回退链:

{
"agents": {
"defaults": {
"model": {
"primary": "gptsapi/claude-sonnet-4-5-20250929",
"fallbacks": [
"gptsapi/gpt-5.2"
]
}
}
}
}

当 primary 模型遇到 rate limit 或服务异常时,OpenClaw 会自动按顺序尝试 fallback。

7. 重启 Gateway

# 如果用 daemon 模式
openclaw gateway restart

# 如果用前台模式,Ctrl+C 后重新启动
openclaw gateway

配置生效后,所有 Channel(WhatsApp、Telegram、Slack 等)发来的消息都会通过 gptsapi.net 处理。



排查要点

  • 模型不在列表中 → 检查 agents.defaults.models 里是否有对应的 allowlist 条目,key 格式必须是 gptsapi/<model-id>

  • 模型调用被拒绝 → 一旦设置了 agents.defaults.models,它就变成白名单模式,未列出的模型全部被拦截。确认你要用的模型已加入该字段;如果不需要白名单限制,可以移除整个 models 字段

  • 环境变量未生效 → 确认 Gateway 进程的运行环境能读到 $GPTSAPI_KEY(systemd 服务需要单独配置 env)

这是否解答了您的问题?