一次成功,不再踩坑
一、前置条件
- OpenClaw 已通过 Docker 部署并正常运行
- 能够通过 SSH 隧道访问 Web 界面
二、开通百炼服务并获取 API Key
2.1 开通服务
- 访问 阿里云百炼控制台
- 根据你的需求选择地域:
- 北京地域:国内用户推荐,网络延迟低
- 新加坡地域:海外用户或有跨境业务需求
- 首次开通自动享有免费额度(每个模型 100 万 Token,有效期 90 天)
2.2 获取 API Key
- 左侧菜单 → API-KEY 管理
- 点击 创建 API-KEY
- 复制生成的密钥(以
sk-开头)
三、配置环境变量
3.1 编辑 .env 文件
cd /opt/openclaw
nano .env
添加以下内容:
DASHSCOPE_API_KEY=sk-你的API密钥
3.2 验证环境变量
cat /opt/openclaw/.env | grep DASHSCOPE_API_KEY
四、修改 docker-compose.yml
确保环境变量传递给容器:
services:
openclaw:
environment:
- NODE_ENV=production
- LOG_LEVEL=info
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_TOKEN}
- DASHSCOPE_API_KEY=${DASHSCOPE_API_KEY} # 添加这一行
如果已存在,确认没有被注释。
五、配置 openclaw.json(关键步骤)
nano /opt/openclaw/config/openclaw.json
写入以下完整配置:
{
"gateway": {
"bind": "lan",
"port": 18789,
"auth": {
"mode": "token"
},
"controlUi": {
"allowedOrigins": [
"http://localhost:18789",
"http://127.0.0.1:18789",
"http://localhost:37406",
"http://127.0.0.1:37406"
]
}
},
"agents": {
"defaults": {
"model": {
"primary": "bailian/qwen-plus"
}
}
},
"models": {
"providers": {
"bailian": {
"api": "openai-completions",
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "${DASHSCOPE_API_KEY}",
"models": [
{
"id": "qwen-plus",
"name": "通义千问 Plus"
}
]
}
}
}
}
关键点:
- ✅
"api": "openai-completions"—— 这一行必须添加,否则会 404 - ✅
baseUrl使用/compatible-mode/v1后缀 - ✅
apiKey使用${DASHSCOPE_API_KEY}引用环境变量
六、重启容器
cd /opt/openclaw
docker compose restart
# 等待 15 秒让服务完全启动
sleep 15
七、验证配置
7.1 检查模型是否加载成功
docker compose logs --tail=20 | grep "agent model"
预期输出:
[gateway] agent model: bailian/qwen-plus
7.2 测试 API 连通性
docker exec -it openclaw-gateway sh -c "curl -s -X POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions \
-H 'Authorization: Bearer $DASHSCOPE_API_KEY' \
-H 'Content-Type: application/json' \
-d '{\"model\": \"qwen-plus\", \"messages\": [{\"role\": \"user\", \"content\": \"你好\"}], \"max_tokens\": 50}' | head -200"
预期输出:返回包含 "content" 的 JSON 响应,不是 404。
八、Web 界面测试
- 确保 SSH 隧道在运行
- 浏览器访问
http://127.0.0.1:37406 - 输入 Token 登录
- 在聊天窗口发送 “你好”
应该能收到 AI 的正常回复。
九、常见错误与解决
| 错误 | 原因 | 解决方法 |
|---|---|---|
404 status code | 缺少 "api": "openai-completions" | 添加该行配置 |
401 Unauthorized | API Key 无效或未传递 | 检查 .env 和 docker-compose.yml |
Connection refused | 容器未启动 | 执行 docker compose up -d |
model_not_found | 模型 ID 不正确 | 改用 qwen-plus 或 qwen-max |
十、模型 ID 参考
| 模型 | ID | 说明 |
|---|---|---|
| Qwen-Plus | qwen-plus | 推荐,平衡性能与成本 |
| Qwen-Max | qwen-max | 最强能力 |
| Qwen-Flash | qwen-flash | 最快响应 |
十一、免费额度说明
| 地域 | 免费额度 | 有效期 |
|---|---|---|
| 北京地域 | 每个模型 100 万 Token | 90 天 |
| 新加坡地域 | 每个模型 100 万 Token | 90 天 |
两个地域都支持免费额度,国内用户推荐选择北京地域(网络延迟更低)。
总结
成功接入百炼的关键配置:
"bailian": {
"api": "openai-completions", // ⭐ 必不可少
"baseUrl": "https://dashscope.aliyuncs.com/compatible-mode/v1",
"apiKey": "${DASHSCOPE_API_KEY}",
"models": [{ "id": "qwen-plus" }]
}
按照以上步骤操作,即可一次成功接入百炼大模型。