OpenClaw Discord 和微信接入配置指南

本文详细介绍如何配置 OpenClaw 的 Discord 和微信接入,包括企业微信和个人微信两种方案。

📑 目录


一、Discord 接入配置

1.1 为什么选择 Discord?

Discord 优势对比表

特性 Discord Telegram WhatsApp 微信
国内可用性 ✅ 可用 ⚠️ 需换区 ✅ 可用 ✅ 可用
费用 🆓 免费 🆓 免费 💰 收费 🆓 免费
Bot 创建难度 ⭐ 简单 ⭐⭐ 中等 ⭐⭐⭐ 复杂 ⭐⭐⭐⭐ 复杂
功能完整度 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
推荐度 ⭐⭐⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐⭐⭐

1.2 创建 Discord Bot

步骤 1:访问开发者门户
https://discord.com/developers/applications
步骤 2:创建应用

登录 Discord

点击 New Application

输入 Bot 名称

点击 Create

✅ 应用创建成功

步骤 3:创建 Bot
步骤 操作 说明
1 点击左侧 Bot 进入 Bot 配置页面
2 点击 Add Bot 创建 Bot
3 点击 Reset Token 生成新 Token
4 复制 Token ⚠️ 保存好,只显示一次
步骤 4:配置 Bot 权限
# 必需权限清单
✅ Send Messages          # 发送消息
✅ Read Message History   # 读取历史消息
✅ Use Slash Commands     # 使用斜杠命令
✅ Embed Links            # 嵌入链接
✅ Attach Files           # 附加文件
步骤 5:生成邀请链接
https://discord.com/api/oauth2/authorize?client_id=YOUR_CLIENT_ID&permissions=2147483648&scope=bot

替换 YOUR_CLIENT_ID

  • 在应用页面的 General Information 中找到 Application ID
  • 复制并替换到上面的 URL 中

1.3 邀请 Bot 到服务器

🤖 Bot 💬 Discord 🌐 浏览器 👤 用户 🤖 Bot 💬 Discord 🌐 浏览器 👤 用户 打开邀请链接 请求授权 选择服务器 点击授权 添加 Bot ✅ 加入成功

1.4 在 OpenClaw 中配置

# 运行配置向导
openclaw onboard

# 选择消息渠道
? Select messaging platform: Discord

# 输入 Discord Bot Token
? Enter Discord Bot Token: MTIzNDU2Nzg5MDEyMzQ1Njc4OTAuGh_xyz.abcdefghijklmnopqrstuvwxyz1234567890

# 配置完成
✅ Discord integration configured successfully!

1.5 启动并测试

# 启动 OpenClaw Gateway
openclaw gateway start

# 或指定端口和绑定地址
openclaw gateway --bind loopback --port 18789 --verbose

# 终端输出
🦞 OpenClaw 2026.3.2 — Gateway started
Listening on http://127.0.0.1:18789
Discord Bot connected: YourBotName#1234

测试步骤

渲染错误: Mermaid 渲染失败: Parse error on line 3: ... B[进入服务器] B --> C[@你的Bot 发消息] C ----------------------^ Expecting 'AMP', 'COLON', 'PIPE', 'TESTSTR', 'DOWN', 'DEFAULT', 'NUM', 'COMMA', 'NODE_STRING', 'BRKT', 'MINUS', 'MULT', 'UNICODE_TEXT', got 'LINK_ID'

二、微信接入配置

2.1 微信接入方案对比

方案 类型 难度 费用 推荐度 说明
个人微信(Wechaty) 非官方 ⭐⭐⭐ 🆓 免费 ⭐⭐⭐⭐ 适合个人使用
企业微信 官方 ⭐⭐⭐⭐ 🆓 免费 ⭐⭐⭐⭐⭐ 适合企业
微信公众号 官方 ⭐⭐⭐⭐ 🆓 免费 ⭐⭐⭐ 适合服务号
微信小程序 官方 ⭐⭐⭐⭐⭐ 🆓 免费 ⭐⭐ 开发复杂

2.2 方案一:个人微信(Wechaty)

2.2.1 什么是 Wechaty?

Wechaty 是一个开源的微信个人号接口,可以让你的个人微信号变成 Bot。

生活类比

  • 个人微信 = 你的手机
  • Wechaty = 给手机装了一个自动回复程序
  • OpenClaw = 程序的大脑
2.2.2 安装 Wechaty
# 1. 创建 Wechaty 项目目录
mkdir -p ~/.openclaw/wechaty
cd ~/.openclaw/wechaty

# 2. 初始化 npm 项目
npm init -y

# 3. 安装 Wechaty 依赖(仅需 wechaty,使用默认 puppet)
npm install wechaty

# 4. 创建 bot.js(见下方「完整 bot.js 代码」)
# 5. 启动 Wechaty Bot
node bot.js
完整 bot.js 代码

将以下内容保存为 ~/.openclaw/wechaty/bot.js,或直接复制整段到该文件。

