OpenClaw小龙虾最全使用视频教程大全-OpenClaw API Key 配置完整指南

OpenClaw 支持多种 API Key 配置方式,每种方式都有其适用场景和优先级。

配置方式对比

方式 优先级 适用场景 持久化 难度
环境变量 ⭐⭐⭐⭐⭐ 最高 临时测试、Docker、CI/CD ⭐ 简单
Agent 专属配置 ⭐⭐⭐⭐ 高 多 Agent 不同 Key ⭐⭐ 中等
全局配置 ⭐⭐⭐ 中 所有 Agent 共享 ⭐ 简单
配置向导 ⭐⭐ 低 首次安装 ⭐ 简单

? 配置优先级

优先级顺序(从高到低)

1. 环境变量(最高优先级)
   ↓
2. Agent 专属配置
   ↓
3. 全局配置
   ↓
4. 配置向导
   ↓
5. 默认值(最低优先级)

优先级示例

假设你同时配置了:

# 1. 环境变量
export ANTHROPIC_API_KEY="sk-ant-env"

# 2. Agent 配置
openclaw config set models.providers.anthropic.apiKey "sk-ant-agent" --agent tech-dev

# 3. 全局配置
openclaw config set models.providers.anthropic.apiKey "sk-ant-global"
```text
**实际使用**: `sk-ant-env`(环境变量优先级最高)

---

## ? 方式一:环境变量(推荐:临时测试)

### 适用场景

- ✅ 临时测试不同的 API Key
- ✅ Docker 容器部署
- ✅ CI/CD 自动化
- ✅ 不想写入配置文件
- ✅ 需要最高优先级

### 配置方法

#### 临时设置(当前会话)

```bash
# Anthropic
export ANTHROPIC_API_KEY="sk-ant-xxx"

# OpenAI
export OPENAI_API_KEY="sk-xxx"

# Google
export GOOGLE_API_KEY="xxx"

# DeepSeek
export DEEPSEEK_API_KEY="sk-xxx"

# Moonshot
export MOONSHOT_API_KEY="sk-xxx"
```text
#### 永久设置(写入 Shell 配置)

**macOS/Linux (zsh)**:
```bash
# 添加到 ~/.zshrc
echo 'export ANTHROPIC_API_KEY="sk-ant-xxx"' >> ~/.zshrc
source ~/.zshrc
```text
**macOS/Linux (bash)**:
```bash
# 添加到 ~/.bashrc
echo 'export ANTHROPIC_API_KEY="sk-ant-xxx"' >> ~/.bashrc
source ~/.bashrc
```text
**Windows (PowerShell)**:
```powershell
# 临时设置
$env:ANTHROPIC_API_KEY="sk-ant-xxx"

# 永久设置(用户级)
[System.Environment]::SetEnvironmentVariable("ANTHROPIC_API_KEY", "sk-ant-xxx", "User")
```text
### 验证配置

```bash
# 查看环境变量
echo $ANTHROPIC_API_KEY

# 测试连接
openclaw models list
```text
### 优点和缺点

**优点**:
- ✅ 最高优先级,覆盖所有其他配置
- ✅ 灵活,易于切换
- ✅ 适合 Docker 和 CI/CD
- ✅ 不写入配置文件,更安全

**缺点**:
- ❌ 临时设置重启后失效
- ❌ 不适合多 Agent 场景
- ❌ 需要在每个终端会话中设置

---

## ? 方式二:Agent 专属配置(推荐:多 Agent)

### 适用场景

- ✅ 多个 Agent 使用不同的 API Key
- ✅ 需要隔离配置
- ✅ 长期使用
- ✅ 需要持久化

### 配置方法

#### 使用命令行

```bash
# 为特定 Agent 配置
openclaw config set models.providers.anthropic.apiKey "sk-ant-xxx" --agent tech-dev

# 为另一个 Agent 配置不同的 Key
openclaw config set models.providers.openai.apiKey "sk-yyy" --agent content-writer

# 验证配置
openclaw config get models.providers.anthropic.apiKey --agent tech-dev
```text
#### 直接编辑配置文件

**配置文件位置**: `~/.openclaw/agents/<agentId>/openclaw.json`

```bash
# 编辑配置文件
nano ~/.openclaw/agents/tech-dev/openclaw.json
```text
**配置内容**:
```json
{
  "models": {
    "default": "anthropic/claude-sonnet-4-5",
    "providers": {
      "anthropic": {
        "apiKey": "sk-ant-xxx",
        "baseUrl": "https://api.anthropic.com"
      }
    }
  }
}
```text
### 验证配置

```bash
# 查看 Agent 配置
openclaw config get --agent tech-dev

# 测试连接
openclaw agent --message --agent tech-dev "Hello"
```text
### 优点和缺点

**优点**:
- ✅ 每个 Agent 独立配置
- ✅ 配置隔离,互不影响
- ✅ 持久化存储
- ✅ 适合多 Agent 场景

**缺点**:
- ❌ 需要为每个 Agent 单独配置
- ❌ 管理成本较高
- ❌ 被环境变量覆盖

---

## ? 方式三:全局配置(推荐:单 Agent)

### 适用场景

- ✅ 所有 Agent 共享同一个 API Key
- ✅ 单 Agent 使用
- ✅ 长期使用
- ✅ 需要持久化

### 配置方法

#### 方法1:交互式命令(推荐新手)

```bash
# 运行交互式命令
openclaw models auth add

# 按提示操作:
# 1. 选择 provider(如 anthropic)
# 2. 输入 API Key
# 3. 确认保存
```text
#### 方法2:配置命令

```bash
# 直接设置
openclaw config set models.providers.anthropic.apiKey "sk-ant-xxx"

# 设置默认 model
openclaw config set models.default "anthropic/claude-sonnet-4-5"

# 验证配置
openclaw config get models.providers.anthropic.apiKey
```text
#### 方法3:直接编辑配置文件

**配置文件位置**: `~/.openclaw/openclaw.json`

```bash
# 编辑配置文件
nano ~/.openclaw/openclaw.json
```text
**配置内容**:
```json
{
  "models": {
    "default": "anthropic/claude-sonnet-4-5",
    "providers": {
      "anthropic": {
        "apiKey": "sk-ant-xxx"
      },
      "openai": {
        "apiKey": "sk-yyy"
      }
    }
  }
}
```text
### 验证配置

```bash
# 查看全局配置
openclaw config get

# 测试连接
openclaw models list
```text
### 优点和缺点

**优点**:
- ✅ 配置一次,全局生效
- ✅ 持久化存储
- ✅ 适合大多数场景
- ✅ 管理简单

**缺点**:
- ❌ 无法区分不同 Agent
- ❌ 被环境变量和 Agent 配置覆盖

---

## ? 方式四:配置向导(推荐:首次安装)

### 适用场景

- ✅ 首次安装 OpenClaw
- ✅ 不熟悉命令行
- ✅ 需要交互式引导

### 配置方法

```bash
# 运行配置向导
openclaw onboard

# 按提示操作:
# 1. 选择 provider
# 2. 输入 API Key
# 3. 选择默认 model
# 4. 完成配置
```text
### 验证配置

```bash
# 查看配置
openclaw config get

# 测试连接
openclaw channels status
```text
### 优点和缺点

**优点**:
- ✅ 交互式,不易出错
- ✅ 适合新手
- ✅ 一次性完成所有配置

**缺点**:
- ❌ 只能配置一次
- ❌ 修改配置需要其他方式
- ❌ 优先级最低

---

## ? 配置验证

### 检查配置是否生效

```bash
# 1. 查看配置
openclaw config get models.providers.anthropic.apiKey

# 2. 查看环境变量
echo $ANTHROPIC_API_KEY

# 3. 测试 API 连接
openclaw models list

# 4. 查看 Gateway 状态
openclaw channels status

# 5. 发送测试消息
openclaw agent --message "Hello, test API Key"
```text
### 查看生效的配置

```bash
# 查看当前使用的 model
openclaw config get models.default

# 查看所有 provider 配置
openclaw config get models.providers

# 以 JSON 格式输出
openclaw config get --json
```text
---

## ? 配置故障排查

### 问题1:配置后不生效

**症状**: 设置了 API Key,但仍然提示未配置

**排查步骤**:

1. **检查配置优先级**
   ```bash
   # 检查环境变量(最高优先级)
   echo $ANTHROPIC_API_KEY
   
   # 检查 Agent 配置
   openclaw config get models.providers.anthropic.apiKey --agent tech-dev
   
   # 检查全局配置
   openclaw config get models.providers.anthropic.apiKey
  1. 重启 Gateway

    openclaw gateway restart
  2. 查看日志

    openclaw logs --tail 50
  3. 验证 API Key 格式

    # Anthropic: sk-ant-xxx
    # OpenAI: sk-xxx
    # Google: xxx

