在阿里云上部署OpenClaw时,正确配置API-Key是确保服务能够正常调用大模型能力的关键环节。以下是详细的配置步骤、注意事项和故障排查指南。

一、API-Key的获取与准备

1.1 获取阿里云百炼API-Key

OpenClaw主要对接阿里云百炼平台的大模型服务,需要先获取有效的API-Key:

步骤 操作说明 参考来源
1. 访问控制台 登录阿里云百炼控制台 ,
2. 创建API-Key 进入「API-KEY管理」→「创建API-KEY」 ,
3. 复制密钥 保存生成的AccessKey IDAccessKey Secret
4. 开通服务 确保已开通「通义千问」等目标模型服务

重要提示:阿里云百炼提供免费额度,新用户通常有100万token的试用额度,适合初期测试。

1.2 免费替代方案

如果暂无百炼API-Key,可考虑以下免费方案:

# 示例:配置免费大模型API端点(如OpenAI兼容接口)
# 来源参考:

# config.yaml 配置片段
llm:
  # 阿里云百炼(主推)
  aliyun_bailian:
    access_key_id: "your_access_key_id_here"  # 替换为实际ID
    access_key_secret: "your_access_key_secret_here"  # 替换为实际Secret
    region: "cn-hangzhou"  # 杭州区域
  
  # 免费替代方案(如使用OpenRouter)
  openai_compatible:
    api_base: "https://openrouter.ai/api/v1"
    api_key: "your_openrouter_key"
    model: "qwen/qwen-2.5-32b-instruct"

二、OpenClaw配置文件配置

2.1 核心配置文件位置

OpenClaw的API-Key主要在以下配置文件中设置:

配置文件 路径 作用
主配置文件 /opt/openclaw/config/config.yaml 全局LLM配置
环境变量文件 ~/.bashrc/etc/profile 系统环境变量
Docker环境文件 .env (如使用Docker部署) 容器环境变量

2.2 详细配置步骤

步骤1:编辑主配置文件

# 进入OpenClaw配置目录
cd /opt/openclaw/config

# 备份原始配置
cp config.yaml config.yaml.backup

# 编辑配置文件
vim config.yaml

步骤2:配置API-Key参数

# config.yaml 关键配置区域
# 参考来源:, , 

# LLM提供商配置
llm_providers:
  # 阿里云百炼配置(推荐)
  aliyun_bailian:
    enabled: true
    access_key_id: "LTAI5txxxxxxxxxxxxxxx"  # 替换为你的AccessKey ID
    access_key_secret: "K4Jhxxxxxxxxxxxxxxxxxxxxxxxx"  # 替换为你的AccessKey Secret
    region_id: "cn-hangzhou"  # 区域ID
    endpoint: "dashscope.aliyuncs.com"  # API端点
    
    # 模型配置
    models:
      default: "qwen-max"  # 默认模型
      chat: "qwen-max"     # 对话模型
      embedding: "text-embedding-v2"  # 嵌入模型

# 技能配置中的模型指定
skills:
  web_search:
    enabled: true
    llm_provider: "aliyun_bailian"  # 指定使用百炼
    model: "qwen-max"
    
  code_interpreter:
    enabled: true
    llm_provider: "aliyun_bailian"
    model: "qwen-plus"

步骤3:设置环境变量(可选但推荐)

# 编辑bash配置文件
vim ~/.bashrc

# 添加以下环境变量
export ALIYUN_ACCESS_KEY_ID="LTAI5txxxxxxxxxxxxxxx"
export ALIYUN_ACCESS_KEY_SECRET="K4Jhxxxxxxxxxxxxxxxxxxxxxxxx"
export OPENCLAW_LLM_PROVIDER="aliyun_bailian"

# 使环境变量生效
source ~/.bashrc

步骤4:验证配置

# 重启OpenClaw服务
sudo systemctl restart openclaw

# 查看服务状态
sudo systemctl status openclaw

# 检查API-Key配置是否生效
curl -X GET "http://localhost:18789/api/health" | jq '.llm_status'

三、阿里云安全组配置

确保服务器安全组允许API出站流量:

端口/协议 方向 目的地址 说明
TCP 443 (HTTPS) 出站 0.0.0.0/0 访问百炼API必需
TCP 18789 入站 0.0.0.0/0 OpenClaw管理端口
TCP 3000 入站 0.0.0.0/0 Web控制台端口