/**
 * OpenClaw 微信桥接 Bot (Wechaty)
 *
 * 功能:个人微信收到消息后,转发给 OpenClaw,并把回复发回微信。
 * 依赖:npm install wechaty
 * 运行:node bot.js
 *
 * 注意:Wechaty v1.x 使用 WechatyBuilder.build() 创建实例,不要用 new Wechaty()。
 *
 * 环境变量(可选):
 *   OPENCLAW_URL   OpenClaw API 地址,默认 http://127.0.0.1:18789
 *   BOT_NAME      Bot 名称,默认 openclaw-bot
 */

// Wechaty v1.x 使用 WechatyBuilder.build() 创建实例,不要用 new Wechaty()
const { WechatyBuilder } = require('wechaty')

// ========== 配置 ==========
const OPENCLAW_URL = process.env.OPENCLAW_URL || 'http://127.0.0.1:18789'
const BOT_NAME = process.env.BOT_NAME || 'openclaw-bot'
const OPENCLAW_API = `${OPENCLAW_URL.replace(/\/$/, '')}/api/message`

// ========== 创建 Bot ==========
const bot = WechatyBuilder.build({ name: BOT_NAME })

// ========== 扫码登录 ==========
bot.on('scan', (qrcode, status) => {
  const url = `https://wechaty.js.org/qrcode/${encodeURIComponent(qrcode)}`
  console.log(`[扫码] 状态: ${status}`)
  console.log(`[扫码] 请用微信扫描: ${url}`)
})

bot.on('login', (user) => {
  console.log(`[登录] ✅ ${user.name()} 已登录`)
})

bot.on('logout', (user) => {
  console.log(`[登出] ${user.name()} 已退出`)
})

// ========== 消息处理 ==========
bot.on('message', async (message) => {
  // 忽略自己发的消息,避免死循环
  if (message.self()) return

  const text = message.text()?.trim()
  if (!text) return

  const talker = message.talker()
  const room = message.room()
  const from = room ? `群[${room.topic()}]@${talker.name()}` : talker.name()

  console.log(`[消息] ${from}: ${text}`)

  try {
    const response = await fetch(OPENCLAW_API, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        platform: 'wechat',
        message: text,
        userId: talker.id,
        userName: talker.name(),
        roomId: room?.id,
        roomTopic: room?.topic(),
      }),
    })

    if (!response.ok) {
      throw new Error(`OpenClaw 返回 ${response.status}: ${response.statusText}`)
    }

    const result = await response.json()
    const reply = result?.reply ?? result?.content ?? result?.text

    if (reply) {
      await message.say(String(reply))
    } else {
      await message.say('(OpenClaw 未返回有效回复)')
    }
  } catch (error) {
    console.error('[错误] 转发/回复失败:', error.message)
    // OpenClaw 未启动或网络异常时,回显原文
    await message.say(`收到: ${text}\n(OpenClaw 未连接,请检查服务是否启动)`)
  }
})

// ========== 错误处理 ==========
bot.on('error', (error) => {
  console.error('[Bot 错误]', error)
})

// ========== 启动 ==========
console.log('🤖 Wechaty Bot 启动中...')
bot
  .start()
  .then(() => console.log('✅ Bot 已就绪,等待扫码登录'))
  .catch((err) => {
    console.error('❌ 启动失败:', err)
    process.exit(1)
  })

配置说明

配置项 说明 默认值
OPENCLAW_URL OpenClaw Gateway 地址 http://127.0.0.1:18789
BOT_NAME Bot 名称(日志用) openclaw-bot
OPENCLAW_API 消息转发 API 路径 {OPENCLAW_URL}/api/message

使用方式

# 默认连接本机 OpenClaw
node bot.js

# 指定 OpenClaw 地址(例如远程或不同端口)
OPENCLAW_URL=http://192.168.1.100:18789 node bot.js

# 指定 Bot 名称
BOT_NAME=my-bot node bot.js

项目目录结构

~/.openclaw/wechaty/
├── node_modules/
│   └── wechaty/
├── package.json
├── package-lock.json
└── bot.js          # 上面完整代码保存为此文件

常见问题排查

问题 原因 解决方案
Wechaty is not a constructor Wechaty v1.x 已改为 Builder 模式 使用 const { WechatyBuilder } = require('wechaty')WechatyBuilder.build({ name: '...' })
PuppetWechat is not a constructor 不要用 wechaty-puppet-wechat 只装 npm install wechaty,不指定 puppet
Cannot find module 'wechaty' 依赖未在项目目录安装 ~/.openclaw/wechaty 下执行 npm install wechaty
扫码后无反应 微信/协议限制 换网络或使用付费 puppet(如 padlocal)
频繁掉线 免费协议限制 考虑企业微信方案或付费 puppet
2.2.3 扫码登录
🦞 OpenClaw 📱 微信 🤖 Wechaty 💻 终端 🦞 OpenClaw 📱 微信 🤖 Wechaty 💻 终端 node bot.js 显示二维码 扫码登录 ✅ 登录成功 收到消息 转发消息 返回回复 发送回复
2.2.4 配置 OpenClaw

在 OpenClaw 配置文件 ~/.openclaw/openclaw.json 中增加以下内容(若已有 channelsmessagingplugins.entries,则只合并对应字段即可)。

方式一:命令行(推荐)

# 启用 wechat 渠道
openclaw config set channels.wechat.enabled true