问题2:多个 Agent 使用不同的 API Key

场景: 需要为不同的 Agent 配置不同的 API Key

解决方案:

# 方案1:使用 Agent 专属配置
openclaw config set models.providers.anthropic.apiKey "sk-ant-xxx" --agent tech-dev
openclaw config set models.providers.openai.apiKey "sk-yyy" --agent content-writer

# 方案2:使用环境变量(临时切换)
export ANTHROPIC_API_KEY="sk-ant-xxx"
openclaw agent --message --agent tech-dev "Hello"

export ANTHROPIC_API_KEY="sk-ant-yyy"
openclaw agent --message --agent content-writer "Hello"
```text
---

### 问题3:如何切换 provider

**场景**: 需要在不同的 AI provider 之间切换

**解决方案**:

```bash
# 查看当前 provider
openclaw config get models.default

# 切换到 Anthropic
openclaw config set models.default "anthropic/claude-sonnet-4-5"

# 切换到 OpenAI
openclaw config set models.default "openai/gpt-4"

# 切换到 Google
openclaw config set models.default "google/gemini-pro"

# 验证
openclaw models list
```text
---

### 问题4:API Key 泄露了怎么办

**应急措施**:

1. **立即撤销旧 Key**
   - 登录 provider 控制台
   - 撤销泄露的 API Key

2. **生成新 Key**
   - 在 provider 控制台生成新 Key

3. **更新配置**
   ```bash
   # 更新全局配置
   openclaw config set models.providers.anthropic.apiKey "sk-ant-new"
   
   # 或更新环境变量
   export ANTHROPIC_API_KEY="sk-ant-new"
  1. 清理旧配置
    # 检查所有配置文件
    grep -r "sk-ant-old" ~/.openclaw/
    
    # 删除旧 Key
    openclaw config unset models.providers.anthropic.apiKey

? 配置最佳实践

推荐的配置策略

新手用户

  1. 使用配置向导

    openclaw onboard
  2. 或使用全局配置

    openclaw models auth add
  3. 验证配置

    openclaw models list

进阶用户

  1. 使用 Agent 专属配置

    openclaw config set models.providers.anthropic.apiKey "sk-ant-xxx" --agent tech-dev
  2. 合理利用配置优先级

    • 全局配置作为默认
    • Agent 配置作为覆盖
    • 环境变量作为临时切换
  3. 定期备份配置

    cp -r ~/.openclaw ~/.openclaw.backup-$(date +%Y%m%d)

企业用户

  1. 使用环境变量管理敏感信息

    # 在 Docker Compose 中
    environment:
      - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
  2. 版本控制配置模板

    # 配置模板(不包含真实 Key)
    {
      "models": {
        "providers": {
          "anthropic": {
            "apiKey": "${ANTHROPIC_API_KEY}"
          }
        }
      }
    }
  3. 自动化配置部署

    # 使用脚本自动配置
    ./scripts/setup-config.sh

? 安全建议

