# Openclaw Complete Deployment Guide

> 在阿里云服务器上部署 OpenClaw 的完整指南，涵盖阿里云百炼模型配置、飞书/钉钉/QQ/Discord 全平台接入、Qoder CLI 集成，以及高级配置与运维。

- Skill: `nathansteelqoder/openclaw-complete-deployment-guide` (Agent Skill)
- Install (CLI): `npx skillmds add nathansteelqoder/openclaw-complete-deployment-guide`
- Raw SKILL.md: https://api.skillmd.com/api/skills/nathansteelqoder/openclaw-complete-deployment-guide/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: nathansteelqoder (https://skillmd.com/u/nathansteelqoder)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/nathansteelqoder/openclaw-complete-deployment-guide

---


# 在阿里云上部署 OpenClaw 完整指南

> 覆盖阿里云百炼模型配置、飞书 / 钉钉（传统机器人 + DEAP 高级方案）/ QQ / Discord 全平台接入、Qoder CLI 集成，以及高级配置与运维。

---

## ⚠️ 安全警告

在开始之前，请务必阅读以下注意事项：

1. **切勿在个人主力电脑上部署 OpenClaw**——它具有高文件系统和命令执行权限
2. **务必使用云服务器**（如阿里云 ECS）进行部署，与本地环境隔离
3. **保护好你的 API 密钥**——使用环境变量或安全保险箱，不要硬编码在代码中
4. **使用强随机令牌**限制 Gateway 访问，避免使用简单密码
5. **定期轮换凭证**——特别是钉钉/飞书/QQ 等平台的应用密钥

---

## 使用场景

- 在阿里云 ECS 服务器上从零部署 OpenClaw AI 助手
- 通过钉钉（Stream 机器人或 DEAP 高级方案）与 AI 对话
- 通过飞书、QQ 或 Discord 接入 OpenClaw
- 配置阿里云百炼 Coding Plan 作为 AI 推理后端
- 将 Qoder CLI 注册为 ACP Agent，实现钉钉/飞书中的代码开发

## 示例

```bash
# 安装 OpenClaw
curl -fsSL https://clawd.bot/install.sh | bash

# 启动 Gateway
openclaw gateway --port 18789 --verbose

# 交互式配置模型和渠道
openclaw onboard

# 查看所有渠道状态
openclaw channel list

# 查看实时日志
tail -f /tmp/openclaw-gateway.log
```

## 注意事项

- 切勿在本地主力电脑部署，务必使用云服务器（如阿里云 ECS）
- 钉钉应用必须完成「版本发布」流程，仅保存配置不生效
- 钉钉 Client Secret、百炼 API Key、QQ 机器人密钥均只显示一次，需立即保存
- 飞书集成需选择「WebSocket 长连接」模式，不要使用 HTTP 回调
- 钉钉 DEAP 方案需在同一服务器运行 Connector，确保 18789 端口本地可访问
- 建议为 Gateway 配置随机强令牌认证（`openssl rand -hex 24`）

---

## 概述

本指南将带你完成一套完整的 OpenClaw 云端部署，实现通过多种 IM 平台与 AI 助手对话，并可选接入 Qoder CLI 进行代码开发。

**整体架构：**

```
┌────────────────────────────────────────────────────────────┐
│                         用户层                              │
│  ┌────────┐  ┌────────┐  ┌──────┐  ┌─────────┐           │
│  │  飞书  │  │  钉钉  │  │  QQ  │  │ Discord │           │
│  └───┬────┘  └───┬────┘  └──┬───┘  └────┬────┘           │
└──────┼───────────┼──────────┼───────────┼─────────────────┘
       │           │          │           │
       └───────────┴──────────┴───────────┘
                              │
                     Stream / WebSocket
                              │
┌─────────────────────────────▼──────────────────────────────┐
│                   OpenClaw Gateway :18789                   │
│  ┌──────────────────────────────────────────────────────┐  │
│  │  ACP 协议层                                           │  │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐           │  │
│  │  │  acpx    │  │  调度器  │  │  会话管理 │           │  │
│  │  └──────────┘  └──────────┘  └──────────┘           │  │
│  └──────────────────────────────────────────────────────┘  │
│  ┌──────────────────────────────────────────────────────┐  │
│  │  渠道连接器层（飞书 / 钉钉 / QQ / Discord）           │  │
│  └──────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘
                              │
                    阿里云百炼 API / Qoder CLI
```

