#!/bin/bash # OpenClaw快速配置DeepSeek脚本 # 适用于已安装OpenClaw,只需配置DeepSeek的用户 set -e # 颜色输出 GREEN='\033[0;32m' YELLOW='\033[1;33m' RED='\033[0;31m' BLUE='\033[0;34m' NC='\033[0m' log() { echo -e "${BLUE}[$(date '+%Y-%m-%d %H:%M:%S')]${NC} $1" } success() { echo -e "${GREEN}✓${NC} $1" } warn() { echo -e "${YELLOW}⚠${NC} $1" } error() { echo -e "${RED}✗${NC} $1" } # 显示标题 echo "========================================" echo " OpenClaw DeepSeek快速配置脚本" echo "========================================" echo "" # 检查OpenClaw if ! command -v openclaw &> /dev/null; then error "OpenClaw未安装,请先安装OpenClaw" exit 1 fi log "检测到OpenClaw版本: $(openclaw --version)" # 检查配置文件 CONFIG_FILE="$HOME/.openclaw/openclaw.json" if [[ ! -f "$CONFIG_FILE" ]]; then error "配置文件不存在: $CONFIG_FILE" error "请先运行 'openclaw onboard' 初始化配置" exit 1 fi # 备份配置 BACKUP_FILE="${CONFIG_FILE}.backup.$(date +%Y%m%d_%H%M%S)" cp "$CONFIG_FILE" "$BACKUP_FILE" success "已备份配置文件到: $BACKUP_FILE" # 获取DeepSeek API密钥 echo "" warn "DeepSeek配置说明:" echo " 1. 访问 https://platform.deepseek.com" echo " 2. 注册/登录账号" echo " 3. 进入API Keys页面创建新密钥" echo " 4. 复制API密钥到此" echo "" read -p "请输入您的DeepSeek API密钥: " DEEPSEEK_API_KEY if [[ -z "$DEEPSEEK_API_KEY" ]]; then error "API密钥不能为空" exit 1 fi # 检查jq是否安装 if ! command -v jq &> /dev/null; then warn "未安装jq,尝试安装..." if command -v apt-get &> /dev/null; then apt-get update && apt-get install -y jq elif command -v yum &> /dev/null; then yum install -y jq elif command -v brew &> /dev/null; then brew install jq else error "无法自动安装jq,请手动安装后重试" exit 1 fi fi # 更新配置 log "更新OpenClaw配置..." # 创建临时配置文件 TEMP_FILE="${CONFIG_FILE}.tmp" # 读取并更新配置 jq --arg api_key "$DEEPSEEK_API_KEY" ' # 更新auth配置 .auth.profiles["deepseek:default"] = { "provider": "deepseek", "mode": "api_key", "apiKey": $api_key } | # 更新models配置 .models.providers.deepseek = { "baseUrl": "https://api.deepseek.com", "api": "openai-completions", "models": [ { "id": "deepseek-chat", "name": "DeepSeek Chat", "api": "openai-completions", "reasoning": false, "input": ["text"], "cost": { "input": 0.14, "output": 0.28, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 131072, "maxTokens": 8192, "compat": { "supportsUsageInStreaming": true } }, { "id": "deepseek-reasoner", "name": "DeepSeek Reasoner", "api": "openai-completions", "reasoning": true, "input": ["text"], "cost": { "input": 0.14, "output": 0.28, "cacheRead": 0, "cacheWrite": 0 }, "contextWindow": 131072, "maxTokens": 65536, "compat": { "supportsUsageInStreaming": true } } ] } | # 设置默认模型 .agents.defaults.model.primary = "deepseek/deepseek-chat" | .agents.defaults.models["deepseek/deepseek-chat"] = {"alias": "DeepSeek"} ' "$CONFIG_FILE" > "$TEMP_FILE" # 替换原文件 mv "$TEMP_FILE" "$CONFIG_FILE" success "配置文件更新完成" # 重启服务 log "重启OpenClaw服务..." if systemctl is-active --quiet openclaw-gateway; then systemctl restart openclaw-gateway sleep 2 success "Gateway服务已重启" else warn "Gateway服务未运行,尝试启动..." if systemctl start openclaw-gateway; then success "Gateway服务已启动" else error "启动Gateway服务失败" fi fi # 验证配置 echo "" log "验证配置..." sleep 3 if openclaw status --minimal &> /dev/null; then success "OpenClaw运行正常" echo "" log "当前会话信息:" openclaw status | grep -A3 "Sessions" || true echo "" success "DeepSeek配置完成!" echo "" log "使用说明:" echo " 1. 运行 'openclaw status' 查看状态" echo " 2. 运行 'openclaw logs --follow' 查看实时日志" echo " 3. 测试发送消息到配置的渠道" echo "" log "DeepSeek优势:" echo " • 价格便宜: ¥1/百万tokens" echo " • 上下文长: 128K tokens" echo " • 性能强大: 接近GPT-4水平" echo " • 原生支持: OpenClaw 2026.3+ 原生集成" else error "OpenClaw状态检查失败,请查看日志:" echo " openclaw logs --tail 50" fi echo "" log "配置完成!您现在可以使用DeepSeek模型了。"