# 配置 WeChat 消息(对接 bot.js 转发)
openclaw config set messaging.wechat.enabled true
openclaw config set messaging.wechat.endpoint "http://127.0.0.1:18789/api/message"
openclaw config set messaging.wechat.autoReply true

# 启用 wechat 插件(若 OpenClaw 支持)
openclaw config set plugins.entries.wechat.enabled true

方式二:直接编辑配置文件

编辑 ~/.openclaw/openclaw.json,在合适位置加入:

"channels": {
  "discord": { "enabled": true, "groupPolicy": "allowlist", "streaming": "off" },
  "wechat": { "enabled": true }
},
"messaging": {
  "wechat": {
    "enabled": true,
    "endpoint": "http://127.0.0.1:18789/api/message",
    "autoReply": true
  }
},
"plugins": {
  "entries": {
    "qwen-portal-auth": { "enabled": true },
    "discord": { "enabled": true },
    "wechat": { "enabled": true }
  }
}

配置说明

配置项 说明 示例值
channels.wechat.enabled 是否启用微信渠道 true
messaging.wechat.enabled 是否启用微信消息对接 true
messaging.wechat.endpoint bot.js 转发到的 OpenClaw API 地址 http://127.0.0.1:18789/api/message
messaging.wechat.autoReply 是否自动回复 true

2.3 方案二:企业微信(推荐)

2.3.1 为什么选择企业微信?

企业微信 vs 个人微信对比

特性 个人微信(Wechaty) 企业微信
官方支持 ❌ 非官方 ✅ 官方
稳定性 ⭐⭐⭐ 可能被封 ⭐⭐⭐⭐⭐ 稳定
功能限制 ⚠️ 有限制 ✅ 功能全
API 文档 ⭐⭐⭐ 社区维护 ⭐⭐⭐⭐⭐ 官方文档
费用 🆓 免费 🆓 免费
适用场景 个人/小团队 企业/团队
2.3.2 注册企业微信

访问企业微信官网

注册企业

填写企业信息

管理员认证

✅ 注册完成

创建应用

获取 AgentId

获取 Secret

配置回调 URL

2.3.3 创建企业微信应用

步骤详解表

步骤 操作 说明
1 登录企业微信管理后台 https://work.weixin.qq.com/
2 点击「应用管理」 左侧菜单
3 点击「创建应用」 右上角
4 填写应用信息 名称、Logo、描述
5 设置可见范围 选择可使用的成员
6 获取 AgentId 应用详情页
7 获取 Secret 点击「查看」按钮
8 配置回调 URL 接收消息的地址
2.3.4 获取企业信息
# 需要的信息清单
✅ CorpId(企业 ID)
✅ AgentId(应用 ID)
✅ Secret(应用密钥)
✅ Token(用于验证签名)
✅ EncodingAESKey(用于加密)

获取位置

企业微信配置

CorpId

我的企业

企业信息

企业 ID

AgentId

应用管理

自建应用

应用详情

Secret

应用管理

自建应用

查看 Secret

Token & AESKey

应用管理

接收消息

设置 API 接收

2.3.5 配置 OpenClaw
# 1. 安装企业微信插件
npm install -g @openclaw/plugin-wework

# 2. 配置企业微信
openclaw config set wework.corpId "your_corp_id"
openclaw config set wework.agentId "your_agent_id"
openclaw config set wework.secret "your_secret"
openclaw config set wework.token "your_token"
openclaw config set wework.encodingAESKey "your_aes_key"

# 3. 设置回调 URL
openclaw config set wework.callbackUrl "https://your-domain.com/wework/callback"

# 4. 启动服务
openclaw gateway start --enable-wework
2.3.6 配置回调服务器

方案 A:使用公网服务器

# 1. 在服务器上安装 OpenClaw
ssh user@your-server.com
npm install -g openclaw

# 2. 配置 Nginx 反向代理
sudo nano /etc/nginx/sites-available/openclaw

