最近,openclaw(曾用名:Clawdbot、Moltbot,也叫龙虾)很火啊,各大云平台啥的都上了,我们也要赶上。
因为产品面向海外,希望用openclaw接入discord,目前暂定的2个调研场景:

  • 自动接收用户问题,并做一些初步分析,能解答的解答,不能解答的自动记录为工单并派发;
  • 完成开发任务:定义多个不同的角色,比如一个机器人经理,一个机器人产品,一个机器人前端,一个机器人后端,一个机器人测试,通过discord给经理派发任务,经理自动指挥其它角色完成开发测试。

注:根据官方文档:https://docs.openclaw.ai/channels openclaw支持国内的飞书,但是据说容易断,discord比较稳定,所以决定开发任务也用discord来试试。
折腾了1天,踩了各种坑,总算初步跑通了一个机器人,记录并分享一下过程吧。

  • 注1:文章写给一些产品运营看,所以比较啰嗦一些。
  • 注2:配置过程中出了较多问题,最后是直接改配置文件解决,
    所以本文也介绍配置文件修改,不介绍官方的配置引导过程。
  • 注3:如果碰到一些网络问题,请自行魔法处理。

0. 环境相关

我日常是Windows开发,为便于后面使用,当然是在Windows上安装和配置了;

另外,为了方便LLM大模型管理,我们公司上了开源的LiteLLM大模型网关,这样只要买一两个外部LLM账号,就可以在内部给大家共用,每个人分配独立的LiteLLM ApiKey,而且还支持大模型故障切换等能力。
所以,这个openclaw,也配置为接入LiteLLM,当然,接入其它厂商的大模型也同样很简单就是了。

1. 安装node运行环境

openclaw基于node开发的,因此必须要先有运行环境:
可以去这里 下载 node安装文件,下载后直接双击安装,一步步到结束

2. 启动PowerShell准备安装

点开始菜单,在搜索框输入 power,然后右击下面的Windows PowerShell,选择“以管理员身份运行”
[图片]

3. 安装openclaw

在弹出的PowerShell窗口里,输入如下命令后回车:

powershell -ExecutionPolicy Bypass -Command "iwr -useb https://openclaw.ai/install.ps1 | iex"

安装截图,注意在Starting setup这里要等10几20分钟,看你的网络情况和电脑性能:
在这里插入图片描述

注意:如果报错,请确认要执行上面的脚本,以开启脚本运行权限,不能直接运行官方的iwr命令:
在这里插入图片描述

4. 配置openclaw

上一步安装,看到下面的提示,就表示安装成功了,并且自动进入了配置状态

*  I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?

这个提示,是告诉你注意安全,要不要继续,因为openclaw还是有很多安全问题的,包括泄密,包括误操作删除文件等等,这个你自己评估了。
我当然输入y,要继续了,不然还玩啥。

4.1 默认配置,生成json文件

接下来就是按指示一步步配置,因为我们要自己改配置文件,所以下面尽量不配置,只为了生成一个json配置文件,后面直接改json配置文件:

  • Onboarding mode 选择 QuickStart
  • Model/auth provider 选 Skip for now
  • Filter models by provider 选 All providers
  • Default model 选 Keep current (default: anthropic/claude-opus-4-6)
  • Select channel (QuickStart) 选 Skip for now
  • Configure skills now? (recommended) 选 No
  • Enable hooks? 选 Skip for now

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

上面的配置完成后,会新弹出一个窗口,启动openclaw,并在当前安装界面显示:
在这里插入图片描述

可以选择“Open the Web UI”,在浏览器打开界面,进行调试测试,因为我们还没有配置大模型,界面聊天会报错:
在这里插入图片描述

好了,我们先把这2个窗口都关闭(PowerShell的安装窗口 和 启动的openclaw窗口),
至于WebUI窗口不用关,留着后面用

4.2 编辑json配置文件

4.2.1 生成网关的url和apikey

找LiteLLM配置的ApiKey以及对应的接入url,记录下来,后面备用

4.2.2 配置环境变量

安全起见,要把上一步的LiteLLM的ApiKey,设置到系统环境变量去(其它大模型的,最好也用环境变量配置)
点开始,搜索栏输入“环境变量”,点击下面的“编辑系统环境变量”:
在这里插入图片描述