**部署步骤总览：**
1. 购买并配置阿里云 ECS 服务器
2. 安装 Node.js 与 OpenClaw
3. 配置阿里云百炼模型（Coding Plan）
4. 配置 Gateway 外部访问与认证
5. 配置 ACP 协议支持
6. 安装并配置 Qoder CLI（可选）
7. 接入 IM 平台（飞书 / 钉钉 / QQ / Discord）

---

## 前置要求

### 必需账号和权限
- 阿里云账号
- 阿里云百炼账号（用于模型 API）
- 目标 IM 平台的开发者/管理员账号

### 必需软件（本地）
- SSH 客户端
- 现代浏览器（用于访问各平台开发者控制台）

---

## 第一阶段：阿里云服务器购买与配置

### 1.1 推荐服务器配置

| 配置项 | 最低要求 | 推荐配置 |
|--------|----------|----------|
| **CPU** | 2 核 | 2 核 |
| **内存** | 2 GiB | 4 GiB |
| **磁盘** | 20 GB SSD | 40 GB ESSD |
| **带宽** | 1 Mbps | 20 Mbps+ |
| **操作系统** | Ubuntu 22.04 / CentOS 8 | Alibaba Cloud Linux 3 |
| **地域** | 任意 | 美国弗吉尼亚 / 中国香港（访问 AI 服务延迟低）|

### 1.2 购买方式

**方式一：通过计算巢快速部署（推荐新手）**

访问阿里云计算巢，一键部署预配置环境：