API Key 安全管理

  1. 不要硬编码 API Key

    • ❌ 不要写在代码中
    • ❌ 不要提交到 Git
    • ✅ 使用环境变量或配置文件
  2. 使用 .gitignore

    # .gitignore
    .openclaw/openclaw.json
    .openclaw/agents/*/openclaw.json
    .openclaw/credentials/
    .env
  3. 定期轮换 API Key

    • 每 3-6 个月更换一次
    • 发现泄露立即更换
  4. 使用最小权限原则

    • 只授予必要的权限
    • 不同用途使用不同的 Key
  5. 监控 API 使用情况

    • 定期检查 API 调用量
    • 发现异常立即处理

? 常见问题 FAQ

Q1: 我应该使用哪种配置方式?

A: 根据你的场景选择:

  • 新手:使用配置向导或全局配置
  • 多 Agent:使用 Agent 专属配置
  • 临时测试:使用环境变量
  • Docker 部署:使用环境变量

Q2: 配置优先级是怎样的?

A: 环境变量 > Agent 配置 > 全局配置 > 配置向导 > 默认值

Q3: 如何查看当前使用的 API Key?

A:

openclaw config get models.providers.anthropic.apiKey
```text
### Q4: 配置后不生效怎么办?

**A**: 
1. 检查配置优先级
2. 重启 Gateway
3. 查看日志
4. 验证 API Key 格式

### Q5: 如何为不同的 Agent 配置不同的 API Key?

**A**: 
```bash
openclaw config set models.providers.anthropic.apiKey "sk-ant-xxx" --agent agent1
openclaw config set models.providers.openai.apiKey "sk-yyy" --agent agent2

openclaw.json基础配置模板

1. 最小配置(新手推荐)

文件位置~/.openclaw/config.json

{
  "gateway": {
    "mode": "local",
    "port": 18789,
    "bind": "127.0.0.1"
  },
  "models": {
    "default": "deepseek-chat",
    "providers": {
      "deepseek": {
        "apiKey": "YOUR_DEEPSEEK_API_KEY",
        "baseURL": "https://api.deepseek.com"
      }
    }
  },
  "workspace": {
    "path": "~/Documents/OpenClaw"
  }
}

使用说明

  1. 替换 YOUR_DEEPSEEK_API_KEY 为你的API密钥
  2. 保存到 ~/.openclaw/config.json
  3. 运行 openclaw gateway run

2. 完整基础配置

{
  "gateway": {
    "mode": "local",
    "port": 18789,
    "bind": "127.0.0.1",
    "ssl": {
      "enabled": false
    },
    "cors": {
      "enabled": true,
      "origins": ["http://localhost:3000"]
    }
  },
  "models": {
    "default": "deepseek-chat",
    "streaming": true,
    "timeout": 60000,
    "providers": {
      "deepseek": {
        "apiKey": "YOUR_DEEPSEEK_API_KEY",
        "baseURL": "https://api.deepseek.com",
        "models": {
          "deepseek-chat": {
            "maxTokens": 4000,
            "temperature": 0.7
          }
        }
      }
    }
  },
  "workspace": {
    "path": "~/Documents/OpenClaw",
    "autoCreate": true
  },
  "files": {
    "searchPaths": [
      "~/Documents",
      "~/Desktop"
    ],
    "excludePaths": [
      "~/.ssh",
      "~/Documents/Private"
    ],
    "excludePatterns": [
      "node_modules",
      ".git",
      "*.log"
    ]
  },
  "cache": {
    "enabled": true,
    "ttl": 3600,
    "maxSize": 1000
  },
  "logging": {
    "level": "info",
    "file": "~/.openclaw/logs/gateway.log"
  }
}

? openclaw.json API配置模板

1. 单一API配置(DeepSeek)

{
  "models": {
    "default": "deepseek-chat",
    "providers": {
      "deepseek": {
        "apiKey": "sk-xxx",
        "baseURL": "https://api.deepseek.com",
        "models": {
          "deepseek-chat": {
            "maxTokens": 4000,
            "temperature": 0.7
          },
          "deepseek-coder": {
            "maxTokens": 8000,
            "temperature": 0.2
          }
        }
      }
    }
  }
}

2. 多API配置(推荐)

{
  "models": {
    "default": "deepseek-chat",
    "code": "deepseek-coder",
    "longContext": "kimi",
    "vision": "gpt-4-vision",
    "providers": {
      "deepseek": {
        "apiKey": "sk-xxx",
        "baseURL": "https://api.deepseek.com",
        "models": {
          "deepseek-chat": {
            "maxTokens": 4000,
            "temperature": 0.7
          },
          "deepseek-coder": {
            "maxTokens": 8000,
            "temperature": 0.2
          }
        }
      },
      "moonshot": {
        "apiKey": "sk-xxx",
        "baseURL": "https://api.moonshot.cn",
        "models": {
          "kimi": {
            "maxTokens": 200000,
            "temperature": 0.7
          }
        }
      },
      "openai": {
        "apiKey": "sk-xxx",
        "baseURL": "https://api.openai.com",
        "models": {
          "gpt-4-vision": {
            "maxTokens": 4000,
            "temperature": 0.7
          }
        }
      }
    }
  }
}

3. 中转API配置

{
  "models": {
    "default": "gpt-3.5-turbo",
    "providers": {
      "relay": {
        "apiKey": "YOUR_RELAY_API_KEY",
        "baseURL": "https://api.middle-service.com/v1",
        "models": {
          "gpt-3.5-turbo": {
            "maxTokens": 4000,
            "temperature": 0.7
          },
          "gpt-4": {
            "maxTokens": 8000,
            "temperature": 0.7
          },
          "claude-3-opus": {
            "maxTokens": 4000,
            "temperature": 0.7
          }
        }
      }
    }
  }
}

4. 智能路由配置

{
  "models": {
    "routing": {
      "enabled": true,
      "rules": [
        {
          "condition": "tokens < 500",
          "model": "deepseek-chat",
          "description": "简单任务"
        },
        {
          "condition": "tokens >= 500 && tokens < 2000",
          "model": "gpt-3.5-turbo",
          "description": "中等任务"
        },
        {
          "condition": "tokens >= 2000",
          "model": "gpt-4",
          "description": "复杂任务"
        },
        {
          "condition": "hasImage",
          "model": "gpt-4-vision",
          "description": "图片理解"
        },
        {
          "condition": "isCode",
          "model": "deepseek-coder",
          "description": "代码生成"
        }
      ]
    }
  }
}

? openclaw channel多平台集成配置

1. 飞书Bot配置

{
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "cli_xxx",
      "appSecret": "xxx",
      "verificationToken": "xxx",
      "encryptKey": "xxx",
      "webhookUrl": "https://your-domain.com/webhook/feishu",
      "features": {
        "streaming": true,
        "fileUpload": true,
        "imageRecognition": true
      },
      "filters": {
        "onlyMentions": true,
        "ignoreGroups": ["闲聊群"],
        "keywords": ["openclaw", "帮助"]
      }
    }
  }
}

2. 企业微信Bot配置

{
  "channels": {
    "wecom": {
      "enabled": true,
      "corpId": "ww123456",
      "agentId": "1000001",
      "secret": "xxx",
      "token": "xxx",
      "encodingAESKey": "xxx",
      "webhookUrl": "https://your-domain.com/webhook/wecom",
      "features": {
        "fileUpload": true,
        "imageRecognition": true
      }
    }
  }
}

3. 钉钉Bot配置

{
  "channels": {
    "dingtalk": {
      "enabled": true,
      "appKey": "xxx",
      "appSecret": "xxx",
      "agentId": "xxx",
      "webhookUrl": "https://your-domain.com/webhook/dingtalk",
      "features": {
        "fileUpload": true
      }
    }
  }
}

4. Telegram Bot配置

{
  "channels": {
    "telegram": {
      "enabled": true,
      "botToken": "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11",
      "webhookUrl": "https://your-domain.com/webhook/telegram",
      "features": {
        "streaming": true,
        "fileUpload": true,
        "imageRecognition": true
      },
      "allowedUsers": [
        123456789,
        987654321
      ]
    }
  }
}

5. 多Agent配置

{
  "agents": {
    "work": {
      "name": "工作助手",
      "model": "gpt-4",
      "workspace": "~/Documents/Work",
      "channels": ["feishu"],
      "systemPrompt": "你是一个专业的工作助手,帮助处理工作相关的任务。",
      "skills": [
        "@openclaw/skill-file-search",
        "@openclaw/skill-calendar",
        "@openclaw/skill-email"
      ]
    },
    "personal": {
      "name": "个人助手",
      "model": "deepseek-chat",
      "workspace": "~/Documents/Personal",
      "channels": ["telegram"],
      "systemPrompt": "你是一个友好的个人助手,帮助处理日常生活中的各种问题。",
      "skills": [
        "@openclaw/skill-web-search",
        "@openclaw/skill-weather",
        "@openclaw/skill-news"
      ]
    },
    "code": {
      "name": "代码助手",
      "model": "deepseek-coder",
      "workspace": "~/Projects",
      "channels": ["telegram"],
      "systemPrompt": "你是一个专业的编程助手,精通多种编程语言。",
      "skills": [
        "@openclaw/skill-github",
        "@openclaw/skill-code-review",
        "@openclaw/skill-documentation"
      ]
    }
  }
}

? openclaw Skills配置模板

1. 基础Skills配置

{
  "skills": {
    "enabled": true,
    "autoUpdate": false,
    "directory": "~/.openclaw/skills",
    "installed": [
      "@openclaw/skill-file-search",
      "@openclaw/skill-web-search",
      "@openclaw/skill-calendar"
    ],
    "priority": [
      "@openclaw/skill-file-search",
      "@openclaw/skill-web-search",
      "@openclaw/skill-calendar"
    ]
  }
}

2. Skills详细配置

{
  "skills": {
    "enabled": true,
    "autoUpdate": true,
    "updateSchedule": "0 3 * * 0",
    "directory": "~/.openclaw/skills",
    "registry": {
      "@openclaw/skill-calendar": {
        "version": "1.1.0",
        "enabled": true,
        "config": {
          "provider": "apple",
          "defaultCalendar": "工作"
        }
      }
    }
  }
}

? 自动化配置模板

1. 定时任务配置

{
  "automation": {
    "enabled": true,
    "tasks": [
      {
        "name": "每日AI日报",
        "schedule": "0 9 * * *",
        "action": "sendMessage",
        "params": {
          "channel": "feishu",
          "message": "请生成今天的AI行业日报"
        }
      },
      {
        "name": "每周工作总结",
        "schedule": "0 18 * * 5",
        "action": "sendMessage",
        "params": {
          "channel": "feishu",
          "message": "请生成本周的工作总结"
        }
      },
      {
        "name": "定时备份",
        "schedule": "0 2 * * *",
        "action": "runCommand",
        "params": {
          "command": "tar -czf ~/backups/openclaw-$(date +%Y%m%d).tar.gz ~/.openclaw"
        }
      }
    ]
  }
}

2. 网站监控配置

{
  "monitoring": {
    "enabled": true,
    "sites": [
      {
        "name": "OpenClaw官网",
        "url": "https://openclaw.ai",
        "interval": 3600,
        "selector": ".version",
        "notify": {
          "channel": "feishu",
          "message": "OpenClaw官网有更新:{content}"
        }
      },
      {
        "name": "Claude API",
        "url": "https://www.anthropic.com/news",
        "interval": 7200,
        "selector": "article:first-child",
        "notify": {
          "channel": "telegram",
          "message": "Claude有新动态:{title}"
        }
      }
    ]
  }
}

3. 文件监控配置

{
  "fileWatcher": {
    "enabled": true,
    "watches": [
      {
        "path": "~/Documents/Invoices",
        "pattern": "*.pdf",
        "action": "processInvoice",
        "notify": {
          "channel": "feishu",
          "message": "新发票已处理:{filename}"
        }
      },
      {
        "path": "~/Downloads",
        "pattern": "*.zip",
        "action": "autoExtract",
        "destination": "~/Documents/Extracted"
      }
    ]
  }
}

⚙️ 高级配置模板

1. 性能优化配置

{
  "performance": {
    "cache": {
      "enabled": true,
      "type": "redis",
      "redis": {
        "host": "localhost",
        "port": 6379,
        "db": 0,
        "ttl": 3600
      }
    },
    "rateLimit": {
      "enabled": true,
      "maxRequests": 100,
      "window": 60000
    },
    "concurrency": {
      "maxConcurrent": 10,
      "queue": {
        "enabled": true,
        "maxSize": 100
      }
    }
  }
}

2. 安全配置

{
  "security": {
    "authentication": {
      "enabled": true,
      "type": "jwt",
      "secret": "YOUR_SECRET_KEY",
      "expiresIn": "7d"
    },
    "authorization": {
      "enabled": true,
      "roles": {
        "admin": {
          "permissions": ["*"]
        },
        "user": {
          "permissions": [
            "read:files",
            "write:files",
            "execute:skills"
          ]
        }
      }
    },
    "encryption": {
      "enabled": true,
      "algorithm": "aes-256-gcm",
      "key": "YOUR_ENCRYPTION_KEY"
    },
    "firewall": {
      "enabled": true,
      "allowIPs": [
        "127.0.0.1",
        "192.168.1.0/24"
      ],
      "denyIPs": []
    }
  }
}

3. 监控和日志配置

{
  "monitoring": {
    "enabled": true,
    "metrics": {
      "enabled": true,
      "port": 9090,
      "path": "/metrics"
    },
    "healthCheck": {
      "enabled": true,
      "port": 8080,
      "path": "/health"
    },
    "alerts": {
      "enabled": true,
      "channels": ["email", "feishu"],
      "rules": [
        {
          "metric": "cpu_usage",
          "threshold": 80,
          "duration": 300,
          "message": "CPU使用率超过80%"
        },
        {
          "metric": "memory_usage",
          "threshold": 90,
          "duration": 300,
          "message": "内存使用率超过90%"
        },
        {
          "metric": "error_rate",
          "threshold": 5,
          "duration": 60,
          "message": "错误率过高"
        }
      ]
    }
  },
  "logging": {
    "level": "info",
    "format": "json",
    "outputs": [
      {
        "type": "file",
        "path": "~/.openclaw/logs/gateway.log",
        "rotation": {
          "maxSize": "10M",
          "maxFiles": 10,
          "compress": true
        }
      },
      {
        "type": "console",
        "colorize": true
      }
    ]
  }
}

4. 备份和恢复配置

{
  "backup": {
    "enabled": true,
    "schedule": "0 2 * * *",
    "destination": "~/openclaw-backups",
    "retention": {
      "daily": 7,
      "weekly": 4,
      "monthly": 12
    },
    "include": [
      "~/.openclaw/config.json",
      "~/.openclaw/skills",
      "~/.openclaw/data"
    ],
    "exclude": [
      "~/.openclaw/logs",
      "~/.openclaw/cache"
    ],
    "compression": {
      "enabled": true,
      "algorithm": "gzip"
    },
    "encryption": {
      "enabled": true,
      "key": "YOUR_BACKUP_ENCRYPTION_KEY"
    },
    "remote": {
      "enabled": false,
      "type": "s3",
      "bucket": "openclaw-backups",
      "region": "us-east-1",
      "accessKeyId": "xxx",
      "secretAccessKey": "xxx"
    }
  }
}

? 完整配置示例

生产环境配置

{
  "gateway": {
    "mode": "production",
    "port": 18789,
    "bind": "0.0.0.0",
    "ssl": {
      "enabled": true,
      "cert": "/etc/ssl/certs/openclaw.crt",
      "key": "/etc/ssl/private/openclaw.key"
    },
    "cors": {
      "enabled": true,
      "origins": ["https://openclaw.yourdomain.com"]
    }
  },
  "models": {
    "default": "deepseek-chat",
    "code": "deepseek-coder",
    "longContext": "kimi",
    "streaming": true,
    "timeout": 60000,
    "routing": {
      "enabled": true,
      "rules": [
        {
          "condition": "tokens < 500",
          "model": "deepseek-chat"
        },
        {
          "condition": "tokens >= 500 && tokens < 2000",
          "model": "gpt-3.5-turbo"
        },
        {
          "condition": "tokens >= 2000",
          "model": "gpt-4"
        }
      ]
    },
    "providers": {
      "deepseek": {
        "apiKey": "${DEEPSEEK_API_KEY}",
        "baseURL": "https://api.deepseek.com"
      },
      "moonshot": {
        "apiKey": "${MOONSHOT_API_KEY}",
        "baseURL": "https://api.moonshot.cn"
      },
      "openai": {
        "apiKey": "${OPENAI_API_KEY}",
        "baseURL": "https://api.openai.com"
      }
    }
  },
  "workspace": {
    "path": "/data/openclaw/workspace",
    "autoCreate": true
  },
  "files": {
    "searchPaths": [
      "/data/openclaw/documents"
    ],
    "excludePaths": [
      "/data/openclaw/private"
    ],
    "index": {
      "enabled": true,
      "incremental": true,
      "schedule": "0 2 * * *"
    }
  },
  "channels": {
    "feishu": {
      "enabled": true,
      "appId": "${FEISHU_APP_ID}",
      "appSecret": "${FEISHU_APP_SECRET}",
      "features": {
        "streaming": true,
        "fileUpload": true
      }
    }
  },
  "skills": {
    "enabled": true,
    "autoUpdate": true,
    "updateSchedule": "0 3 * * 0"
  },
  "automation": {
    "enabled": true,
    "tasks": [
      {
        "name": "每日日报",
        "schedule": "0 9 * * *",
        "action": "sendMessage",
        "params": {
          "channel": "feishu",
          "message": "生成今日AI日报"
        }
      }
    ]
  },
  "performance": {
    "cache": {
      "enabled": true,
      "type": "redis",
      "redis": {
        "host": "localhost",
        "port": 6379
      }
    }
  },
  "security": {
    "authentication": {
      "enabled": true,
      "type": "jwt",
      "secret": "${JWT_SECRET}"
    },
    "firewall": {
      "enabled": true,
      "allowIPs": ["10.0.0.0/8"]
    }
  },
  "monitoring": {
    "enabled": true,
    "metrics": {
      "enabled": true,
      "port": 9090
    },
    "alerts": {
      "enabled": true,
      "channels": ["email"]
    }
  },
  "logging": {
    "level": "info",
    "format": "json",
    "outputs": [
      {
        "type": "file",
        "path": "/var/log/openclaw/gateway.log",
        "rotation": {
          "maxSize": "10M",
          "maxFiles": 10
        }
      }
    ]
  },
  "backup": {
    "enabled": true,
    "schedule": "0 2 * * *",
    "destination": "/backup/openclaw",
    "retention": {
      "daily": 7,
      "weekly": 4,
      "monthly": 12
    }
  }
}

? 配置工具

配置验证脚本

#!/bin/bash
# 文件名:validate-config.sh

CONFIG_FILE="$HOME/.openclaw/config.json"

echo "验证配置文件:$CONFIG_FILE"

# 检查文件是否存在
if [ ! -f "$CONFIG_FILE" ]; then
  echo "❌ 配置文件不存在"
  exit 1
fi

# 验证JSON格式
if ! jq empty "$CONFIG_FILE" 2>/dev/null; then
  echo "❌ JSON格式错误"
  exit 1
fi

echo "✅ JSON格式正确"

# 检查必需字段
required_fields=("gateway" "models" "workspace")
for field in "${required_fields[@]}"; do
  if ! jq -e ".$field" "$CONFIG_FILE" >/dev/null 2>&1; then
    echo "❌ 缺少必需字段:$field"
    exit 1
  fi
  echo "✅ 字段存在:$field"
done

echo "✅ 配置验证通过"

配置生成器

#!/bin/bash
# 文件名:generate-config.sh

echo "OpenClaw 配置生成器"
echo "===================="

# 询问基本信息
read -p "选择部署模式 (local/cloud): " mode
read -p "Gateway端口 (默认18789): " port
port=${port:-18789}

read -p "选择默认模型 (deepseek-chat/gpt-3.5-turbo): " model
model=${model:-deepseek-chat}

read -p "输入API密钥: " api_key

# 生成配置
cat > ~/.openclaw/config.json << EOF
{
  "gateway": {
    "mode": "$mode",
    "port": $port,
    "bind": "127.0.0.1"
  },
  "models": {
    "default": "$model",
    "providers": {
      "deepseek": {
        "apiKey": "$api_key",
        "baseURL": "https://api.deepseek.com"
      }
    }
  },
  "workspace": {
    "path": "~/Documents/OpenClaw"
  }
}
EOF

echo "✅ 配置文件已生成:~/.openclaw/config.json"

OpenClaw小龙虾最全使用视频教程大全-国内阿里和腾讯云服务器部署指南

云服务器部署openclaw的优势:

  • ✅ 24小时在线:无需本地电脑一直开机
  • ✅ 网络稳定:企业级网络环境
  • ✅ 维护简单:一键镜像,开箱即用
  • ✅ 成本低廉:最低仅需 79 元/年

? 服务器配置要求

最低配置

  • CPU: 1核
  • 内存: 1GB
  • 存储: 20GB
  • 带宽: 1Mbps
  • 系统: Ubuntu 20.04+ / CentOS 7+

推荐配置

  • CPU: 2核
  • 内存: 2GB
  • 存储: 40GB
  • 带宽: 3Mbps
  • 系统: Ubuntu 22.04 LTS

☁️ 云服务商选择

推荐一:阿里云轻量应用服务器

推荐理由

  • ?️ 价格实惠:68 元/年起
  • ? 一键部署:官方提供 OpenClaw 镜像
  • ? 深度整合:与阿里百炼无缝对接

购买步骤

  1. 访问 阿里云轻量应用服务器

  2. 选择镜像

    • 应用镜像 → 搜索「OpenClaw」
    • 或选择 Ubuntu 22.04 手动安装
  3. 选择套餐

    • 入门型(1核1G):适合轻度使用
    • 标准型(2核2G):推荐配置
  4. 完成购买,等待服务器创建

推荐二:腾讯云轻量应用服务器(一键快速部署)

优势

  • 价格透明,套餐丰富
  • 官方有 OpenClaw 实践教程
  • (也可以按照youtube视频来操作)

    [embedpress]https://www.youtube.com/watch?v=xvZbiHe62HM&list=PL5vQa1b-HTYO-xdXSxFQbq8dbBNL1MeLR&index=4[/embedpress]

购买步骤

第一步:购买服务器

  1. 访问活动页面

  2. 选择配置

    • 配置:2核2G
    • 带宽:20M
    • 地域:建议选择硅谷(国外地域访问AI模型更稳定)
    • 价格:20元/月 或 99元/年
  3. 实名认证

    • 首次使用需要实名认证
    • 选择个人认证即可
    • 按提示完成认证
  4. 完成购买

    • 点击”立即购买”
    • 支付20元(建议先买1个月试用)
    • 等待服务器创建完成
    • 可选:关闭自动续费
  5. 获取服务器信息

    • 购买完成后,点击头像 → “站内信”
    • 查看并记附录:
      • 公网IP地址
      • 默认用户名(通常是 lighthouse
      • 初始密码

腾讯云Lighthouse控制台 - 创建实例界面

  1. OpenClaw小龙虾最全使用视频教程大全-国内阿里和腾讯云服务器部署指南 OpenClaw小龙虾最全使用视频教程大全-国内阿里和腾讯云服务器部署指南

? 部署步骤(阿里云)

方法一:使用官方镜像(最简单)

访问官网  

  1. 创建服务器时选择 OpenClaw 镜像

    • 地域:选择离你最近的
    • 镜像:应用镜像 → OpenClaw
    • 套餐:根据需求选择
  2. 获取服务器信息

    • 进入控制台 → 轻量应用服务器
    • 点击实例 → 查看「应用详情」
    • 获取管理员密码或重置密码
  3. 配置 API

    • 通过 SSH 连接服务器
    ssh root@你的服务器IP
    • 运行配置向导
    openclaw onboard --install-daemon

方法二:手动安装

  1. SSH 连接服务器
ssh root@你的服务器IP
  1. 更新系统
apt update && apt upgrade -y
  1. 安装 Node.js
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.5/install.sh | bash

source ~/.bashrc

# 安装 Node.js 24
nvm install 24
nvm use 24
  1. 安装 OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash
  1. 配置 OpenClaw
openclaw onboard --install-daemon

? 安全配置

1. 配置防火墙

# 安装 ufw
apt install ufw -y

# 允许 SSH
ufw allow ssh

# 允许 Web 访问(如需要)
ufw allow 80
ufw allow 443

# 启用防火墙
ufw enable

2. 配置 HTTPS(推荐)

# 安装 Nginx
apt install nginx -y

# 安装 Certbot
apt install certbot python3-certbot-nginx -y

# 获取证书
certbot --nginx -d openclaw.linuxtone.com

3. 设置开机自启

# 创建 systemd 服务
cat > /etc/systemd/system/openclaw.service << 'EOF'
[Unit]
Description=OpenClaw AI Assistant
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/root/.openclaw
ExecStart=/usr/local/bin/openclaw gateway start
Restart=on-failure
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

# 启用服务
systemctl daemon-reload
systemctl enable openclaw
systemctl start openclaw

? 成本估算

阿里云方案

项目 费用 说明
轻量服务器 79 元/年 1核1G 入门型
API 调用 10-50 元/月 视使用量
域名(可选) 10-50 元/年 用于 HTTPS
年总成本 约 200-400 元

性价比建议

  • 新用户:利用各大平台免费额度
  • 轻度使用:Coding Plan Lite 套餐(约 10 元/月)
  • 重度使用:考虑年付套餐

? 健康检查与监控

/readyz 健康检查端点(v2026.5.18+)

OpenClaw v2026.5.18 新增了 /readyz 健康检查端点,用于监控 Gateway 服务状态。

使用方法

# 检查 Gateway 是否就绪
curl http://localhost:18789/readyz

# 返回示例
# 200 OK - 服务就绪
# 503 Service Unavailable - 服务未就绪

配合监控工具使用

使用 systemd 监控

# 在 systemd 服务中添加健康检查
[Service]
ExecStartPre=/bin/bash -c 'until curl -sf http://localhost:18789/readyz; do sleep 1; done'

使用 cron 定期检查

# 添加到 crontab,每 5 分钟检查一次
*/5 * * * * curl -sf http://localhost:18789/readyz || systemctl restart openclaw

