OpenClaw(AI小龙虾)环境变量配置通常有以下几种方式,以下是详细的配置方法:

配置方式
本地开发环境配置
Linux/macOS
export OPENCLAW_MODEL_PATH="/path/to/model" export OPENCLAW_CACHE_DIR="./cache" # 方法2:永久设置(添加到 ~/.bashrc 或 ~/.zshrc) echo 'export OPENCLAW_API_KEY="your-api-key"' >> ~/.bashrc echo 'export OPENCLAW_MODEL_PATH="$HOME/models/openclaw"' >> ~/.bashrc source ~/.bashrc
Windows
# 命令提示符 set OPENCLAW_API_KEY=your-api-key set OPENCLAW_MODEL_PATH=C:\path\to\model # PowerShell $env:OPENCLAW_API_KEY="your-api-key" $env:OPENCLAW_MODEL_PATH="C:\path\to\model" # 永久设置(系统属性) # 1. 右键"此电脑" → 属性 → 高级系统设置 # 2. 环境变量 → 系统变量 → 新建
使用 .env 文件(推荐)
# 项目根目录创建 .env 文件 # .env 文件内容: OPENCLAW_API_KEY=sk-your-key-here OPENCLAW_BASE_URL=https://api.openclaw.ai/v1 OPENCLAW_MODEL=gpt-4-claw OPENCLAW_MAX_TOKENS=4096 OPENCLAW_TEMPERATURE=0.7 OPENCLAW_LOG_LEVEL=INFO OPENCLAW_CACHE_ENABLED=true
Python代码中加载:
from dotenv import load_dotenv
import os
load_dotenv() # 加载.env文件
api_key = os.getenv("OPENCLAW_API_KEY")
base_url = os.getenv("OPENCLAW_BASE_URL", "https://api.openclaw.ai/v1")
Docker 环境配置
Dockerfile
FROM python:3.9 ENV OPENCLAW_API_KEY="" ENV OPENCLAW_MODEL_PATH="/app/models" ENV OPENCLAW_CACHE_DIR="/app/cache" # ... 其他配置
docker-compose.yml
version: '3.8'
services:
openclaw:
image: openclaw/ai-service
environment:
- OPENCLAW_API_KEY=${OPENCLAW_API_KEY}
- OPENCLAW_MODEL=gpt-4-claw
- OPENCLAW_LOG_LEVEL=INFO
- OPENCLAW_CACHE_ENABLED=true
volumes:
- ./models:/app/models
- ./cache:/app/cache
ports:
- "8000:8000"
主要环境变量说明
必填变量
# API密钥(必须) OPENCLAW_API_KEY=sk-xxxxxxxxxxxxxxxx # 或使用多个API密钥(随机选择) OPENCLAW_API_KEYS=sk-key1,sk-key2,sk-key3
模型相关
# 模型名称(默认:gpt-4-claw) OPENCLAW_MODEL=gpt-4-claw # 模型路径(本地部署时) OPENCLAW_MODEL_PATH=/path/to/model # 最大token数 OPENCLAW_MAX_TOKENS=4096 # 温度参数 OPENCLAW_TEMPERATURE=0.7 # 是否流式输出 OPENCLAW_STREAM=true
服务器配置
# API基础URL OPENCLAW_BASE_URL=https://api.openclaw.ai/v1 # 超时设置(秒) OPENCLAW_TIMEOUT=30 OPENCLAW_CONNECT_TIMEOUT=10 # 重试设置 OPENCLAW_MAX_RETRIES=3 OPENCLAW_RETRY_DELAY=1
缓存配置
# 启用缓存 OPENCLAW_CACHE_ENABLED=true OPENCLAW_CACHE_DIR=./cache OPENCLAW_CACHE_TTL=3600 # 缓存有效期(秒) # Redis缓存(如果使用) OPENCLAW_REDIS_URL=redis://localhost:6379/0
日志配置
# 日志级别 OPENCLAW_LOG_LEVEL=INFO # DEBUG, INFO, WARNING, ERROR # 日志文件 OPENCLAW_LOG_FILE=./logs/openclaw.log # 是否输出到控制台 OPENCLAW_LOG_CONSOLE=true
代理配置
# HTTP代理 OPENCLAW_PROXY=http://proxy.example.com:8080 # 或使用环境变量格式 http_proxy=http://proxy.example.com:8080 https_proxy=http://proxy.example.com:8080
配置文件示例
config.py 配置文件
# config.py
import os
from dataclasses import dataclass
@dataclass
class OpenClawConfig:
api_key: str = os.getenv("OPENCLAW_API_KEY", "")
base_url: str = os.getenv("OPENCLAW_BASE_URL", "https://api.openclaw.ai/v1")
model: str = os.getenv("OPENCLAW_MODEL", "gpt-4-claw")
temperature: float = float(os.getenv("OPENCLAW_TEMPERATURE", 0.7))
max_tokens: int = int(os.getenv("OPENCLAW_MAX_TOKENS", 4096))
timeout: int = int(os.getenv("OPENCLAW_TIMEOUT", 30))
cache_enabled: bool = os.getenv("OPENCLAW_CACHE_ENABLED", "true").lower() == "true"
log_level: str = os.getenv("OPENCLAW_LOG_LEVEL", "INFO")
config = OpenClawConfig()
验证配置
# test_config.py
import os
from openclaw import OpenClawClient
# 验证环境变量
required_vars = ["OPENCLAW_API_KEY"]
missing_vars = [var for var in required_vars if not os.getenv(var)]
if missing_vars:
print(f"Missing environment variables: {missing_vars}")
exit(1)
# 测试连接
try:
client = OpenClawClient(api_key=os.getenv("OPENCLAW_API_KEY"))
models = client.list_models()
print("Configuration successful!")
except Exception as e:
print(f"Configuration error: {e}")
不同环境的配置管理
使用配置管理工具
# 安装direnv管理环境变量 brew install direnv # macOS apt install direnv # Ubuntu # 在项目目录创建 .envrc 文件 echo 'export OPENCLAW_API_KEY="your-key"' > .envrc echo 'export OPENCLAW_ENV="development"' >> .envrc direnv allow
多环境配置
# .env.development OPENCLAW_API_KEY=dev-key OPENCLAW_BASE_URL=http://localhost:8000 # .env.production OPENCLAW_API_KEY=prod-key OPENCLAW_BASE_URL=https://api.openclaw.ai/v1 # 加载对应环境 export ENV=development source .env.$ENV
注意事项
- 安全提醒:不要将API密钥提交到版本控制系统
- 优先级:环境变量 > .env文件 > 默认值
- 格式检查:确保数值类型的变量能正确转换
- 兼容性:不同操作系统环境变量格式可能不同
根据你的具体使用场景选择合适的配置方式。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。