🔗 [阿里云计算巢 - OpenClaw 快速部署](https://computenest.console.aliyun.com/service/simple/deploy?spm=5176.454194655176.J_LpMXWHUI5RA2GOV1NY010.1.4b55545bDIcqlf&ServiceId=service-249322bfe8c045798808)

按页面指引：选择地域 → 选择实例规格 → 配置网络和安全组 → 确认创建。

**方式二：手动购买 ECS 实例**

1. 访问 [阿里云 ECS 控制台](https://ecs.console.aliyun.com/)
2. 点击「创建实例」
3. 关键选项：
   - **镜像**：Alibaba Cloud Linux 3 / Ubuntu 22.04（如有 OpenClaw 应用镜像可直接选用）
   - **实例规格**：`ecs.c7.large`（2 核 4 GiB）或更高
   - **系统盘**：40 GB ESSD
   - **公网 IP**：分配公网 IPv4
   - **带宽**：按使用流量或按固定带宽（至少 1 Mbps）
4. 配置安全组（见下方）
5. 设置登录凭证（密钥对推荐）
6. 确认并创建

### 1.3 配置安全组规则

| 端口 | 协议 | 用途 | 授权对象 |
|------|------|------|----------|
| 22 | TCP | SSH 远程连接 | 你的 IP 地址 |
| 18789 | TCP | OpenClaw Gateway | 0.0.0.0/0 |

**配置步骤：**
1. ECS 控制台 → 找到实例 → 点击「安全组」
2. 「配置规则」→「入方向」→「手动添加」以上规则

### 1.4 连接到服务器

```bash
# 使用密码登录
ssh root@<你的服务器公网IP>

# 使用密钥登录
ssh -i /path/to/your-key.pem root@<你的服务器公网IP>

# 或通过阿里云控制台网页终端：
# ECS 控制台 → 实例详情 → 远程连接
```

---

## 第二阶段：安装 Node.js 与 OpenClaw

### 2.1 安装 Node.js（推荐 nvm）

```bash
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc

# 安装 Node.js 22 LTS
nvm install 22
nvm use 22
node -v  # 验证：应输出 v22.x.x
```

### 2.2 安装 OpenClaw

**方式一：通过官方安装脚本（推荐）**
```bash
curl -fsSL https://clawd.bot/install.sh | bash
```

**方式二：通过 npm 全局安装**
```bash
npm install -g openclaw
```

**验证安装：**
```bash
openclaw --version
# 预期输出：版本号如 "2026.1.x"
# 若提示命令不存在，尝试旧名称：clawdbot --version
```

### 2.3 启动 OpenClaw Gateway

```bash
# 方式一：前台启动（调试用）
openclaw gateway --port 18789 --verbose

# 方式二：后台启动
nohup setsid openclaw gateway --port 18789 --verbose > /tmp/openclaw-gateway.log 2>&1 &

# 检查状态
systemctl --user status openclaw-gateway.service
# 或
openclaw gateway status
```

---

## 第三阶段：配置阿里云百炼模型（Coding Plan）

### 3.1 购买 Coding Plan 套餐

| 套餐 | 首月价格 | 次月价格 | 每月请求量 |
|------|---------|---------|-----------|
| **Lite 基础版** | 7.9 元 | 40 元/月 | 18,000 次 |
| **Pro 高级版** | 39.9 元 | 200 元/月 | 90,000 次 |

1. 访问 [阿里云百炼控制台](https://bailian.console.aliyun.com/)
2. 导航至「Coding Plan」或「订阅套餐」
3. 选择 Lite 或 Pro 完成支付

### 3.2 获取 API 凭证

- **Base URL**（固定）：`https://coding.dashscope.aliyuncs.com/v1`
- **API Key 格式**：`sk-sp-xxxxx`

**获取步骤：**
1. 登录 [阿里云百炼控制台](https://bailian.console.aliyun.com/)
2. 进入「密钥管理」或「API Keys」
3. 点击「创建 API Key」
4. **立即复制并保存**——关闭后无法再次查看

**支持的模型：**
- `qwen3.5-plus` - 通用场景（推荐入门）
- `qwen3-max-2026-01-23` - 高级推理
- `kimi-k2.5` - 代码生成（如可用）
- `glm-5` - 中文优化

### 3.3 配置 OpenClaw 使用百炼

**方式一：交互式引导**
```bash
openclaw onboard
```
按提示操作：
1. 选择「添加自定义模型供应商」
2. 供应商 ID：`bailian`
3. Base URL：`https://coding.dashscope.aliyuncs.com/v1`
4. API Key：粘贴 `sk-sp-xxxxx`
5. API 类型：`openai-completions`
6. 添加模型：`qwen3.5-plus`
7. 设为默认模型

**方式二：手动编辑配置文件**

编辑 `~/.openclaw/openclaw.json`：
```json
{
  "models": {
    "providers": {
      "bailian": {
        "baseUrl": "https://coding.dashscope.aliyuncs.com/v1",
        "apiKey": "sk-sp-YOUR_KEY_HERE",
        "api": "openai-completions",
        "models": [
          {
            "id": "qwen3.5-plus",
            "name": "Qwen 3.5 Plus",
            "reasoning": true,
            "input": ["text"],
            "contextWindow": 32000,
            "maxTokens": 4096
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "bailian/qwen3.5-plus"
      }
    }
  }
}
```

---

## 第四阶段：配置 Gateway 外部访问与认证

当需要通过钉钉 DEAP 或其他外部服务访问 Gateway 时，需配置认证和 HTTP 端点。

### 4.1 生成强认证令牌

```bash
openssl rand -hex 24
# 示例输出：a3f7c2e1d4b5a6c7d8e9f0a1b2c3d4e5f6a7b8c9d0e1f2a3
```

### 4.2 更新 Gateway 配置

编辑 `~/.openclaw/openclaw.json`，添加 `gateway` 部分：

```json
{
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "controlUI": {
      "allowInsecureAuth": false
    },
    "auth": {
      "mode": "token",
      "token": "在此处填入上一步生成的强令牌"
    },
    "http": {
      "endpoints": {
        "chatCompletions": {
          "enabled": true
        }
      }
    }
  }
}
```

### 4.3 重启 Gateway

```bash
openclaw gateway restart

# 或手动重启：
pkill -f "openclaw gateway"
nohup setsid openclaw gateway --port 18789 --verbose > /tmp/openclaw-gateway.log 2>&1 &
```

### 4.4 验证 Gateway 正常运行

```bash
curl http://127.0.0.1:18789/health
# 应返回 {"status":"ok"} 或类似响应
```

---

## 第五阶段：配置 ACP 协议支持

ACP（Agent Client Protocol）协议允许 OpenClaw 调度多种 AI Agent。

### 5.1 安装并启用 ACPX 插件

```bash
# 安装 ACPX 插件
openclaw plugins install @openclaw/acpx

# 启用插件
openclaw config set plugins.entries.acpx.enabled true
```

### 5.2 配置 ACP 参数

```bash
# 启用 ACP
openclaw config set acp.enabled true

# 启用 ACP 调度
openclaw config set acp.dispatch.enabled true

# 设置后端为 acpx
openclaw config set acp.backend "acpx"

# 设置默认 Agent
openclaw config set acp.defaultAgent "openclaw"

# 设置允许的 Agents
openclaw config set acp.allowedAgents '["openclaw","claude","codex","opencode","gemini"]'

# 设置最大并发会话数
openclaw config set acp.maxConcurrentSessions 8
```

### 5.3 重启 Gateway 使配置生效

```bash
openclaw gateway restart
```

### 5.4 验证 ACP 配置

```bash
openclaw config get acp --raw
# 应输出：
# {
#   "enabled": true,
#   "dispatch": { "enabled": true },
#   "backend": "acpx",
#   "defaultAgent": "openclaw",
#   "allowedAgents": [...]
# }
```

---

## 第六阶段：安装并配置 Qoder CLI（可选）

如果你希望通过 Qoder 进行代码开发，可安装 Qoder CLI 并将其注册为 ACP Agent。

### 6.1 安装 Qoder CLI

```bash
npm install -g @qoder-ai/qodercli

# 验证安装
qodercli --version
```

### 6.2 配置 Qoder CLI 认证

**方式一：环境变量（临时）**
```bash
export QODER_PERSONAL_ACCESS_TOKEN="your-api-key-here"
qodercli status  # 验证登录
```

**方式二：持久化配置文件**
```bash
mkdir -p ~/.config/qoder
cat > ~/.config/qoder/config.json << 'EOF'
{
  "api_key": "your-api-key-here"
}
EOF
```

### 6.3 配置 acpx 支持 Qoder

```bash
mkdir -p ~/.acpx
cat > ~/.acpx/config.json << 'EOF'
{
  "agents": {
    "qoder": {
      "command": "env QODER_PERSONAL_ACCESS_TOKEN=your-api-key-here qodercli --acp"
    }
  },
  "defaultAgent": "qoder",
  "defaultPermissions": "approve-all"
}
EOF
```

### 6.4 将 Qoder 注册到 ACP

```bash
# 添加 qoder 到允许的 Agents 列表
openclaw config set acp.allowedAgents '["openclaw","qoder","claude","codex","opencode","gemini"]'

# 可选：设置 qoder 为默认 Agent
openclaw config set acp.defaultAgent "qoder"

# 重启 Gateway
openclaw gateway restart
```

### 6.5 测试 Qoder CLI

```bash
qodercli -p "hello" --max-turns 1
# 若返回结果，说明 Qoder CLI 工作正常
```

---

## 第七阶段：飞书 Bot 集成

### 7.1 创建飞书企业自建应用

1. 访问 [飞书开放平台](https://open.feishu.cn/app)
2. 点击「创建应用」→ 选择「企业自建」
3. 填写应用名称（如「OpenClaw 助手」）和描述
4. **立即记录 App ID 和 App Secret**

### 7.2 配置必需权限

进入应用「权限管理」，开启以下权限：

```
contact:user.base:readonly   获取用户基本信息
im:message                   读取消息
im:message:send_as_bot       发送消息（Bot 身份）
im:resource                  获取消息中的资源
```

确认 4 个权限全部激活。

### 7.3 启用机器人并配置事件订阅

1. 进入「应用能力」→ 添加「机器人」
2. 事件订阅：选择「**使用长连接接收事件**」（WebSocket，无需公网 URL）
3. 添加事件：`im.message.receive_v1`（接收消息事件）
4. 保存并创建版本
5. **发布应用**（企业内部审批即可）

### 7.4 配置 OpenClaw 接入飞书

**运行引导：**
```bash
openclaw onboard
```

按提示操作：
1. 接受风险：**是**
2. 配置方式：**快速开始**
3. 模型供应商：选择已配置的百炼
4. 通道：选择**飞书**
5. 输入凭证：App ID、App Secret（来自步骤 7.1）
6. 启用技能：**是**
7. 选择钩子：**session-memory**
8. 重启 Gateway：**是**

### 7.5 使用飞书机器人

- **工作台**：飞书 → 工作台 → 找到应用 → 开始聊天
- **全局搜索**：搜索应用名称直接进入
- **群聊**：将机器人加入群组 → @提及机器人交互

---

## 第八阶段：钉钉集成

钉钉提供两种接入方案，根据需求选择：

| 方案 | 复杂度 | 特点 |
|------|--------|------|
| **方案 A：传统机器人（Stream 模式）** | 较低 | 直接配置，无需额外组件 |
| **方案 B：DEAP Agent（高级）** | 较高 | 通过 Connector 隧道，功能更丰富 |

---

### 方案 A：钉钉机器人（Stream 模式）

#### A-1：安装钉钉插件

```bash
openclaw plugins install https://github.com/soimy/openclaw-channel-dingtalk.git

# 验证安装
openclaw plugins list
```

#### A-2：在钉钉开放平台创建企业内部应用

1. 访问 [钉钉开放平台](https://open.dingtalk.com/)
2. 使用企业管理员账号登录
3. 点击「创建应用」→ 选择「企业内部应用」
4. 填写应用信息（名称、描述、图标）
5. 点击「确定创建」
6. 在「凭证与基础信息」中记录 **Client ID**（AppKey）和 **Client Secret**（AppSecret）

> ⚠️ Client Secret 只显示一次，请立即妥善保存。

#### A-3：配置应用权限

进入「权限管理」，申请以下权限：

**通讯录权限：**
- `qyapi_get_member` - 获取企业成员信息
- `qyapi_get_department_list` - 获取部门列表

**机器人权限：**
- `chat:chat:readonly` / `chat:chat:write`
- `im:chat:readonly` / `im:chat:write` / `im:chat:write:group`
- `Card.Instance.Write` / `Card.Streaming.Write`
- `qyapi_robot_sendmsg`

点击「批量申请」，等待管理员审批通过。

#### A-4：配置并发布机器人

1. 进入「机器人」页面 → 添加机器人 → 选择「自定义机器人」
2. 消息接收模式：**Stream 模式**（WebSocket，无需公网 IP）
3. 进入「版本管理与发布」→ 创建新版本（1.0.0）→ 申请发布

#### A-5：配置 OpenClaw 连接钉钉

编辑 `~/.openclaw/openclaw.json`，在 `channels` 中添加：

```json
{
  "channels": {
    "dingtalk": {
      "enabled": true,
      "clientId": "你的_APPKEY",
      "clientSecret": "你的_APPSECRET",
      "robotCode": "你的_APPKEY",
      "corpId": "你的_CORPID",
      "agentId": "你的_AGENTID",
      "dmPolicy": "open",
      "groupPolicy": "open",
      "messageType": "markdown",
      "streamMode": true,
      "autoReply": true,
      "debug": false
    }
  }
}
```

或使用命令行配置：
```bash
openclaw config set channels.dingtalk.enabled true
openclaw config set channels.dingtalk.clientId "YOUR_CLIENT_ID"
openclaw config set channels.dingtalk.clientSecret "YOUR_CLIENT_SECRET"
openclaw config set channels.dingtalk.sessionTimeout 1800000

openclaw gateway restart
```

#### A-6：将机器人添加到群聊

1. 打开目标钉钉群 → 群设置 → 智能群助手
2. 添加机器人 → 企业内部机器人 → 找到你的机器人 → 添加

**验证：** 在群聊中发送 `@OpenClaw 助手 你好`，机器人应回复。

---

### 方案 B：钉钉 DEAP Agent（高级方案）

**架构：** 钉钉 App → DEAP 云端 → Connector 隧道 → 你的服务器 Gateway

#### B-1：获取 DEAP 凭证

1. **CorpId**：[钉钉开放平台](https://open-dev.dingtalk.com/) → 企业信息
2. **DEAP API Key**：[钉钉 DEAP 平台](https://deap.dingtalk.com/) → 安全与权限 → API-Key 管理 → 创建密钥

#### B-2：在服务器上安装并运行 Connector

```bash
# 检查服务器架构
uname -m  # x86_64 或 aarch64

# 从以下地址下载对应版本：
# https://github.com/DingTalk-Real-AI/dingtalk-moltbot-connector/releases
cd ~
wget [下载链接] -O connector.zip
unzip -o connector.zip
cd connector-linux-amd64  # 根据实际目录名调整
chmod +x connector-linux

# 后台运行 Connector
nohup ./connector-linux \
  -deapCorpId 你的_CORPID \
  -deapApiKey 你的_DEAP_APIKEY \
  > /tmp/dingtalk-connector.log 2>&1 &

# 验证运行状态
ps aux | grep connector
tail -20 /tmp/dingtalk-connector.log
```

#### B-3：在 DEAP 平台创建 Agent

1. 访问 [钉钉 DEAP 平台](https://deap.dingtalk.com/)
2. 创建新 Agent
3. 添加技能：搜索「OpenClaw」或「OpenClaw Gateway」
4. 配置技能参数：
   - **apikey**：你的 DEAP API Key
   - **apihost**：`127.0.0.1:18789`
   - **gatewayToken**：第四阶段配置的 Gateway 认证令牌
5. 发布 Agent

#### B-4：在钉钉中使用 DEAP Agent

- 在钉钉 App 中搜索 Agent 名称
- 直接用自然语言发送任务，命令通过隧道在阿里云服务器上执行

---

## 第九阶段：QQ Bot 集成

### 9.1 创建 QQ 机器人

1. 访问 [QQ 开放平台](https://q.qq.com/#/)
2. **重要**：需注册账号（非 QQ 账号直接登录）
3. 登录 → 「机器人」→「创建机器人」
4. 填写名称和描述
5. **立即记录机器人 ID 和机器人密钥**（关闭后无法再次查看）

### 9.2 配置 IP 白名单

1. QQ 开放平台 → 机器人详情 → IP 白名单
2. 将阿里云服务器的**公网 IP** 加入白名单

### 9.3 配置 OpenClaw

```bash
openclaw onboard
```

选择 **QQ** 作为通道，输入：
- 机器人 ID
- 机器人密钥

完成剩余步骤（模型选择、技能、钩子）。

---

## 第十阶段：Discord Bot 集成

### 10.1 创建 Discord Bot

1. 访问 [Discord Developer Portal](https://discord.com/developers/applications)
2. 「New Application」→ 输入应用名称
3. 进入「Bot」标签页
4. 点击「Reset Token」→ **立即复制并保存 Bot Token**
5. 开启「Message Content Intent」（消息内容意图权限）

### 10.2 生成邀请链接并加入服务器

1. 进入「OAuth2」→「URL Generator」
2. Scope 选择：`bot`
3. Bot Permissions 勾选：
   - Send Messages
   - Read Message History
4. 复制生成的 URL，在浏览器中打开
5. 选择你的 Discord 服务器 → 授权

### 10.3 配置 OpenClaw

```bash
openclaw onboard
```

选择 **Discord** 作为通道，输入 Bot Token（来自步骤 10.1）。

> **遗留说明**：部分旧版文档使用 `clawdbot`，请统一使用 `openclaw`。

---

## 验证与使用示例

### 全平台通用测试消息

```
你现在用的是什么模型？
用三句话总结什么是 OpenClaw
创建一个工作日报模板
```

### 检查 Gateway 状态

```bash
# 查看 Gateway 运行日志
tail -50 /tmp/openclaw-gateway.log

# 查看所有渠道状态
openclaw channel list

# 查看 ACP 会话
openclaw sessions list
```

### 钉钉使用示例

```text
# 日常对话
@OpenClaw 助手 你好，请介绍一下你自己

# 代码需求
@OpenClaw 助手 帮我写一段 Python 爬虫代码，抓取网页标题

# 指定特定 Agent
@OpenClaw 助手 /acp spawn claude 分析这段代码的 bug

# 如果安装了 Qoder CLI
@OpenClaw 助手 用 qoder 开发一个 TODO 应用

# 多轮对话
@OpenClaw 助手 我想开发一个个人博客（使用 Next.js 和 TypeScript）
```

### 并行任务执行示例

一次发送多个任务以提升效率：
```
请处理以下任务：
1. 用三句话总结 OpenClaw
2. 创建一个包含 5 项的每周待办模板
3. 推荐一个提高效率的小技巧
```

---

## 高级配置

### 配置多个 Agent

```bash
# 设置允许的 Agents 列表
openclaw config set acp.allowedAgents '["openclaw","qoder","claude","codex","opencode","gemini"]'

# 在聊天中使用特定 Agent
# /acp spawn codex --mode persistent   使用 Codex
# /acp spawn claude --mode persistent  使用 Claude
# /acp spawn qoder --mode persistent   使用 Qoder
```

### 配置持久化会话

```bash
# 启用会话绑定（同一话题持续使用同一 Agent）
openclaw config set session.threadBindings.enabled true
openclaw config set session.threadBindings.ttlHours 24

openclaw gateway restart
```

### 配置安全策略

```bash
# 设置执行权限级别
# strict: 严格限制   moderate: 适度限制   approve-all: 全部批准
openclaw config set acp.permissions "strict"

# 设置任务超时时间（秒）
openclaw config set acp.timeout 300
```

### 配置消息回复模板

新建 `~/.openclaw/dingtalk-templates.json`：

```json
{
  "welcome": "你好！我是 OpenClaw AI 助手，有什么可以帮助你的吗？",
  "error": "抱歉，处理您的请求时出现了错误，请稍后重试。",
  "thinking": "正在思考中...",
  "timeout": "处理超时，请简化您的问题后重试。"
}
```

---

## 性能优化与运维

### 配置 systemd 系统服务（推荐生产环境）

```bash
# 增加系统文件描述符限制
echo "fs.file-max = 65535" >> /etc/sysctl.conf
sysctl -p

# 创建 systemd 服务
cat > /etc/systemd/system/openclaw.service << 'EOF'
[Unit]
Description=OpenClaw Gateway
After=network.target

[Service]
Type=simple
User=root
ExecStart=/root/.nvm/versions/node/v22.22.0/bin/openclaw gateway
Restart=always
RestartSec=5
Environment="PATH=/root/.nvm/versions/node/v22.22.0/bin:/usr/bin:/usr/local/bin"

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable openclaw
systemctl start openclaw
systemctl status openclaw
```

### 监控与日志管理

```bash
# 实时查看 Gateway 日志
tail -f /tmp/openclaw-gateway.log

# 查看 ACP 状态
openclaw acp status

# 查看所有会话
openclaw sessions list

# 查看钉钉渠道指标
openclaw channel metrics dingtalk

# 通过 systemd 查看日志
journalctl -u openclaw -f
```

### 钉钉 DEAP Connector 守护进程

```bash
# 配置 Connector 开机自启
cat > /etc/systemd/system/dingtalk-connector.service << 'EOF'
[Unit]
Description=DingTalk DEAP Connector
After=network.target openclaw.service

[Service]
Type=simple
User=root
WorkingDirectory=/root/connector-linux-amd64
ExecStart=/root/connector-linux-amd64/connector-linux \
  -deapCorpId YOUR_CORPID \
  -deapApiKey YOUR_DEAP_APIKEY
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

systemctl enable dingtalk-connector
systemctl start dingtalk-connector
```

---

## 常见问题排查

### 故障速查表

| 现象 | 可能原因 | 解决方案 |
|------|---------|---------|
| `401 Unauthorized` | Gateway Token 不匹配 | 检查 `openclaw.json` 中的 token 与 DEAP/机器人配置一致 |
| `405 Method Not Allowed` | HTTP 端点未启用 | 确保 `gateway.http.endpoints.chatCompletions.enabled: true` |
| 机器人完全无响应 | 应用未发布 / 权限缺失 | 检查应用发布状态和权限审批 |
| DEAP Connector 断开 | 防火墙 / 端口问题 | 确保 18789 端口本地可访问，检查防火墙规则 |
| 机器人回复慢 | 服务器资源不足 | 检查 CPU/内存，查看 ACP 会话数 |
| `insufficient scope` | 钉钉权限未通过审批 | 重新申请权限并等待审批 |

### 问题 1：Gateway 启动失败

```bash
# 检查端口占用
netstat -tlnp | grep 18789

# 查看详细日志
openclaw logs

# 强制重启
openclaw gateway restart --force
```

### 问题 2：钉钉机器人无响应

**排查步骤：**
1. 确认应用已在「版本管理与发布」中正式发布（仅保存不够）
2. 确认所有机器人权限已申请并审批通过
3. 核对 Client ID 和 Client Secret 无误
4. 查看连接器日志：`openclaw logs dingtalk -f`
5. 确认 Stream 模式已启用
6. 确认机器人已添加到目标群聊

### 问题 3：无法将机器人添加到群聊

**排查步骤：**
1. 确认你是群管理员或群主
2. 确认应用已发布并通过管理员审批
3. 在「机器人」页面确认机器人状态为「已启用」

### 问题 4：Stream 模式 / WebSocket 连接失败

```bash
# 检查服务器是否能访问外部服务
ping oapi.dingtalk.com
ping open.feishu.cn

# 检查防火墙是否阻止出站连接
# 尝试重启对应渠道连接器
openclaw channel restart dingtalk
```

### 问题 5：机器人回复慢或中途超时

```bash
# 检查服务器资源
top
free -h

# 查看 ACP 会话状态
openclaw sessions list

# 检查 OpenClaw 错误日志
openclaw logs --tail 200
```

---

## 快速参考卡

| 平台 | 关键凭证 | 连接模式 | 特殊要求 |
|------|---------|---------|----------|
| **飞书** | App ID、App Secret | WebSocket 长连接 | 4 个权限，`im.message.receive_v1` 事件 |
| **钉钉（传统机器人）** | AppKey、AppSecret、CorpId、AgentId | Stream 模式 | `Card.Instance.Write`、`Card.Streaming.Write` 权限 |
| **钉钉（DEAP）** | CorpId、DEAP API Key、Gateway Token | Connector 隧道 | Connector 需与 Gateway 在同一服务器 |
| **QQ** | 机器人 ID、机器人密钥 | HTTP API | 服务器公网 IP 加入白名单 |
| **Discord** | Bot Token | WebSocket Gateway | 启用 Message Content Intent |

---

## 环境变量参考

使用环境变量代替配置文件中的硬编码令牌（推荐）：

```bash
# 添加到 ~/.bashrc 或 ~/.zshrc
export OPENCLAW_GATEWAY_TOKEN="你的_gateway_token"
export DINGTALK_CLIENT_SECRET="你的_dingtalk_secret"
export FEISHU_APP_SECRET="你的_feishu_secret"
export BAILIAN_API_KEY="sk-sp-YOUR_KEY_HERE"
export QODER_PERSONAL_ACCESS_TOKEN="你的_qoder_api_key"
```

然后执行 `source ~/.bashrc` 使配置生效。部分 OpenClaw 版本支持在 `openclaw.json` 中使用 `$ENV_VAR` 语法引用环境变量。

---

## 日常维护命令

**重启 Gateway：**
```bash
systemctl restart openclaw
# 或手动方式：
pkill -f "openclaw gateway" && nohup setsid openclaw gateway --port 18789 --verbose > /tmp/openclaw-gateway.log 2>&1 &
```

**更新 OpenClaw：**
```bash
openclaw update
# 或重新运行安装脚本：
curl -fsSL https://clawd.bot/install.sh | bash
```

**管理插件：**
```bash
openclaw plugins list
openclaw plugins update [插件名]
openclaw plugins install [插件名或 Git URL]
```

**查看运行日志：**
```bash
# Gateway 主日志
tail -f /tmp/openclaw-gateway.log

# 钉钉 DEAP Connector 日志
tail -f /tmp/dingtalk-connector.log

# 特定渠道日志
openclaw logs dingtalk -f
openclaw logs feishu -f
```

**故障排查入口：**
```bash
openclaw gateway status        # Gateway 状态
openclaw channel list          # 所有渠道状态
openclaw sessions list         # ACP 会话列表
openclaw channel status dingtalk   # 特定渠道状态
```

---

## 参考资料

- [OpenClaw 官网](https://openclaw.ai/)
- [OpenClaw 官方文档](https://docs.openclaw.ai/)
- [OpenClaw GitHub](https://github.com/openclaw/openclaw)
- [阿里云 ECS 控制台](https://ecs.console.aliyun.com/)
- [阿里云百炼控制台](https://bailian.console.aliyun.com/)
- [钉钉开放平台](https://open.dingtalk.com/)
- [钉钉 DEAP 平台](https://deap.dingtalk.com/)
- [钉钉企业内部应用开发指南](https://open.dingtalk.com/document/orgapp-server/create-an-internal-app)
- [钉钉机器人开发文档](https://open.dingtalk.com/document/orgapp-server/robot-overview)
- [飞书开放平台](https://open.feishu.cn/)
- [QQ 开放平台](https://q.qq.com/)
- [Discord Developer Portal](https://discord.com/developers/applications)
- [ACP 协议规范](https://agentclientprotocol.com)
- [阿里云轻量服务器文档](https://help.aliyun.com/product/58609.html)