使用 Docker 健康检查

HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
  CMD curl -f http://localhost:18789/readyz || exit 1

? 常见问题

Q: 服务器连不上怎么办?

  1. 检查安全组/防火墙是否开放 22 端口
  2. 确认密码正确
  3. 查看服务器是否正常运行

Q: OpenClaw 启动失败?

  1. 检查 Node.js 版本:node -v(需要 22+)
  2. 查看日志:openclaw logs
  3. 检查 API 配置是否正确

Q: 消息平台收不到消息?

  1. 检查网络连通性
  2. 确认 Webhook 地址正确
  3. 查看飞书/钉钉应用配置

OpenClaw小龙虾最全使用视频教程大全-生产环境Docker 部署教程

Openclaw Docker生产环境高可用性部署教程

服务器要求

资源 最低配置 推荐配置 生产环境
CPU 1核 2核 4核+
内存 1GB 2GB 4GB+
存储 10GB 20GB 50GB+
网络 1Mbps 10Mbps 100Mbps+

系统优化

1. 优化Docker配置

编辑 /etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
  },
  "storage-driver": "overlay2",
  "live-restore": true,
  "max-concurrent-downloads": 10,
  "max-concurrent-uploads": 10
}

重启Docker:

sudo systemctl restart docker

2. 优化系统参数