# Nginx 配置
server {
    listen 80;
    server_name your-domain.com;
    
    location /wework/callback {
        proxy_pass http://127.0.0.1:18789;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

# 3. 重启 Nginx
sudo systemctl restart nginx

# 4. 启动 OpenClaw
openclaw gateway start

方案 B:使用内网穿透(开发测试)

# 使用 ngrok
npm install -g ngrok

# 启动内网穿透
ngrok http 18789

# 复制 ngrok 提供的 URL
# 例如:https://abc123.ngrok.io

# 在企业微信后台配置回调 URL
# https://abc123.ngrok.io/wework/callback
2.3.7 验证配置
# 1. 启动 OpenClaw
openclaw gateway start --verbose

# 2. 在企业微信应用中点击「验证」
# 终端应该显示:
✅ WeWork callback verification successful

# 3. 发送测试消息
# 在企业微信中给应用发消息

# 4. 查看日志
openclaw logs --tail 50

2.4 微信接入完整流程图

个人

企业

选择微信接入方案

个人 or 企业?

使用 Wechaty

安装 Wechaty

扫码登录

配置 OpenClaw

✅ 完成

注册企业微信

创建应用

获取配置信息

配置回调 URL

配置 OpenClaw

验证配置

✅ 完成

2.5 微信接入常见问题

问题 原因 解决方案
Wechaty 登录失败 微信版本不兼容 使用 iPad 协议
企业微信验证失败 Token/AESKey 错误 检查配置是否正确
回调 URL 无法访问 网络不通 检查防火墙和端口
消息收不到 权限不足 检查应用可见范围
频繁掉线 网络不稳定 使用服务器部署


三、其他消息渠道配置

3.1 Telegram 配置

3.1.1 创建 Telegram Bot
# 1. 在 Telegram 中搜索 @BotFather
# 2. 发送 /newbot
# 3. 按提示设置 Bot 名称和用户名
# 4. 获取 Bot Token

Telegram Bot 创建流程

🤖 你的Bot 🤖 BotFather 👤 用户 🤖 你的Bot 🤖 BotFather 👤 用户 /newbot 请输入 Bot 名称 My OpenClaw Bot 请输入用户名 myopenclaw_bot ✅ 创建成功!Token: 123456:ABC... 保存 Token
3.1.2 配置 OpenClaw
# 配置 Telegram
openclaw config set telegram.token "123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11"

# 启动
openclaw gateway start --enable-telegram

3.2 飞书配置

3.2.1 创建飞书应用
步骤 操作 链接
1 访问飞书开放平台 https://open.feishu.cn/
2 创建企业自建应用 开发者后台
3 获取 App ID 和 App Secret 凭证与基础信息
4 配置事件订阅 事件与回调
5 添加机器人能力 应用功能
3.2.2 配置 OpenClaw
# 配置飞书
openclaw config set feishu.appId "cli_xxxxxxxx"
openclaw config set feishu.appSecret "xxxxxxxxxxxxxxxx"
openclaw config set feishu.verificationToken "xxxxxxxx"
openclaw config set feishu.encryptKey "xxxxxxxx"

# 启动
openclaw gateway start --enable-feishu

3.3 钉钉配置

3.3.1 创建钉钉机器人
# 1. 进入钉钉群聊
# 2. 点击群设置 > 智能群助手 > 添加机器人
# 3. 选择「自定义」机器人
# 4. 设置机器人名称和安全设置
# 5. 获取 Webhook 地址
3.3.2 配置 OpenClaw
# 配置钉钉
openclaw config set dingtalk.webhook "https://oapi.dingtalk.com/robot/send?access_token=xxxxx"
openclaw config set dingtalk.secret "SECxxxxxxxxxx"

# 启动
openclaw gateway start --enable-dingtalk

3.4 Slack 配置

3.4.1 创建 Slack App
# 1. 访问 https://api.slack.com/apps
# 2. 点击 Create New App
# 3. 选择 From scratch
# 4. 输入 App 名称和选择 Workspace
# 5. 添加 Bot Token Scopes
# 6. 安装 App 到 Workspace
# 7. 获取 Bot Token
3.4.2 配置 OpenClaw
# 配置 Slack
openclaw config set slack.token "xoxb-xxxxxxxxxxxxx"
openclaw config set slack.signingSecret "xxxxxxxxxxxxxxxx"

# 启动
openclaw gateway start --enable-slack

3.5 消息渠道全面对比表

渠道 国内可用 费用 配置难度 功能完整度 推荐度 适用场景
Discord ✅ 可用 🆓 免费 ⭐ 简单 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ 个人、团队、社区
企业微信 ✅ 可用 🆓 免费 ⭐⭐⭐ 中等 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐⭐ 企业办公
个人微信 ✅ 可用 🆓 免费 ⭐⭐⭐ 中等 ⭐⭐⭐ ⭐⭐⭐⭐ 个人、小团队
飞书 ✅ 可用 🆓 免费 ⭐⭐⭐ 中等 ⭐⭐⭐⭐⭐ ⭐⭐⭐⭐ 企业办公
钉钉 ✅ 可用 🆓 免费 ⭐⭐ 简单 ⭐⭐⭐⭐ ⭐⭐⭐⭐ 企业办公
Telegram ⚠️ 需换区 🆓 免费 ⭐⭐ 简单 ⭐⭐⭐⭐⭐ ⭐⭐⭐ 国际用户
Slack ✅ 可用 💰 部分收费 ⭐⭐ 简单 ⭐⭐⭐⭐⭐ ⭐⭐⭐ 技术团队
WhatsApp ✅ 可用 💰 收费 ⭐⭐⭐⭐ 复杂 ⭐⭐⭐ ⭐⭐ 国际业务

3.6 渠道选择决策树

🏢 企业办公

🇨🇳 国内

🌍 国外

👥 个人/团队

✅ 需要

❌ 不需要

🌐 社区/开源

💼 客户服务

🇨🇳 国内

🌍 国外

选择消息渠道

使用场景?

国内 or 国外?

企业微信/飞书/钉钉

Slack

需要官方支持?

Discord

个人微信/Telegram

Discord/Telegram

客户在哪?

企业微信/微信

WhatsApp/Telegram


四、高级配置

4.1 多模型配置

4.1.1 支持的 AI 模型
模型 提供商 特点 费用 推荐度
Claude 3.5 Anthropic 最强推理能力 💰 按量付费 ⭐⭐⭐⭐⭐
GPT-4 OpenAI 综合能力强 💰 按量付费 ⭐⭐⭐⭐⭐
Qwen 阿里云 中文优秀 💰 按量付费 ⭐⭐⭐⭐
Gemini Google 多模态强 🆓 有免费额度 ⭐⭐⭐⭐
DeepSeek DeepSeek 性价比高 💰 便宜 ⭐⭐⭐⭐
4.1.2 配置多个模型
# 配置 Claude
openclaw config set ai.claude.apiKey "sk-ant-xxxxx"
openclaw config set ai.claude.model "claude-3-5-sonnet-20241022"

# 配置 GPT
openclaw config set ai.openai.apiKey "sk-xxxxx"
openclaw config set ai.openai.model "gpt-4"

# 配置 Qwen
openclaw config set ai.qwen.apiKey "sk-xxxxx"
openclaw config set ai.qwen.model "qwen-max"

# 设置默认模型
openclaw config set ai.default "claude"
4.1.3 模型切换
# 在对话中切换模型
@bot use gpt-4
@bot use claude
@bot use qwen

4.2 自定义提示词(Prompt)

# 编辑系统提示词
openclaw config edit prompts

# 示例配置
{
  "system": "你是一个专业的技术助手,擅长编程和系统管理。",
  "codeReview": "请仔细审查以下代码,指出潜在问题和改进建议。",
  "taskAutomation": "请帮我完成以下自动化任务:"
}

4.3 权限管理

# 设置管理员
openclaw config set auth.admins "user_id_1,user_id_2"

# 设置白名单
openclaw config set auth.whitelist "user_id_3,user_id_4"

# 启用认证
openclaw config set auth.enabled true

4.4 日志配置

# 设置日志级别
openclaw config set log.level "debug"  # debug, info, warn, error

# 设置日志文件
openclaw config set log.file "/var/log/openclaw/app.log"

# 启用日志轮转
openclaw config set log.rotate true
openclaw config set log.maxSize "100MB"
openclaw config set log.maxFiles 10

4.5 性能优化

# 设置并发数
openclaw config set performance.maxConcurrency 10

# 设置超时时间
openclaw config set performance.timeout 30000  # 30秒

# 启用缓存
openclaw config set cache.enabled true
openclaw config set cache.ttl 3600  # 1小时

# 设置内存限制
openclaw config set performance.memoryLimit "2GB"

4.6 Docker 部署

# 创建 Dockerfile
cat > Dockerfile << 'EOF'
FROM node:22-alpine

# 安装 OpenClaw
RUN npm install -g openclaw@latest

# 创建工作目录
WORKDIR /app

# 复制配置文件
COPY config.json /root/.openclaw/config.json

# 暴露端口
EXPOSE 18789

# 启动命令
CMD ["openclaw", "gateway", "start", "--bind", "0.0.0.0", "--port", "18789"]
EOF

# 构建镜像
docker build -t openclaw:latest .

# 运行容器
docker run -d \
  --name openclaw \
  -p 18789:18789 \
  -v ~/.openclaw:/root/.openclaw \
  --restart unless-stopped \
  openclaw:latest

4.7 Nginx 反向代理

# /etc/nginx/sites-available/openclaw
server {
    listen 80;
    server_name openclaw.yourdomain.com;
    
    # 重定向到 HTTPS
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name openclaw.yourdomain.com;
    
    # SSL 证书
    ssl_certificate /etc/letsencrypt/live/openclaw.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/openclaw.yourdomain.com/privkey.pem;
    
    # 安全配置
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    
    # 反向代理
    location / {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        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 支持
    location /ws {
        proxy_pass http://127.0.0.1:18789;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_set_header Host $host;
    }
}

五、常见问题

5.1 安装问题

问题 1:Node.js 版本不符合要求
# 症状
Error: OpenClaw requires Node.js >= 22.0.0

# 解决方案
# 使用 nvm 安装 Node.js 22
nvm install 22
nvm use 22
node -v
问题 2:npm 安装失败
# 症状
npm ERR! code EACCES

# 解决方案 1:不使用 sudo
npm config set prefix ~/.npm-global
export PATH=~/.npm-global/bin:$PATH

# 解决方案 2:使用 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
问题 3:网络问题
# 使用淘宝镜像
npm config set registry https://registry.npmmirror.com

# 或使用代理
npm config set proxy http://proxy.example.com:8080
npm config set https-proxy http://proxy.example.com:8080

5.2 配置问题

问题 1:Discord Bot 无法连接

问题排查表

检查项 命令 预期结果
Token 是否正确 openclaw config get discord.token 显示 Token
Bot 是否在线 查看 Discord 开发者门户 显示在线
权限是否足够 检查 Bot 权限 有发送消息权限
网络是否通畅 ping discord.com 能 ping 通
问题 2:微信回调验证失败

回调验证失败

检查什么?

Token 是否正确

重新复制 Token

AESKey 是否正确

重新生成 AESKey

URL 是否可访问

测试 curl URL

端口是否开放

检查防火墙

5.3 运行问题

问题 1:端口被占用
# 症状
Error: Port 18789 is already in use

# 解决方案 1:使用其他端口
openclaw gateway start --port 18790

# 解决方案 2:杀死占用端口的进程
# macOS/Linux
lsof -ti:18789 | xargs kill -9

# Windows
netstat -ano | findstr :18789
taskkill /PID <PID> /F
问题 2:内存不足
# 症状
JavaScript heap out of memory

# 解决方案:增加内存限制
export NODE_OPTIONS="--max-old-space-size=4096"
openclaw gateway start
问题 3:频繁崩溃
# 使用 PM2 管理进程
npm install -g pm2

# 启动 OpenClaw
pm2 start openclaw -- gateway start

# 查看日志
pm2 logs openclaw

# 设置开机自启
pm2 startup
pm2 save

5.4 性能问题

响应速度慢

优化检查清单

性能优化

网络优化

使用CDN

启用压缩

优化DNS

缓存优化

启用Redis

设置合理TTL

预加载常用数据

代码优化

减少API调用

批量处理

异步执行

硬件优化

增加内存

使用SSD

升级CPU

5.5 安全问题

安全配置建议表
配置项 推荐值 说明
HTTPS ✅ 启用 使用 Let’s Encrypt
防火墙 ✅ 启用 只开放必要端口
认证 ✅ 启用 设置强密码
日志审计 ✅ 启用 记录所有操作
定期更新 ✅ 启用 及时修复漏洞
备份 ✅ 启用 定期备份配置

六、实战案例

6.1 案例 1:自动化代码审查

场景:团队在 Discord 中提交代码,OpenClaw 自动进行代码审查。

# 配置代码审查提示词
openclaw config set prompts.codeReview "请审查以下代码,重点关注:
1. 安全漏洞
2. 性能问题
3. 代码规范
4. 最佳实践"

# 在 Discord 中使用
@bot review
```python
def login(username, password):
    query = f"SELECT * FROM users WHERE username='{username}' AND password='{password}'"
    return db.execute(query)

**OpenClaw 回复**:

⚠️ 发现严重安全问题:

  1. SQL 注入漏洞

    • 使用字符串拼接构建 SQL 查询
    • 建议:使用参数化查询
  2. 明文密码

    • 密码未加密存储
    • 建议:使用 bcrypt 或 argon2 加密

修改建议:

def login(username, password):
    query = "SELECT * FROM users WHERE username=? AND password_hash=?"
    password_hash = bcrypt.hashpw(password.encode(), salt)
    return db.execute(query, (username, password_hash))

### 6.2 案例 2:企业微信日报提醒

**场景**:每天下午 5 点提醒团队成员写日报。

```bash
# 创建定时任务脚本
cat > ~/.openclaw/scripts/daily-report.js << 'EOF'
const schedule = require('node-schedule');
const axios = require('axios');

// 每天下午 5 点执行
schedule.scheduleJob('0 17 * * *', async () => {
  const message = {
    msgtype: 'text',
    text: {
      content: '📝 提醒:请在下班前提交今日工作日报!\n\n包括:\n1. 今日完成工作\n2. 遇到的问题\n3. 明日计划'
    }
  };
  
  await axios.post('http://127.0.0.1:18789/api/wework/send', message);
});
EOF

# 运行脚本
node ~/.openclaw/scripts/daily-report.js

6.3 案例 3:多语言翻译助手

场景:在微信群中自动翻译消息。

# 配置翻译功能
openclaw config set features.translation.enabled true
openclaw config set features.translation.languages "en,zh,ja,ko"

# 使用方式
# 在微信中发送:
/translate en 你好世界

# OpenClaw 回复:
Hello World

6.4 案例 4:服务器监控告警

场景:服务器 CPU/内存超过阈值时,通过 Discord 告警。

# 创建监控脚本
cat > ~/.openclaw/scripts/server-monitor.js << 'EOF'
const os = require('os');
const axios = require('axios');

setInterval(async () => {
  const cpuUsage = os.loadavg()[0] / os.cpus().length * 100;
  const memUsage = (1 - os.freemem() / os.totalmem()) * 100;
  
  if (cpuUsage > 80 || memUsage > 85) {
    const alert = {
      platform: 'discord',
      message: `🚨 服务器告警!
      
CPU 使用率: ${cpuUsage.toFixed(2)}%
内存使用率: ${memUsage.toFixed(2)}%
时间: ${new Date().toLocaleString()}

请及时处理!`
    };
    
    await axios.post('http://127.0.0.1:18789/api/alert', alert);
  }
}, 60000); // 每分钟检查一次
EOF

# 使用 PM2 运行
pm2 start ~/.openclaw/scripts/server-monitor.js --name server-monitor

6.5 案例 5:智能客服系统

场景:企业微信接入智能客服,自动回答常见问题。

# 配置知识库
openclaw config set kb.enabled true
openclaw config set kb.source "docs/*.md"

# 添加常见问题
cat > ~/.openclaw/kb/faq.md << 'EOF'
# 常见问题

## 如何修改密码?
1. 登录系统
2. 点击右上角头像
3. 选择"修改密码"
4. 输入旧密码和新密码

## 如何申请权限?
1. 联系部门管理员
2. 填写权限申请表
3. 等待审批通过

## 系统支持哪些浏览器?
- Chrome 90+
- Firefox 88+
- Safari 14+
- Edge 90+
EOF

# 重新加载知识库
openclaw kb reload

七、最佳实践

7.1 配置管理

使用环境变量
# .env 文件
NODE_ENV=production
OPENCLAW_PORT=18789
OPENCLAW_BIND=0.0.0.0

# Discord
DISCORD_TOKEN=MTIzNDU2...
DISCORD_CLIENT_ID=123456789

# WeChat
WEWORK_CORP_ID=wwxxxx
WEWORK_AGENT_ID=1000001
WEWORK_SECRET=xxxxx

# AI Models
CLAUDE_API_KEY=sk-ant-xxxxx
OPENAI_API_KEY=sk-xxxxx
QWEN_API_KEY=sk-xxxxx

# 加载环境变量
openclaw gateway start --env-file .env
配置文件管理
# 导出配置
openclaw config export > config.json

# 导入配置
openclaw config import < config.json

# 备份配置
cp ~/.openclaw/config.json ~/.openclaw/config.backup.json

# 版本控制(去除敏感信息)
cat ~/.openclaw/config.json | jq 'del(.apiKeys)' > config.template.json

7.2 安全实践

安全检查清单

安全检查

认证授权

数据加密

网络安全

日志审计

✅ 启用认证

✅ 设置白名单

✅ 定期更换密钥

✅ HTTPS 传输

✅ 敏感数据加密

✅ 安全存储密钥

✅ 防火墙配置

✅ DDoS 防护

✅ 限流策略

✅ 记录所有操作

✅ 定期审查日志

✅ 异常告警

7.3 性能优化

性能优化对比表
优化项 优化前 优化后 提升 方法
响应时间 3-5秒 0.5-1秒 🚀 5倍 启用缓存
并发处理 10 req/s 100 req/s 🚀 10倍 增加并发数
内存占用 1GB 500MB 💾 50% 优化代码
启动时间 30秒 5秒 ⚡ 6倍 预加载优化

7.4 监控告警

# 安装监控工具
npm install -g @openclaw/monitor

# 配置监控
openclaw monitor config --enable-metrics --enable-alerts

# 查看实时指标
openclaw monitor dashboard

# 设置告警规则
openclaw monitor alert set --metric cpu --threshold 80 --action notify
openclaw monitor alert set --metric memory --threshold 85 --action notify
openclaw monitor alert set --metric response_time --threshold 3000 --action notify

7.5 备份恢复

# 自动备份脚本
cat > ~/.openclaw/scripts/backup.sh << 'EOF'
#!/bin/bash

BACKUP_DIR=~/.openclaw/backups
DATE=$(date +%Y%m%d_%H%M%S)

# 创建备份目录
mkdir -p $BACKUP_DIR

# 备份配置
cp ~/.openclaw/config.json $BACKUP_DIR/config_$DATE.json

# 备份数据库
openclaw db export > $BACKUP_DIR/db_$DATE.sql

# 备份脚本
tar -czf $BACKUP_DIR/scripts_$DATE.tar.gz ~/.openclaw/scripts/

# 清理 7 天前的备份
find $BACKUP_DIR -mtime +7 -delete

echo "Backup completed: $DATE"
EOF

# 设置定时备份(每天凌晨 2 点)
crontab -e
# 添加:0 2 * * * /bin/bash ~/.openclaw/scripts/backup.sh

八、故障排查

8.1 诊断工具

# 健康检查
openclaw health check

# 输出示例
✅ Node.js version: v22.16.0
✅ OpenClaw version: 2026.3.2
✅ Gateway status: Running
✅ Discord connection: Connected
✅ WeChat connection: Connected
⚠️ Memory usage: 85% (high)
✅ Disk space: 45% (ok)

# 详细诊断
openclaw diagnose --verbose

# 网络测试
openclaw test connection --platform discord
openclaw test connection --platform wechat

8.2 日志分析

# 查看实时日志
openclaw logs --follow

# 查看最近 100 条日志
openclaw logs --tail 100

# 过滤错误日志
openclaw logs --level error

# 搜索关键词
openclaw logs --grep "connection failed"

# 导出日志
openclaw logs --since "2024-01-01" --until "2024-01-31" > logs_jan.txt

8.3 常见错误码

错误码 说明 原因 解决方案
E001 配置文件错误 JSON 格式错误 检查配置文件语法
E002 API Key 无效 Key 过期或错误 重新获取 API Key
E003 网络连接失败 网络不通 检查网络和防火墙
E004 权限不足 没有操作权限 检查权限配置
E005 资源不足 内存或磁盘不足 增加资源或清理
E006 模块加载失败 依赖缺失 重新安装依赖

📊 三种消息渠道对比

渠道 优势 劣势 国内可用性 费用 推荐度
Discord 免费、易用、功能全 国内访问偶尔慢 ✅ 可用 🆓 免费 ⭐⭐⭐⭐⭐
企业微信 官方支持、稳定 配置稍复杂 ✅ 可用 🆓 免费 ⭐⭐⭐⭐⭐
个人微信 用户基数大 可能被封 ✅ 可用 🆓 免费 ⭐⭐⭐⭐
Telegram 功能强大、Bot 生态好 登录复杂、国内下载难 ⚠️ 需换区 🆓 免费 ⭐⭐⭐
WhatsApp 用户基数大 Business API 收费 ✅ 可用 💰 收费 ⭐⭐

推荐选择

  • 🥇 Discord:个人/团队/社区首选
  • 🥈 企业微信:企业办公首选
  • 🥉 个人微信:小团队备选

🎯 安装流程图

开始安装 OpenClaw

检查 Node.js 版本

版本 >= 22?

升级到 Node 22

安装 OpenClaw CLI

npm install -g openclaw@latest

openclaw --version

选择消息渠道

尝试 Telegram

❌ 登录失败

尝试 WhatsApp

❌ 需要付费

选择 Discord

创建 Discord Bot

获取 Token

配置 OpenClaw

✅ 安装成功


💡 经验总结

1. Node.js 版本很重要

OpenClaw 严格要求 Node.js >= 22,安装前务必检查:

node -v
# 必须是 v22.x.x 或更高

2. 消息渠道选择建议(国内用户)

国内用户推荐

Discord

飞书

企业微信

不推荐

Telegram
下载困难

WhatsApp
需要付费

推荐顺序:

  1. ⭐⭐⭐⭐⭐ Discord:免费、易用、国内可下载
  2. ⭐⭐⭐⭐ 飞书:国内企业常用,稳定
  3. ⭐⭐⭐⭐ 企业微信:办公场景集成好
  4. ⭐⭐⭐ Telegram:功能最强,但国内下载麻烦
  5. ⭐⭐ WhatsApp:需要付费

3. Telegram 的坑

  • 桌面版登录界面可能有交互 Bug
  • 中国大陆 App Store 已下架
  • 需要换区或 TestFlight,流程复杂
  • 不推荐国内用户作为首选

4. Discord 的优势

  • ✅ 中国区 App Store 可直接下载
  • ✅ Bot 创建流程简单清晰
  • ✅ 完全免费,无隐藏费用
  • ✅ 文档完善,社区活跃
  • ✅ 支持语音、频道、权限管理

📝 完整安装命令(成功版本)

# 1. 检查 Node.js 版本
node -v
# 输出:v22.16.0

# 2. 安装 OpenClaw
npm install -g openclaw@latest

# 3. 验证安装
openclaw --version
# 输出:2026.3.2

# 4. 配置(选择 Discord)
openclaw onboard --install-daemon

# 配置向导:
# - 模式:QuickStart
# - AI 模型:Claude / Qwen(根据你的 API Key)
# - 消息渠道:Discord
# - Discord Bot Token:MTIzNDU2...(从开发者门户获取)

# 5. 启动
openclaw gateway --bind loopback --port 18789 --verbose

# 6. 访问
# 浏览器打开:http://127.0.0.1:18789

🎯 关键要点

  1. Node.js 必须 >= 22:这是硬性要求
  2. 国内用户优先选 Discord:避免 Telegram 的下载和登录问题
  3. Discord Bot Token 获取简单:5 分钟即可完成
  4. 不要用 sudo 安装:会导致权限和配置路径问题

📚 参考资源


✅ 安装成功标志

# 终端输出
🦞 OpenClaw 2026.3.2 (85377a2) — I can't fix your code taste, but I can fix your build and your backlog.

OpenClaw Gateway v2.0.0
Listening on http://127.0.0.1:18789
Press Ctrl+C to stop

浏览器访问 http://127.0.0.1:18789 能看到 OpenClaw 界面即为成功!


💡 给其他用户的建议

如果你也在安装 OpenClaw,建议:

  1. 检查 Node.js 版本:必须 >= 22
  2. 国内用户优先选 Discord
    • ✅ 免费
    • ✅ 易用
    • ✅ App Store 可下载
    • ✅ 不需要翻墙
  3. 避开 Telegram(国内用户):
    • ❌ 中国区 App Store 下架
    • ❌ 登录界面可能有 Bug
    • ❌ 需要换区或内网穿透
  4. 避开 WhatsApp
    • ❌ Business API 按消息收费
    • ❌ 配置复杂

总结:macOS + Discord = 最顺畅的 OpenClaw 安装体验!

🚀 下一步学习

  • OpenClaw 高级配置(多模型切换)
  • 自定义插件开发
  • 与企业微信/钉钉集成
  • 集群部署与负载均衡
  • 性能监控与日志分析

📚 参考资源


💡 课后作业

  1. 基础部署:在阿里云上部署 OpenClaw 并成功访问
  2. 安全配置:配置 HTTPS 和限制 SSH 访问
  3. 实战练习:实现自动整理桌面文件的功能
  4. 对比分析:试用豆包/千问,对比与 OpenClaw 的差异
  5. 自动化任务:设计一个适合你工作场景的自动化任务
  6. 性能优化:配置日志轮转和资源限制
  7. 思考题:你的项目适合用 OpenClaw 还是豆包/千问?为什么?

相关文章:

📝 学习建议:OpenClaw 是一个强大但需要技术背景的工具。如果你只是想要一个对话助手,豆包/千问更合适;如果你需要真正的自动化能力系统级操作,OpenClaw 是最佳选择。记住:**没有最好的工具,只有最合适的工具!**先理解需求,再选择方案。

Logo

小龙虾开发者社区是 CSDN 旗下专注 OpenClaw 生态的官方阵地,聚焦技能开发、插件实践与部署教程,为开发者提供可直接落地的方案、工具与交流平台,助力高效构建与落地 AI 应用

更多推荐