在弹出窗口,点“环境变量”->“新建”, 变量名输入"LITELLM_API_KEY", 变量值输入上一步的apikey,确定即可
在这里插入图片描述

4.2.3 手工改json配置文件

按 “Win” + R 键,输入 %USERPROFILE%.openclaw, 回车
在这里插入图片描述

会进入openclaw的配置目录,在这个目录下有个 openclaw.json , 用编辑器(比如记事本)打开它,

  • 在"wizard"同级节点,添加如下大模型配置:
    注1:${LITELLM_API_KEY}就表示上一步配置的环境变量,你也可以直接写死,但是不安全
    注2:baseUrl的值就是上面的LiteLLM的接入url
    注3:models就是你的LiteLLM里配置的那些大模型,自行修改
    注4:claude-haiku指定了api协议类型

  "models": {
    "providers": {
      "litellm": {
        "baseUrl": "https://llm-developer.beinet.cn",
        "apiKey": "${LITELLM_API_KEY}",
        "api": "openai-completions",
        "models": [{
            "id": "gemini-3-flash-preview",
            "name": "gemini-3-flash-preview",
            "reasoning": true,
            "input": [
                "text",
                "image"
            ],
            "contextWindow": 1048576,
            "maxTokens": 65535
          },
          {
            "id": "claude-haiku-4-5",
            "name": "claude-haiku-4-5",
            "reasoning": true,
            "input": [
              "text",
              "image"
            ],
            "api": "anthropic-messages",
            "contextWindow": 128000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  • 在"agents" 的 "defaults"下的子节点里,添加:
      "model": {
        "primary": "litellm/claude-haiku-4-5"
      },
  • 在"session"的同级节点,添加:
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "boot-md": {
          "enabled": true
        }
      }
    }
  },
  "channels": {
  },
  "skills": {
    "install": {
      "nodeManager": "npm"
    },
    "entries": {
      "goplaces": {
        "apiKey": "abcdefg"
      }
    }
  },

4.2.4 完整配置文件如下:

注意:这是我的完整配置文件,里面的url、token、相对目录,都要改成你的。
建议使用WinMerge之类的对比工具,对比你的json配置,只改上面提及的必要的内容

{
  "wizard": {
    "lastRunAt": "2026-02-28T09:15:19.023Z",
    "lastRunVersion": "2026.2.26",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },
  "models": {
    "providers": {
      "litellm": {
        "baseUrl": "https://llm-developer.beinet.cn",
        "apiKey": "${LITELLM_API_KEY}",
        "api": "openai-completions",
        "models": [{
            "id": "gemini-3-flash-preview",
            "name": "gemini-3-flash-preview",
            "reasoning": true,
            "input": [
                "text",
                "image"
            ],
            "contextWindow": 1048576,
            "maxTokens": 65535
          },
          {
            "id": "claude-haiku-4-5",
            "name": "claude-haiku-4-5",
            "reasoning": true,
            "input": [
              "text",
              "image"
            ],
            "api": "anthropic-messages",
            "contextWindow": 128000,
            "maxTokens": 8192
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "litellm/claude-haiku-4-5"
      },
      "workspace": "C:\\Users\\Administrator\\.openclaw\\workspace",
      "compaction": {
        "mode": "safeguard"
      },
      "maxConcurrent": 4,
      "subagents": {
        "maxConcurrent": 8
      }
    }
  },
  "messages": {
    "ackReactionScope": "group-mentions"
  },
  "commands": {
    "native": "auto",
    "nativeSkills": "auto",
    "restart": true,
    "ownerDisplay": "raw"
  },
  "session": {
    "dmScope": "per-channel-peer"
  },
  "hooks": {
    "internal": {
      "enabled": true,
      "entries": {
        "boot-md": {
          "enabled": true
        }
      }
    }
  },
  "channels": {
  },
  "gateway": {
    "port": 18789,
    "mode": "local",
    "bind": "loopback",
    "auth": {
      "mode": "token",
      "token": "***隐藏了,要用你原来的配置文件里的值***"
    },
    "tailscale": {
      "mode": "off",
      "resetOnExit": false
    },
    "nodes": {
      "denyCommands": [
        "camera.snap",
        "camera.clip",
        "screen.record",
        "calendar.add",
        "contacts.add",
        "reminders.add"
      ]
    }
  },
  "skills": {
    "install": {
      "nodeManager": "npm"
    },
    "entries": {
      "goplaces": {
        "apiKey": "abcdefg"
      }
    }
  },
  "meta": {
    "lastTouchedVersion": "2026.2.26",
    "lastTouchedAt": "2026-02-28T09:15:19.030Z"
  }
}

5. 重启openclaw

重新以管理员打开一个PowerShell窗口(不要用前面的窗口,没有环境变量)。
在新的PowerShell窗口里,输入下面的命令启动:

powershell -ExecutionPolicy Bypass -Command "openclaw gateway --verbose"

在这里插入图片描述

ok,刷新一下前面打开 的Web UI窗口,或者访问这个网址: http://127.0.0.1:18789/chat?session=main
跟它聊聊天,如果能正常回复,就完成了:
[图片]

注:如果聊天窗口报错,Connection fail之类,有可能是前面启动的openclaw缓存了大模型配置,要清理缓存:

  • 退出openclaw
  • 删除下面2个目录:
    • %USERPROFILE%.openclaw\agents
    • %USERPROFILE%.openclaw\workspace
    • 注意:workspace默认有一个git目录,看你要不要保留
  • 重启openclaw,应该就正常了

6. discord对接

6.1 先注册一个账号

去 https://discord.com/ 注册一下,这个注册过程就不介绍了。

6.2 创建应用

登录后,进入这个页面,去创建应用 https://discord.com/developers/applications
注:我注册完,在登录后的界面找了半天,根本没找到这个创建应用的入口,后面问豆包告诉了我。
在这里插入图片描述

6.3 配置bot机器人

在上一步创建的应用里,点击左边的Bot:

6.3.1 获取token

点击右边的“Reset Token”,并复制生成的Token,注意:后面无法复制了,只能重置
在这里插入图片描述

6.3.2 权限配置

启用Bot配置页的:

  • Server Members Intent
  • Message Content Intent
    记得要点下面的“Save Changes”:
    [图片]

6.3.3 邀请bot加入服务器

点击左边的“OAuth2”, 右边选择“bot”和”applications.commands",再选择下面的6项:

  • View Channels
  • Send Messages
  • Embed Links
  • Attach Files
  • Read Message History
  • Add Reactions

参考官网说明:https://docs.openclaw.ai/channels/discord
注意:有些教程这里权限少了,导致机器人不理你,或者只能私聊,请确认这6个权限项。
在这里插入图片描述

按上图选好后,滚动到页面最下方,会生成一个 “Generated URL”,点击 Copy 按钮复制一下。
[图片]

在浏览器里打开这个url,选择把这个bot加入你的哪个discord服务器:
[图片]

选好后确认即可:
在这里插入图片描述

6.3.4 在openclaw里配置discord channel

可以直接改json文件:
用编辑器打开 %USERPROFILE%\.openclaw\openclaw.json
在"hooks"同级节点添加:
注:下面的token,用上面得到的discord的bot token贴进去:

  "channels": {
    "discord": {
      "enabled": true,
      "token": "xxx.GxC0tA.xxx",
      "groupPolicy": "open",
      "streaming": "off"
    }
  },
  "plugins": {
    "entries": {
      "discord": {
        "enabled": true
      }
    }
  },

6.3.5 重启openclaw

powershell -ExecutionPolicy Bypass -Command "openclaw gateway --verbose"

6.3.6 对接bot

在discord里,刷新服务器,点击“文字频道”,应该可以看到上面加的bot了,并且是在线状态:
在这里插入图片描述

单击右边这个机器人“openclawybl", 输入文字进行私聊:
注意:不是在文字频道里@,没有任何作用
在这里插入图片描述

发出私聊后,机器人会回复一个配对码:
在这里插入图片描述

回到 OpenClaw,输入以下命令完成配对:

powershell -ExecutionPolicy Bypass -Command "openclaw pairing approve discord <上面的配对码>"

命令返回Approved表示配对成功:
在这里插入图片描述

6.3.7 OK

此时就可以使用了,私聊这个机器人就能干活了:
在这里插入图片描述

也可以在“文字频道”里 @ 这个机器人,问问题:
[图片]

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