编辑 /etc/sysctl.conf

# 网络优化
net.core.somaxconn = 1024
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 30

# 文件描述符
fs.file-max = 65535

应用配置:

sudo sysctl -p

3. 增加文件描述符限制

编辑 /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 65536
* hard nproc 65536

? 安全配置

1. 使用只读配置文件

# 创建配置文件
cat > openclaw.json << 'EOF'
{
  "providers": {
    "bailian": {
      "apiKey": "YOUR_API_KEY"
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "bailian/qwen-turbo"
      }
    }
  }
}
EOF

# 设置权限
chmod 600 openclaw.json

2. 使用环境变量存储敏感信息

创建 .env 文件:

# API配置
OPENCLAW_API_KEY=YOUR_API_KEY

# 安全配置
OPENCLAW_ENABLE_TELEMETRY=false
OPENCLAW_LOG_LEVEL=warn

设置权限:

chmod 600 .env

3. 使用非root用户

# 创建非root用户
docker run -d \
  --name openclaw \
  -p 18789:18789 \
  -u 1000:1000 \
  -v $(pwd)/data:/home/openclaw/.openclaw \
  openclaw/openclaw:latest

4. 限制容器资源

# 启动容器(限制资源)
docker run -d \
  --name openclaw \
  --cpus="2" \
  --memory="2g" \
  --memory-swap="2g" \
  --pids-limit 100 \
  -p 18789:18789 \
  -v $(pwd)/data:/home/openclaw/.openclaw \
  openclaw/openclaw:latest

5. 使用Docker Compose生产配置

创建 docker-compose.prod.yml

version: '3.8'

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    ports:
      - "18789:18789"
    volumes:
      - ./openclaw.json:/home/openclaw/.openclaw/openclaw.json:ro
      - ./data:/home/openclaw/.openclaw/data
    environment:
      - OPENCLAW_LOG_LEVEL=warn
      - OPENCLAW_ENABLE_TELEMETRY=false
    deploy:
      resources:
        limits:
          cpus: '2'
          memory: 2G
        reservations:
          cpus: '1'
          memory: 1G
    restart: unless-stopped
    security_opt:
      - no-new-privileges:true
    read_only: true
    tmpfs:
      - /tmp
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:18789/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    networks:
      - openclaw-network

networks:
  openclaw-network:
    driver: bridge

启动:

# 启动生产环境
docker-compose -f docker-compose.prod.yml up -d

# 查看状态
docker-compose -f docker-compose.prod.yml ps

6. 使用HTTPS(Nginx反向代理)

获取SSL证书

使用Let’s Encrypt:

# 安装certbot
sudo apt install -y certbot python3-certbot-nginx

# 获取证书
sudo certbot certonly --standalone -d openclaw.example.com

配置Nginx

创建 nginx.conf

server {
    listen 80;
    server_name openclaw.example.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name openclaw.example.com;

    ssl_certificate /etc/letsencrypt/live/openclaw.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/openclaw.example.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;

    location / {
        proxy_pass http://openclaw:18789;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_read_timeout 300s;
        proxy_connect_timeout 300s;
        proxy_send_timeout 300s;
    }

    # 限制请求大小
    client_max_body_size 10M;
}

启动Nginx

# 启动OpenClaw
docker run -d \
  --name openclaw \
  --network openclaw-network \
  -p 18789:18789 \
  -v $(pwd)/data:/home/openclaw/.openclaw \
  openclaw/openclaw:latest

# 启动Nginx
docker run -d \
  --name nginx \
  --network openclaw-network \
  -p 80:80 \
  -p 443:443 \
  -v $(pwd)/nginx.conf:/etc/nginx/conf.d/default.conf:ro \
  -v /etc/letsencrypt:/etc/letsencrypt:ro \
  nginx:alpine

⚡ 性能优化

1. 使用多阶段构建

创建 Dockerfile

# 构建阶段
FROM node:22-alpine AS builder

WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production
COPY . .
RUN npm run build

# 运行阶段
FROM node:22-alpine AS runner

WORKDIR /app

# 复制构建产物
COPY --from=builder /app/dist ./dist
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/package.json ./

# 使用非root用户
RUN addgroup -g 1001 -S nodejs
RUN adduser -S openclaw -u 1001
USER openclaw

EXPOSE 18789