配置命令示例

# 添加安全组规则(阿里云CLI)
# 参考来源:
aliyun ecs AuthorizeSecurityGroup \
  --SecurityGroupId sg-xxx \
  --IpProtocol tcp \
  --PortRange 443/443 \
  --SourceCidrIp 0.0.0.0/0 \
  --Policy Accept \
  --Priority 1 \
  --NicType internet

四、故障排查与常见问题

4.1 API-Key验证失败

症状:OpenClaw日志显示Authentication failedInvalid API Key

解决方案

  1. 检查密钥格式:确保没有多余空格或换行符
    echo -n "your_access_key_id" | wc -c
    
  2. 验证密钥有效性
    # 使用curl测试百炼API连通性
    curl -X POST "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
      -H "Authorization: Bearer $(echo -n 'your_access_key_id:your_access_key_secret' | base64)" \
      -H "Content-Type: application/json" \
      -d '{"model":"qwen-max","input":{"messages":[{"role":"user","content":"Hello"}]}}'
    
  3. 检查账户余额:确保百炼账户有足够额度

4.2 网络连接问题

症状Connection timeoutNetwork error

解决方案

  1. 测试网络连通性:
    ping dashscope.aliyuncs.com
    curl -I https://dashscope.aliyuncs.com
    
  2. 检查防火墙设置:
    sudo iptables -L -n | grep 443
    sudo ufw status  # 如果使用UFW
    

4.3 模型不可用错误

症状Model not availableUnsupported model

解决方案

  1. 确认区域支持:某些模型可能只在特定区域可用
  2. 检查模型名称:使用正确的模型标识符
    # 正确的模型名称示例
    models:
      # 通义千问系列
      - "qwen-max"        # 最强版本
      - "qwen-plus"       # 均衡版本
      - "qwen-turbo"      # 快速版本
      
      # 其他阿里云模型
      - "baichuan2-13b"   # 百川模型
    

五、最佳实践与优化建议

5.1 多API-Key轮换策略

对于高频率使用场景,建议配置多个API-Key实现负载均衡:

# 多Key轮换配置示例
llm_providers:
  aliyun_bailian:
    enabled: true
    keys:
      - access_key_id: "KEY_1_ID"
        access_key_secret: "KEY_1_SECRET"
        weight: 50  # 权重50%
      - access_key_id: "KEY_2_ID"
        access_key_secret: "KEY_2_SECRET"
        weight: 30  # 权重30%
      - access_key_id: "KEY_3_ID"
        access_key_secret: "KEY_3_SECRET"
        weight: 20  # 权重20%
    strategy: "round_robin"  # 轮询策略

5.2 监控与告警配置

  1. 用量监控:设置百炼控制台用量告警
  2. 错误监控:配置OpenClaw错误日志监控
    # 监控OpenClaw错误日志
    tail -f /var/log/openclaw/error.log | grep -E "(API|Key|auth|token)"
    

5.3 安全注意事项

  1. 密钥存储安全

    • 禁止将API-Key提交到Git仓库
    • 使用环境变量或密钥管理服务
    • 定期轮换API-Key
  2. 权限最小化

    # 仅为OpenClaw进程设置环境变量
    sudo systemctl edit openclaw
    
    # 在Service配置中添加
    [Service]
    Environment="ALIYUN_ACCESS_KEY_ID=your_id"
    Environment="ALIYUN_ACCESS_KEY_SECRET=your_secret"
    

六、验证部署成功

完成API-Key配置后,通过以下步骤验证:

# 1. 检查OpenClaw服务状态
sudo systemctl status openclaw

# 2. 测试API端点
curl -X POST "http://localhost:18789/api/v1/chat/completions" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen-max",
    "messages": [{"role": "user", "content": "你好"}]
  }'

# 3. 访问Web控制台
# 浏览器访问:http://你的服务器IP:3000
# 参考来源:

# 4. 测试技能功能
curl -X POST "http://localhost:18789/api/skills/execute" \
  -H "Content-Type: application/json" \
  -d '{
    "skill": "web_search",
    "params": {"query": "今天天气如何"}
  }'

如果以上测试均返回正常响应,说明API-Key配置成功,OpenClaw已能正常调用阿里云百炼的大模型服务。如遇问题,可参考OpenClaw日志文件/var/log/openclaw/app.log获取详细错误信息。


参考来源

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