CMD ["node", "dist/index.js"]

2. 优化日志配置

# 启动容器(限制日志大小)
docker run -d \
  --name openclaw \
  --log-driver json-file \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  -p 18789:18789 \
  openclaw/openclaw:latest

3. 使用缓存优化

version: '3.8'

services:
  openclaw:
    image: openclaw/openclaw:latest
    volumes:
      - ./data:/home/openclaw/.openclaw/data
      - ./cache:/home/openclaw/.cache
    environment:
      - NODE_ENV=production
      - CACHE_ENABLED=true

4. 使用Redis缓存(可选)

version: '3.8'

services:
  redis:
    image: redis:alpine
    container_name: redis
    command: redis-server --appendonly yes
    volumes:
      - ./redis-data:/data
    restart: unless-stopped

  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    depends_on:
      - redis
    ports:
      - "18789:18789"
    environment:
      - REDIS_HOST=redis
      - REDIS_PORT=6379
    restart: unless-stopped

? 高可用部署

1. 使用负载均衡

version: '3.8'

services:
  nginx:
    image: nginx:alpine
    container_name: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
    depends_on:
      - openclaw1
      - openclaw2

  openclaw1:
    image: openclaw/openclaw:latest
    container_name: openclaw1
    volumes:
      - ./data1:/home/openclaw/.openclaw
    restart: unless-stopped

  openclaw2:
    image: openclaw/openclaw:latest
    container_name: openclaw2
    volumes:
      - ./data2:/home/openclaw/.openclaw
    restart: unless-stopped

2. 使用Docker Swarm

# 初始化Swarm
docker swarm init

# 创建服务
docker service create \
  --name openclaw \
  --replicas 3 \
  --publish 18789:18789 \
  openclaw/openclaw:latest

# 查看服务
docker service ls

# 扩缩容
docker service scale openclaw=5

3. 使用Kubernetes

创建 deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: openclaw
spec:
  replicas: 3
  selector:
    matchLabels:
      app: openclaw
  template:
    metadata:
      labels:
        app: openclaw
    spec:
      containers:
      - name: openclaw
        image: openclaw/openclaw:latest
        ports:
        - containerPort: 18789
        resources:
          limits:
            memory: "2Gi"
            cpu: "1000m"
          requests:
            memory: "1Gi"
            cpu: "500m"
        volumeMounts:
        - name: data
          mountPath: /home/openclaw/.openclaw
      volumes:
      - name: data
        persistentVolumeClaim:
          claimName: openclaw-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: openclaw
spec:
  selector:
    app: openclaw
  ports:
  - port: 18789
    targetPort: 18789
  type: LoadBalancer

? 监控和日志

1. 使用Docker健康检查

# 启动容器(启用健康检查)
docker run -d \
  --name openclaw \
  --health-cmd="curl -f http://localhost:18789/health || exit 1" \
  --health-interval=30s \
  --health-timeout=10s \
  --health-retries=3 \
  -p 18789:18789 \
  openclaw/openclaw:latest

# 查看健康状态
docker inspect --format='{{json .State.Health}}' openclaw

2. 使用Prometheus监控

创建 prometheus.yml

global:
  scrape_interval: 15s

scrape_configs:
  - job_name: 'openclaw'
    static_configs:
      - targets: ['openclaw:18789']

启动Prometheus:

version: '3.8'

services:
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'

  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    ports:
      - "18789:18789"

3. 使用Grafana可视化

version: '3.8'

services:
  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - "3000:3000"
    volumes:
      - ./grafana-data:/var/lib/grafana
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin

  prometheus:
    image: prom/prometheus
    container_name: prometheus
    ports:
      - "9090:9090"
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml

  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    ports:
      - "18789:18789"

4. 集中式日志收集(ELK Stack)

version: '3.8'

services:
  elasticsearch:
    image: elasticsearch:8.0.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
    volumes:
      - ./es-data:/usr/share/elasticsearchasticsearch/data

  logstash:
    image: logstash:8.0.0
    container_name: logstash
    volumes:
      - ./logstash.conf:/usr/share/logstash/pipeline/logstash.conf
    depends_on:
      - elasticsearch

  kibana:
    image: kibana:8.0.0
    container_name: kibana
    ports:
      - "5601:5601"
    depends_on:
      - elasticsearch

  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    ports:
      - "18789:18789"
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"

? 备份和恢复

1. 自动备份脚本

创建 backup.sh

#!/bin/bash

BACKUP_DIR="./backups"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_FILE="openclaw-backup-${BACKUP_DIR}.tar.gz"

mkdir -p ${BACKUP_DIR}

# 备份数据
tar -czf ${BACKUP_DIR}/${BACKUP_FILE} ./data

# 删除30天前的备份
find ${BACKUP_DIR} -name "openclaw-backup-*.tar.gz" -mtime +30 -delete

echo "Backup created: ${BACKUP_DIR}/${BACKUP_FILE}"

设置权限:

chmod +x backup.sh

2. 定时备份

使用cron:

# 编辑crontab
crontab -e

添加定时任务:

# 每天凌晨2点备份
0 2 * * * /path/to/backup.sh >> /var/log/openclaw-backup.log 2>&1

3. 恢复数据

# 解压备份
tar -xzf backups/openclaw-backup-20260606_020000.tar.gz

# 启动容器(恢复数据)
docker run -d \
  --name openclaw \
  -p 18789:18789 \
  -v $(pwd)/data:/home/openclaw/.openclaw \
  openclaw/openclaw:latest

? 自动更新

1. 使用Watchtower自动更新镜像

version: '3.8'

services:
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_SCHEDULE=0 0 * * *

  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    ports:
      - "18789:18789"
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

2. 手动更新脚本

创建 update.sh

#!/bin/bash

# 拉取最新镜像
docker pull openclaw/openclaw:latest

# 停止并删除旧容器
docker stop openclaw
docker rm openclaw

# 启动新容器
docker run -d \
  --name openclaw \
  --restart unless-stopped \
  -p 18789:18789 \
  -v $(pwd)/data:/home/openclaw/.openclaw \
  openclaw/openclaw:latest

echo "OpenClaw updated successfully!"

⚠️ 常见问题

Q: 容器频繁重启?

A: 检查容器状态和日志:

# 查看容器状态
docker ps -a

# 查看容器日志
docker logs openclaw

# 查看退出代码
docker inspect openclaw | grep ExitCode

常见原因:

  • 内存不足 → 增加内存限制
  • 配置错误 → 检查 openclaw.json
  • 健康检查失败 → 检查健康检查配置

Q: 性能下降?

A: 优化措施:

  1. 增加资源限制

    docker update --cpus="2" --memory="2g" openclaw
  2. 优化日志配置

    docker run --log-opt max-size=10m --log-opt max-file=3
  3. 使用缓存

    environment:
      - CACHE_ENABLED=true

Q: 如何查看资源使用?

A:

# 实时查看资源使用
docker stats openclaw

# 查看详细信息
docker inspect openclaw

# 查看磁盘使用
docker system df

OpenClaw 网关公网访问配置:Nginx 反向代理 + WebSocket + 自签 SSL 证书

本文记录如何在 Ubuntu 24.04 上配置 Nginx 反向代理 OpenClaw 网关服务,支持 WebSocket 长连接,并使用自签 SSL 证书启用 HTTPS。

环境信息

  • 系统:Ubuntu 24.04.5 LTS
  • Nginx 版本:1.18.0
  • 后端服务:OpenClaw Gateway (127.0.0.1:18789)
  • 对外端口:28443 (HTTPS)
  • 服务器 域名:linuxtone.com

一、安装 Nginx 和 OpenSSL

sudo apt-get update
sudo apt-get install -y nginx openssl

二、生成自签 SSL 证书

sudo mkdir -p /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 \
  -keyout /etc/nginx/ssl/linuxtone.com.key \
  -out /etc/nginx/ssl/linuxtone.com.crt \
  -subj "/C=CN/ST=Beijing/L=Beijing/O=OpenClaw/CN=linuxtone.com"

证书有效期 3650 天,CN 设置为服务器域名linuxtone.com

三、配置 Nginx(含 WebSocket 支持)

创建配置文件 /etc/nginx/sites-available/openclaw

server {
    listen 28443 ssl;
    server_name linuxtone.com;

    ssl_certificate /etc/nginx/ssl/linuxtone.com.crt;
    ssl_certificate_key /etc/nginx/ssl/linuxtone.com.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;

        # WebSocket 支持
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        # 必要的代理头
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # 超时设置(WebSocket 长连接)
        proxy_read_timeout 86400s;
        proxy_send_timeout 86400s;
    }
}

关键点:

  • proxy_set_header Upgrade 和 Connection 用于 WebSocket 握手
  • 超时设置为 24 小时,避免长连接被中断
  • 使用 TLSv1.2/1.3,禁用弱加密

四、启用配置并启动

# 创建软链接启用站点
sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/openclaw

# 删除默认站点(可选)
sudo rm -f /etc/nginx/sites-enabled/default

# 测试配置
sudo nginx -t

# 重启 Nginx
sudo systemctl restart nginx

# 检查状态
sudo systemctl status nginx --no-pager

# 验证端口监听
sudo ss -tlnp | grep 28443

五、配置 OpenClaw 网关 CORS

编辑 ~/.openclaw/openclaw.json,在 gateway 部分添加:

"gateway": {
  "controlUi": {
    "allowedOrigins": [
      "https://linuxtone.com:28443"
    ]
  }
}

然后重启网关:

openclaw gateway restart

六、验证

访问 https://linuxtone.com:28443,浏览器会提示证书不受信任(自签证书),点击”继续访问”即可。

注意事项

  • 自签证书警告: 浏览器会显示安全警告,生产环境建议使用 Let’s Encrypt 等可信 CA
  • 防火墙: 确保 28443 端口在安全组中开放
  • WebSocket: 如果后端是 OpenClaw 等需要长连接的服务,必须配置 Upgrade 头

常见问题 (FAQ)

openclaw 云上OpenClaw最全使用教程合辑是什么?

本文详细介绍了openclaw 云上OpenClaw最全使用教程合辑的相关知识,包括基本概念、核心功能和使用方法。

openclaw有哪些主要特点?

openclaw具有proxy、ssl、linuxtone等特点。

如何开始使用openclaw?

您可以参考本文中的详细步骤来开始使用openclaw 云上OpenClaw最全使用教程合辑。

使用 Hermes Workspace:打造你的 AI Agent 全功能指挥中心

项目简介

Hermes Workspace 是一个为 AI Agent 打造的全功能 Web 工作台——集聊天、终端、文件管理、记忆浏览、技能市场、MCP 管理、任务调度和 Swarm 多智能体协调于一体。它不是一个简单的聊天界面封装,而是一个完整的 AI Agent 指挥中心,让你从单一界面编排智能体、浏览记忆、管理技能并控制一切。

项目地址:https://github.com/outsourc-e/hermes-workspace

当前版本 v2.3.0,Star 数 4.9k+,采用 MIT 开源协议。

核心特性

? 实时聊天

基于 SSE 流式传输的实时对话界面,支持工具调用渲染、多会话管理、Markdown 语法高亮显示。聊天不再是简单的文本交互,而是一个完整的 Agent 交互窗口。

? 记忆浏览器

直接在 Web 界面中浏览、搜索和编辑 Agent 的持久化记忆。内置 Markdown 实时编辑器,可以随时修改 Agent 记住的内容,让它更了解你的偏好和上下文。

? 技能市场

浏览 2000+ 技能,支持来源标识、筛选、源路径查看和技能市场。技能是 Agent 的程序化记忆——可复用的方法和工作流,一键加载即可使用。

? MCP 集成

完整的 MCP(Model Context Protocol)页面,包含目录、市场和源管理。也支持本地配置的增删改查作为后备方案。MCP 是连接外部工具和数据源的标准协议。

? 文件管理 + 终端

内置完整的文件浏览器(支持 Monaco 编辑器)和跨平台 PTY 终端。不需要离开浏览器就能浏览文件、编辑代码、执行命令。

? 运维操作中心

多 Agent 管理仪表盘,支持配置预设角色(Sage/Trader/Builder/Scribe/Ops),自动检测”需要配置”的 Agent 状态。让你像运维一个微服务集群一样管理你的 AI Agent 们。

? Conductor 任务调度

任务分发与分解引擎。当 Dashboard 任务 API 可用时,直接使用;不可用时,自动回退到 Workspace 原生的 Swarm 调度模式(mode: native-swarm),保证零分叉兼容性。

? Agent 视图

聊天界面中的实时 Agent 面板,显示头像、任务队列、历史记录和使用量仪表。让你对 Agent 的状态一目了然。

? Swarm 模式

这是 Hermes Workspace 的杀手级特性。基于持久化 tmux 后端的 Hermes Agent 工作池,支持基于角色的任务分派:

  • 编排器聊天——向控制平面请求一个任务、分解后的任务组或全量广播
  • 多智能体控制平面——在一个界面中查看所有持久化的 Hermes Agent、角色、状态、运行时和路由
  • 看板任务板——无需离开工作台即可管理 Backlog、Ready、Running、Review、Blocked、Done 列
  • 报告 + 收件箱——审查检查点、阻塞项、交接事项和需要人工决策的事项
  • TUI 视图——连接到 tmux 后端工作进程或回退到实时 Shell/日志流

?️ 仪表盘

聚合总览界面:会话列表、模型使用分布、费用账本、注意力卡片和运维状态条。帮你掌握全局。

? 主题系统

内置 5 套主题:Hermes、Nous、Bronze、Slate、Mono,每套都有亮色和暗色模式。

? 安全设计

每条 API 路由都有认证中间件、CSP 头、路径穿越防护、速率限制、失败即关闭的远程绑定守卫。在非本地回环地址绑定时,强制要求设置密码。

架构设计

Hermes Workspace 采用前后端分离架构,核心由三个服务组成:

┌───────────────┐         :8642 gateway          ┌────────────────┐
│   Workspace    │ ─────────────────────▶ │  Hermes Agent  │
│   :3000 (UI)   │ ◀───────────────────── │  CLI / brain   │
└───────────────┘         :9119 dashboard        └────────────────┘

三个服务,三条命令即可启动:

hermes gateway run     # 终端 1 · :8642 · 聊天、模型、流式传输、任务
hermes dashboard       # 终端 2 · :9119 · 会话、技能、配置、MCP
cd ~/hermes-workspace && pnpm dev   # 终端 3 · :3000 · Web UI

关键设计理念:v2 版本实现了”零分叉”架构。Workspace 不需要修改 Hermes Agent 的任何代码,直接运行原版的 NousResearch/hermes-agent,通过标准 HTTP API 与 Agent 通信。Conductor 在 Dashboard 任务 API 可用时使用它,不可用时回退到 Workspace 原生的 Swarm 调度,始终保持零分叉兼容。

快速部署

方式一:Docker Compose(推荐)

最简单的部署方式,2 分钟即可跑起来:

git clone https://github.com/outsourc-e/hermes-workspace.git
cd hermes-workspace
cp .env.example .env
# 编辑 .env,添加至少一个 LLM 提供商的 API Key
docker compose up

Docker 会拉取两个预构建镜像:

  • hermes-agent → nousresearch/hermes-agent:latest,端口 8642
  • hermes-workspace → ghcr.io/outsourc-e/hermes-workspace:latest,端口 3000

打开 http://localhost:3000,完成引导流程即可使用。

方式二:一行命令安装

适合本地开发(macOS/Linux):

curl -fsSL https://raw.githubusercontent.com/outsourc-e/hermes-workspace/main/install.sh | bash

安装完成后:

hermes gateway run                  # 终端 1
cd ~/hermes-workspace && pnpm dev   # 终端 2

方式三:附加到已有的 Hermes Agent

如果你已经在运行 Hermes Agent:

git clone https://github.com/outsourc-e/hermes-workspace.git
cd hermes-workspace
pnpm install
cp .env.example .env
echo 'HERMES_API_URL=http://127.0.0.1:8642' >> .env
echo 'HERMES_DASHBOARD_URL=http://127.0.0.1:9119' >> .env
pnpm dev

本地模型支持

Hermes Workspace 原生支持 Ollama、Atomic Chat、LM Studio、vLLM 等本地模型服务,无需 API Key 即可使用。

便携模式(最简单)

直接指向本地模型服务,不需要 Hermes Agent 网关:

# Ollama
OLLAMA_ORIGINS=* ollama serve
HERMES_API_URL=http://127.0.0.1:11434 pnpm dev

# Atomic Chat
HERMES_API_URL=http://127.0.0.1:1337/v1 pnpm dev

便携模式下聊天立即可用,但会话、记忆、技能等高级功能不可用。

增强模式(全功能)

通过 Hermes Agent 网关路由,解锁全部功能。在 ~/.hermes/config.yaml 中配置:

# Ollama 示例
provider: ollama
model: qwen3:32b
custom_providers:
  - name: ollama
    base_url: http://127.0.0.1:11434/v1
    api_key: ollama
    api_mode: chat_completions

然后在 ~/.hermes/.env 中启用 API 服务:

API_SERVER_ENABLED=true

启动网关和仪表盘后,所有工作台功能自动解锁。

PWA + 移动端支持

Hermes Workspace 是一个渐进式 Web 应用(PWA),可以像原生应用一样安装:

  • 桌面端:在 Chrome/Edge 中点击地址栏的安装图标,即可安装为独立桌面应用
  • iPhone/iPad:在 Safari 中点击分享按钮 → “添加到主屏幕”
  • Android:在 Chrome 菜单中选择”添加到主屏幕”

配合 Tailscale,你可以在任何设备上从任何网络访问你的 Hermes Workspace——无需端口转发,无需复杂的 VPN 配置,流量端到端加密。

多提供商支持

Hermes Workspace 支持所有主流 AI 模型提供商:

  • OpenAI(GPT / o 系列)
  • OpenRouter(包含免费模型)
  • Google Gemini
  • Ollama
  • LM Studio
  • vLLM
  • Atomic Chat
  • llama.cpp / LocalAI
  • 任何 OpenAI 兼容的 API 服务

安全机制

Hermes Workspace 内置了多层安全防护:

  • 每条 API 路由的认证中间件
  • CSP 安全头
  • 路径穿越防护(基于真实路径边界检查,而非字符串前缀匹配)
  • 接口速率限制
  • 失败即关闭:在非回环地址绑定时强制要求密码
  • Session Cookie:HttpOnly + SameSite=Strict + Secure
  • 可选的 Web UI 密码保护

技术栈

  • 前端:Next.js + React + TypeScript
  • 后端:Hermes Agent(Python,FastAPI 网关)
  • 终端:跨平台 PTY(node-pty)
  • 编辑器:Monaco Editor
  • 容器化:Docker Compose,支持 linux/amd64 和 linux/arm64
  • 部署:支持 Coolify / Easypanel / Dokploy / Unraid 等 PaaS 平台

适用场景

  • AI Agent 爱好者:一个界面管理多个 AI Agent,查看记忆、管理技能、调度任务
  • Home Lab 玩家:Docker 一键部署,配合 Tailscale 随时随地访问
  • ?‍? 开发者:内置终端和文件浏览器,在浏览器里完成开发工作
  • 团队协作:共享任务看板、Agent 状态、费用追踪(云版本开发中)
  • AI 研究:Swarm 多智能体协调,角色化任务分派,自动化 PR/Issue 处理

总结

Hermes Workspace 是目前开源社区中最完整的 AI Agent 工作台之一。它不仅仅是一个聊天界面,而是一个真正意义上的”指挥中心”——从单个 Agent 的日常交互,到多个 Agent 的 Swarm 协调,再到任务看板和费用追踪,所有功能都在一个界面中完成。

零分叉架构是它最巧妙的设计:Workspace 是纯 UI 层,所有智能都在原版 Hermes Agent 中。这意味着你可以随时升级 Agent,不用担心兼容性问题。

如果你在寻找一个功能全面、架构优雅、部署简单的 AI Agent 管理平台,Hermes Workspace 绝对值得一试。

常见问题 (FAQ)

云上OpenClaw最全使用教程合辑 云上OpenClaw最全使用教程合辑是什么?

本文详细介绍了云上OpenClaw最全使用教程合辑 云上OpenClaw最全使用教程合辑的相关知识,包括基本概念、核心功能和使用方法。

云上OpenClaw最全使用教程合辑有哪些主要特点?

云上OpenClaw最全使用教程合辑具有Hermes、hermes、Workspace等特点。

如何开始使用云上OpenClaw最全使用教程合辑?

您可以参考本文中的详细步骤来开始使用云上OpenClaw最全使用教程合辑 云上OpenClaw最全使用教程合辑。

手把手教程:在腾讯云轻量服务器(99元/年)搭建 OpenClaw 7×24小时 AI 助手

为什么选择腾讯云轻量应用服务器?

搭建 7×24 小时在线的 AI 助手,核心诉求只有两点:稳定低成本。相比传统云服务器(ECS)复杂的 VPC、安全组和防火墙配置,腾讯云轻量应用服务器(Lighthouse)简直是为个人开发者量身定制的。

传统服务器光是配置端口和环境就能劝退不少新手,而 Lighthouse 提供了开箱即用的体验:

  • 预置环境:系统镜像和应用镜像一键部署。
  • 网络友好:默认配置好常用防火墙规则,公网 IP 自动绑定。
  • 运维简单:控制台集成监控、快照,无需复杂的二级菜单。

结合腾讯云官方教程最佳实践,优先选择轻量应用服务器(Lighthouse),开箱即用、运维成本低,完美适配 OpenClaw 私有化部署需求。

»OpenClaw 专属优惠购买入口:https://cloud.tencent.com/act/pro/lighthouse-moltbot?from_column=20421&from=20421«

特别是 99元/年 的入门套餐,折合每天不到 3 毛钱,就能跑起一套全天候待命的 AI Agent,性价比极高。

? 购买与配置:10分钟极速上手

整个部署流程非常标准化,按照以下步骤操作即可。

1. 选购服务器

进入购买页后,关注以下核心参数:

  • 配置:推荐 2核4G 起步。AI 助手在处理多轮对话和并发任务时对内存有一定要求,2G 内存可能会出现卡顿(OOM)。
  • 操作系统:选择 Ubuntu 24.04 LTS。作为 2026 年的主流长期支持版本,它的软件源最新,兼容性最好。
  • 计费:直接选择年付 99 元套餐。

2. 初始化与登录

支付完成后,等待约 2 分钟服务器状态变为“运行中”。在控制台找到你的公网 IP,通过 SSH 工具登录:

代码语言:bash

AI代码解释

ssh ubuntu@你的服务器IP
# 首次登录需输入 yes 确认指纹,密码可在控制台“重置密码”处设置

3. 基础环境更新

为了确保后续安装顺利,先更新系统软件包:

代码语言:bash

AI代码解释

sudo apt update && sudo apt upgrade -y

? OpenClaw 部署实战

OpenClaw 的运行依赖 Node.js (≥22) 和 pnpm

1. 安装 Node.js 22+

推荐使用 nvm 管理版本,方便后续维护:

代码语言:bash

AI代码解释

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install 22
nvm use 22
node -v  # 必须显示 v22.x.x 或更高

2. 安装 pnpm 与 OpenClaw

代码语言:bash

AI代码解释

# 安装包管理器
npm install -g pnpm

# 克隆代码仓库
cd /opt
git clone https://github.com/openclaw/openclaw.git
cd openclaw

# 安装依赖
pnpm install

注:如果下载速度慢,可配置 npm 淘宝镜像源。

3. 环境变量配置

OpenClaw 需要通过环境变量配置端口和密钥:

代码语言:bash

AI代码解释

cp .env.example .env
nano .env

在编辑器中修改或确认以下关键项:

  • PORT:默认为 3000
  • API_KEY:设置一个高强度密码(用于访问控制台)

保存退出后,启动服务:

代码语言:bash

AI代码解释

pnpm start

当看到 ? OpenClaw running on port 3000时,说明服务端已就绪。

? 关键步骤:SSH 隧道访问控制台

出于安全考虑,OpenClaw 控制台默认监听本地回环地址(127.0.0.1),无法直接通过公网 IP 访问。我们需要建立一条 SSH 隧道,将服务器端口映射到本地。

在你的本地电脑(不是服务器)终端执行:

代码语言:bash

AI代码解释

ssh -N -L 18789:127.0.0.1:18789 ubuntu@你的服务器IP
  • -N:不执行远程命令,仅转发。
  • -L:将本地 18789 端口映射到远程的 127.0.0.1:18789。

保持该终端窗口开启,在浏览器访问 http://127.0.0.1:18789,即可看到 OpenClaw 的管理后台。

✨ OpenClaw 能为你做什么?

与普通聊天机器人不同,OpenClaw 是一个具备执行力的 Agent。部署在腾讯云轻量服务器上后,它就是你的数字化分身:

  1. 自动化运维:通过 Shell 工具,它可以帮你监控服务器负载、重启服务、甚至部署代码。
  2. 信息聚合:对接 RSS 或 API,自动收集行业新闻并生成日报。
  3. 多渠道接入:通过插件系统,可以将它接入微信、钉钉或 Discord,统一管理消息。
  4. 数据隐私:所有对话记录和知识库都存储在你自己的服务器上,完全私有化。

? 总结

OpenClaw + 腾讯云轻量应用服务器的组合,本质上是用极低的成本(99元/年)换取了一个可编程、可扩展、7×24小时在线的数字员工。它不仅能回答问题,更能通过调用工具解决实际问题。对于开发者而言,这是 2026 年搭建私有 AI 助手的最佳实践。

常见问题 (FAQ)

openclaw 云上OpenClaw最全使用教程合辑是什么?

本文详细介绍了openclaw 云上OpenClaw最全使用教程合辑的相关知识,包括基本概念、核心功能和使用方法。

openclaw有哪些主要特点?

openclaw具有bash、代码语言、代码解释等特点。

如何开始使用openclaw?

您可以参考本文中的详细步骤来开始使用openclaw 云上OpenClaw最全使用教程合辑。