使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接

群晖的部署遇到挺多问题的整理下给大家一个喂饭部署教程以及一些遇到的问题总结,都是这段时间一点一点部署修改得出来的一些经验,目前整理了群晖和Mac部署的,以后有零刻再更新做零刻的部署方法

图片[1]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

黑群晖/群晖部署

先下载文件
拉取文件 先进入ssh终端

sudo -i 输入密码
cd到需要部署的目录下 如:cd /volume2/docker_m2/openClaw 然后输入

git clone https://github.com/openclaw/openclaw.git

图片[2]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社


文件就会下载到 /volume2/docker_m2/openClaw/叫openclaw的文件

或者去github下载
openclaw官方原版

下载后上传到需要部署的文件夹里面解压

建议文件夹名称加上版号 如 -2026.3.24

图片[3]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

接着这就是群晖容易遇坑的地方

  • 1.直接执行部署脚本 ./docker-setup.sh 是会报 BUILDKIT的
  • 2.手动输入命令编译打包后 无法直接启动进入配置页面
  • 3.需要部署后再给 workspace 文件权限 (没部署是没有workspace文件夹的)
    这时候先 去目录下的 docker-compose.yml 里面增加
    build: .
  openclaw-gateway:
    build: .
图片[4]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社
  openclaw-cli:
    build: .
图片[5]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

保存后终端 进入openclaw-2026.3.24文件目录
cd openclaw-2026.3.24

接着修改挂载目录 修改成你需要放数据的目录

我使用的是和拉取的openclaw同级目录新建一个openclaw-data文件夹

图片[6]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

如果你需要.openclaw文件夹名称可以改成 .openclaw
例:/volume2/docker_m2/openClaw/.openclaw

/volume2/docker_m2/openClaw/openclaw-data

    volumes:
      - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
      - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace

把上面这个位置改成这样 ,openclaw-gateway: openclaw-cli: 都要改

${OPENCLAW_CONFIG_DIR} 改成 /volume2/docker_m2/openClaw/openclaw-data
${OPENCLAW_WORKSPACE_DIR} 改成 /volume2/docker_m2/openClaw/openclaw-data/workspace

    volumes:
      - /volume2/docker_m2/openClaw/openclaw-data:/home/node/.openclaw
      - /volume2/docker_m2/openClaw/openclaw-data/workspace:/home/node/.openclaw/workspace
图片[7]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社
图片[8]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

保存 在终端输入
sudo chown -R 1000:1000 "/volume2/docker_m2/openClaw/openclaw-data"
sudo chmod -R 777 "/volume2/docker_m2/openClaw/openclaw-data"

图片[9]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

然后终端输入下面的编译打包命令
sudo DOCKER_BUILDKIT=1 docker-compose up -d --build

图片[10]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

等待编译打包成镜像就行,这时候编译打包好后是启动不了的,会没有权限报错无法在当前启动模式 进入配置模式

图片[11]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

接着去群晖里面删掉这2个容器

图片[12]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

去到终端 (最好是命令编辑器里面)输入群晖运行初始化这个命令因为没有初始化,没有生成配置文件:

先初始化才会创建配置文件
使用 docker run 启动一个临时容器。注意:镜像名称请替换为你之前 docker-compose 中 image: 定义的名字(通常是 openclaw:local)

/volume2/docker_m2/openClaw/openclaw-data改成你的群晖挂载目录

sudo docker run -it --rm \
  -v "/volume2/docker_m2/openClaw/openclaw-data":/home/node/.openclaw \
  openclaw:local \
  node dist/index.js onboard
图片[13]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

等待进入初始化配置

图片[14]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

配置好后会自动退出

图片[15]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

这时候我们的群晖部署已经完成一大半了,这时候进入配置文件 转到下面的

点击转到 编译启动后进入配置

先设置好配置文件

然后再回来继续配置,openclaw-data 文件夹正常的情况下已经初始化写入文件了

图片[16]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

这时候的 /workspace 是没有权限写入的需要给予权限,依次执行

sudo chown -R 1000:1000 /volume2/docker_m2/openClaw/openclaw-data/workspace
sudo chmod -R 777 /volume2/docker_m2/openClaw/openclaw-data/workspace
图片[17]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

====⬇️群晖部署需要额外加参数的⬇️====

出于安全考虑,它默认不允许非本地(non-loopback)的浏览器访问控制界面,除非你明确告诉它哪些域名(Origins)是安全的

图片[18]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

群晖部署我们需要在 openclaw.json 增加几个参数 和修改 "bind": "loopback","bind": "lan",

    "bind": "lan",
    "controlUi": {
      "allowedOrigins": [
        "http://127.0.0.1:18789",
        "http://localhost:18789"
      ],
      "dangerouslyAllowHostHeaderOriginFallback": true,
      "allowInsecureAuth": true,
      "dangerouslyDisableDeviceAuth": true
    },
  1. dangerouslyAllowHostHeaderOriginFallback: true
  • 字面意思:危险地允许 Host 头部来源回退。
  • 通俗解释“谁敲门都让进”
  • 用途:OpenClaw 默认只允许从 localhost 访问。当你通过 局域网 IP(如 192.168.x.x)或者 内网穿透域名 访问控制面板时,网关会因为安全检查失败而报错。开启这个后,它会直接信任你浏览器发送的 Host 地址,不再拦截跨域请求。
  1. allowInsecureAuth: true
  • 字面意思:允许不安全的身份验证。
  • 通俗解释“允许在没有加密(HTTP)的情况下登录”
  • 用途:默认情况下,敏感的登录操作通常要求 HTTPS 加密。如果你没有配置 SSL 证书(即直接访问 http://... 而不是 https://...),开启此项可以让你在普通的 HTTP 连接下正常登录和输入密码,而不被浏览器或后端拒绝。
  1. dangerouslyDisableDeviceAuth: true
  • 字面意思:危险地禁用设备授权。
  • 通俗解释“跳过新设备验证”
  • 用途:OpenClaw 增强安全模式下,新设备访问可能需要额外的验证步骤(比如验证码或设备指纹确认)。开启这个后,任何设备连接进来都会被视为已授权,直接进入管理界面。这在自动化测试或只有你自己能物理接触的服务器上非常方便。

如果你是局域网内/内网非公网访问可以这样设置,如果开放公网使用请设置指定的访问域名或ip

群晖里面到/openclaw-data下载 /openclaw-data/openclaw.json 文件到本地记事本打开编辑 找到这个 gateway

图片[19]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

改成这样的

图片[20]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

====⬆️群晖部署需要额外加参数的⬆️====

这时候我们就可以去到群晖里面打开 Container manger 点击 新增 项目了

图片[21]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

路径选择你的opanclaw目录 选择后会出现提示点击 确定

图片[22]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社
图片[23]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

点击下一步-下一步 点击 完成

图片[24]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

这时候Container manger就会开始构建启动 openclaw

图片[25]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

openclaw-openclaw-cll-1 会自动退出这个正常情况

现在可以在你游览器里面输入你的群晖ip+18789访问 openclaw http://192.168.1.15:18789
会显示这个窗口

图片[26]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

输入网关令牌登陆

网关令牌获取在前面说到的配置文件路径里openclaw.json 文件
打开openclaw.json

找到这个

    "auth": {
      "mode": "token",
      "token": "72a83e3764346ffd1d8e71d8f0eaafe47ce948da55cb853916962f50beec6c81"
    },

里面的token数值就是网关令牌输入到网关令牌

图片[27]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

点击连接即可进入 openclaw

图片[28]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

现在就可以正常使用了

如果有遇到其他错误可查看下面一些我遇到的错误解决方法

MAC部署openclaw

我这边用的是mac的mini m4进行部署,mac部署相对还是比较简单很多的,因为是本机部署不用其他机子访问直接走localhost,也不需要走https证书

  • 开始:

1.环境部署

确保自己的mac安装好了Docker Desktop on Mac

https://docs.docker.com/desktop/setup/install/mac-install/

2. 去官方git下载对应的版本包

例如部署:openclaw-v2026.3.24(tar.gz)

下载到需要安装的目录,我这使用用户下新建了个OpenClaw文件夹

  • 解压出来openclaw-2026.3.23 文件夹
图片[29]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社
  • 打开MAC的docker
  • 打开MAC终端
图片[30]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

右键文件夹 – 显示简介-复制 位置路径

图片[31]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社
  • 终端输入+文件夹名称
  • cd /Users/calm/OpenClaw/openclaw-2026.3.23

可自行修改自己需要配置文件生成保存的地方
修改/openclaw-2026.3.23/docker-compose.yml 的文件,右键-打开方式-文本编辑-打开
修改的环境变量
把 ${OPENCLAW_CONFIG_DIR} 修改成你想要的路径: 你的电脑路径/.openclaw 后面加.openclaw方便查看文件夹
把 ${OPENCLAW_WORKSPACE_DIR} 修改成:你的电脑路径/.openclaw/workspace
MAC建议默认即可

  - ${OPENCLAW_CONFIG_DIR}:/home/node/.openclaw
  - ${OPENCLAW_WORKSPACE_DIR}:/home/node/.openclaw/workspace

3.编译docker镜像

授权安装脚本

chmod +x docker-setup.sh
chmod +x scripts/*.sh

执行部署脚本

./docker-setup.sh

图片[32]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

等待执行部署完成进入配置界面即可

编译启动后进入配置界面

图片[33]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

I understand this is personal-by-default and shared/multi-user use requires lock-down. Continue?
○ Yes / ● No
键盘左切换到 yes 敲回车

图片[34]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

Setup mode
● QuickStart (Configure details later via openclaw configure.)
○ Manual
直接 敲回车

图片[35]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

键盘按一下上切换到
Skip for now
敲回车

图片[36]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

默认 All providers 敲回车

图片[37]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

下移到 Enter model manually 手动输入模型型号

图片[38]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

默认就行 敲回车

消息渠道配置

图片[39]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

Telegram (Bot API)

  • 有Telegram的就配置下Telegram
  • 没有就配置飞书
  • 或者2个都配置也行
  • 我这选择飞书做示范
图片[40]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

后面也可以使用插件命令配置

图片[41]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

飞书更多功能可参考飞书官方文档

陆续输入飞书的
App Secret

Enter Feishu App ID

回车后

图片[42]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

选择 WebSocket 回车

图片[43]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

选择对应的飞书区域
国内 feishu.cn
国外 larksuite.com

下面的
◆ Group chat policy
│ ● Allowlist – only respond in specific groups
│ ○ Open – respond in all groups (requires mention)
│ ○ Disabled – don’t respond in groups
根据自己的需求选择一般使用默认即可

图片[44]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

如何获取飞书你自己的 oc_ ID?

可以通过以下方式找到:

  • 群设置查看:打开飞书群聊 -> 点击右上角 [] -> 点击 [设置] -> 拉到最底部查看 [群 ID]。
  • 开发者工具:使用 飞书开放平台调试台 的 API 获取当前应用所在的群列

输入完 ID

图片[45]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

直接 Skip for now

图片[46]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

直接 yes

图片[47]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

先空格选中 直接 Skip for now 然后 回车

图片[48]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

后面几个直接 No 就行
Enable hooks?
│ ◼ Skip for no
先空格选中 直接 Skip for now 然后 回车

图片[49]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

群晖配置完成后会自动退出

点击转回到继续配置群晖

到这步就进入配置部署了等待启动即可了

图片[50]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

出现这个后就表示已经部署完成启动了

图片[51]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

可以在docker里面看到已经启动了
游览器打开 http://localhost:18789

图片[52]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

输入网关令牌登陆

网关令牌获取在前面说到的配置文件路径里.openclaw/openclaw.json 文件
打开openclaw.json

在Mac上显示或隐藏隐藏文件/文件夹
快捷键: 打开“访达” (Finder),按下 Command + Shift + .

找到这个

图片[53]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社
    "auth": {
      "mode": "token",
      "token": "72a83e3764346ffd1d8e71d8f0eaafe47ce948da55cb853916962f50beec6c81"
    },

里面的token数值就是网关令牌输入到网关令牌

图片[54]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

下面会出现
pairing required
(需要配对)
在 MAC终端 输入授权配对命令
docker exec -it openclaw-2026323-openclaw-gateway-1 node dist/index.js devices approve

注意部署的openclaw-2026323-openclaw-gateway-1名称是否和启动的一致

图片[55]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

出现这个后再次点击连接即可登陆界面了

图片[56]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

这时候的大模型还是不可以使用的需要先配置好大模型

这时候我们先配置大模型只要配置好了大模型,后面想加什么功能直接教opencalw配置增加即可

配置大模型

进入
配置文件路径里.openclaw/openclaw.json 文件

配置大模型的baseUrl和key 和可用模型

默认是没有的
直接复制我配置好的配置文件
找到

  "wizard": {
    "lastRunAt": "2026-03-25T07:43:00.927Z",
    "lastRunVersion": "2026.3.23",
    "lastRunCommand": "onboard",
    "lastRunMode": "local"
  },

在下面插入

  "models": {
    "mode": "merge",
    "providers": {
      "godx-api": {
        "baseUrl": "https://web.openai.com/v1(改成你自己的上游供应商)",
        "apiKey": "sk-ozUdEx5dK1r1h1DoCe222BeAf1d28A86a16",
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-chat",
            "name": "DeepSeek Chat",
            "contextWindow": 128000,
            "maxTokens": 16000
          },
          {
            "id": "Doubao-Seed-2.0-lite",
            "name": "Doubao Seed 2.0 Lite",
            "contextWindow": 256000,
            "maxTokens": 128000
          },
          {
            "id": "qwen3-vl-plus",
            "name": "Qwen3 VL Plus",
            "contextWindow": 128000,
            "maxTokens": 16000
          },
          {
            "id": "Doubao-Seed-2.0-pro",
            "name": "Doubao Seed 2.0 Pro",
            "contextWindow": 256000,
            "maxTokens": 128000
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": {
        "primary": "godx-api/deepseek-chat"
      },
      "models": {
        "godx-api/deepseek-chat": {
          "alias": "DeepSeek"
        },
        "godx-api/Doubao-Seed-2.0-lite": {
          "alias": "Doubao"
        },
        "godx-api/qwen3-vl-plus": {
          "alias": "Qwen3 VL"
        },
        "godx-api/Doubao-Seed-2.0-pro": {
          "alias": "Doubao Pro"
        }
      },
      "workspace": "/home/node/.openclaw/workspace",
      "compaction": {
        "mode": "safeguard"
      }
    }
  },

可以看到这行是agents默认的,我们修改成自己的

下面是我的自定义接口模型示范

    "defaults": {
      "model": {
        "primary": "godx-api/deepseek-chat"
      }

可在 providersmodels 自己修改/新增自己需要使用的大模型

          {
            "id": "qwen3-vl-plus",
            "name": "Qwen3 VL Plus",
            "contextWindow": 128000,
            "maxTokens": 16000
          },

修改默认 供应商/模型 "primary": "godx-api/deepseek-chat"
自定义模型名称显示 "alias": "Qwen3 VL"
配置好后保存即可 Mac是热加载会自动加载保存好的

点击转回群晖部署继续

图片[57]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

这时候就可以畅玩openclaw了~

频道配置以及代理

  "channels": {
    "telegram": {
      "enabled": true,
      "dmPolicy": "allowlist",
      "botToken": "87362234617:AAHJTjMKnj5245iBMixgCC1hSw",
      "groups": {
        "*": {
          "requireMention": true
        }
      },
      "allowFrom": [
        "20553328"
      ],
      "groupPolicy": "allowlist",
      "streaming": "partial",
      "proxy": "http://192.168.1.5:1081"
    },
    "feishu": {
      "enabled": true,
      "appId": "cli_a94923424bb6",
      "appSecret": "Kz38e2D23RlU4543435i7J8Jfm",
      "connectionMode": "websocket",
      "domain": "feishu",
      "groupPolicy": "allowlist",
      "groupAllowFrom": [
        "oc_e8bdf925922435345342af37c4ed3"
      ]
    }
  },

telegram 配置
botToken 后面改成自己的tgbot
allowFrom 改成自己的账号id
proxy 如果需要代理就改成你自己的代理地址

对接微信openclaw Bot

我-设置-插件-里面 有 详细的安装步骤
docker部署安装方法:
docker exec -it openclaw-2026323-openclaw-gateway-1 npx -y @tencent-weixin/openclaw-weixin-cli@latest install

openclaw-openclaw-gateway-1 这个是openclaw镜像名称

图片[58]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

安装好后扫码登录即可

图片[59]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

这时候就可以利用openclaw安装任何你想要安装的东西了

比如:帮我安装一个mcp

图片[60]-使用零刻mini主机/群晖/Macmini 用docker部署OpenClaw喂饭级踩坑详细教程|以及多用户多Agent对接-摄之社

注意事项

配置文件openclaw.json 不支持部分参数,尽量不要让部分低智商模型去更改openclaw.json文件 不然会程序会报错启动不了,需要改回来

执行权限问题

自更新了3.31版本后,权限收缩了,每条执行一下就好了

upside_down_face openclaw config set tools.exec.ask off openclaw config set tools.exec.security full openclaw gateway restart

或手动配置文件新增/修改openclaw.json文件

  "tools": {
    "profile": "full",
    "allow": ["*"],
    "profile": "coding",
    "web": {
      "search": {
        "enabled": true,
        "provider": "tavily"
      }
    },
    "exec": {
      "host": "gateway",
      "security": "full",
      "ask": "off"
    }
  },

遇到的错误解决方法

control ui requires device identity (use HTTPS or localhost secure context)

  • 需要使用https或 localhost访问

输入token出现pairing required提示

  • ssh进入系统命令行 输入
  • docker exec -it openclaw-openclaw-gateway-1 node dist/index.js devices approve

出现[openclaw] CLI failed: Error: gateway closed (1008): unauthorized: gateway token mismatch

[openclaw] CLI failed: Error: gateway closed (1008): unauthorized: gateway token mismatch (set gateway.remote.token to match gateway.auth.token)
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/node/.openclaw/openclaw.json
Bind: lan
    at Object.onClose (file:///app/dist/call-BhjE3oIo.js:595:10)
    at WebSocket.<anonymous> (file:///app/dist/method-scopes-B2vIWWxl.js:2123:23)
    at WebSocket.emit (node:events:508:28)
    at WebSocket.emitClose (/app/node_modules/ws/lib/websocket.js:273:10)
    at Socket.socketOnClose (/app/node_modules/ws/lib/websocket.js:1346:15)
    at Socket.emit (node:events:508:28)
    at TCP.<anonymous> (node:net:346:12)

直接跳过直接在终端命令里带上令牌强制执行,跳过配置文件校验

docker exec -it openclaw-openclaw-gateway-1 node dist/index.js devices approve --token 0a6098a7fdba3e1fa60b30890dc572640c180a0eb76464a2

各平台对接方式

对接微信openclaw

  • 我-设置-插件-里面 有 详细的安装步骤
  • docker部署安装方法:
  • docker exec -it openclaw-openclaw-gateway-1 npx -y @tencent-weixin/openclaw-weixin-cli@latest install
  • 安装好后会出现二维码
  • 扫码后点击连接即可

微信官方 OpenClaw 插件切换 agent

扫码后默认会绑定到 main
如果想绑定到别的 agent,直接改配置就行

1. 找到 accountId

openclaw-weixin 目录里看 accounts.json

cat accounts.json
[
  "xx-im-bot"
]

这里的 xx-im-bot 就是 accountId

2. 在 binding 里加配置

agentId 改成你要绑定的 agent:

{
  "agentId": "weixin",
  "match": {
    "channel": "openclaw-weixin",
    "accountId": "xx-im-bot"
  }
}
3. (可选)在 channels 里补一下
"openclaw-weixin": {
  "enable": true,
  "accounts": {
    "xx-im-bot": {}
  }
}

对接飞书openclaw

  • docker exec -it openclaw-openclaw-gateway-1 npx -y @larksuite/openclaw-lark-tools install
  • 飞书配对码
  • docker exec -it openclaw-2026323-openclaw-gateway-1 openclaw pairing approve feishu <你的配对码>
  • 飞书插件更新
  • docker exec -it openclaw-openclaw-gateway-1 npx -y @larksuite/openclaw-lark-tools update

OpenClaw 的 QQ 消息通道插件推荐

https://github.com/Aliang1337/openclaw-napcat

让 AI 助手通过自然语言完全控制 QQ 交互 —— 点赞、戳一戳、禁言、踢人、查看用户资料、管理群组等

OpenClaw 多 Agent、多账户配置

多账户不等于多 AgentdmScope 也不等于 Agent 隔离

更准确一点说:

  • channels.<channel>.accounts 决定这个渠道挂了几个账号
  • agents.list 决定系统里有几个真正独立的 Agent
  • bindings 决定某个账号或会话最终进哪个 Agent
  • session.dmScope 只决定私聊历史怎么分桶,避免串会话

一份可以直接抄的多账号模板(以企业微信自建应用 wecom-app 为例)

下面这份示例统一使用 Linux 风格路径,例如 ~/.openclaw/workspace

如果你在 Windows 上,对应路径通常会类似:

  • C:\Users\Administrator\.openclaw\workspace
  • C:\Users\Administrator\.openclaw\workspace-agent-name-1

下面这份配置,用企业微信自建应用 wecom-app 演示“多账号 + 多 Agent 独立机器人”应该怎么写。你如果使用其他渠道,可以照着这个结构替换 channel 名和对应的凭证字段。

其中 list.id、bindings.agentId、workspace 的名称可以修改

{
  "agents": {
    "defaults": {
      "workspace": "~/.openclaw/workspace"
    },
// 定义 Agent
    "list": [
      {
        "id": "agent-name-1",
        "default": true,
        "workspace": "~/.openclaw/workspace-agent-name-1"
      },
      {
        "id": "agent-name-2",
        "workspace": "~/.openclaw/workspace-agent-name-2"
      }
    ]
  },
 // 会话隔离配置,就按照这个来
  "session": {
    "dmScope": "per-account-channel-peer"
  },
 // 会话路由配置,绑定agent和账号
  "bindings": [
    {
      "agentId": "agent-name-1",
      "match": {
        "channel": "wecom-app",
        "accountId": "account-name-1"
      }
    },
    {
      "agentId": "agent-name-2",
      "match": {
        "channel": "wecom-app",
        "accountId": "account-name-2"
      }
    }
  ],
  "channels": {
    "wecom-app": {
     // 默认账号
      "defaultAccount": "account-name-1",
     // 添加多个账号的权限信息
      "accounts": {
        "account-name-1": {
          "enabled": true,
          "webhookPath": "/wecom-app",
          "token": "your-account-1-token",
          "encodingAESKey": "your-account-1-encoding-aes-key",
          "corpId": "your-corp-id",
          "corpSecret": "your-account-1-corp-secret",
          "agentId": 1000002
        },
        "account-name-2": {
          "enabled": true,
          "webhookPath": "/wecom-app-bot2",
          "token": "your-account-2-token",
          "encodingAESKey": "your-account-2-encoding-aes-key",
          "corpId": "your-corp-id",
          "corpSecret": "your-account-2-corp-secret",
          "agentId": 1000004
        }
      }
    }
  }
}

很多“明明配了多个机器人却还是串线”的问题,基本都能归结到这里
[quote=”chongwen, post:1, topic:1722987, username:chongwen”]
只需要重点看懂三件事:

  • accounts 里定义了两个渠道账号:account-name-1account-name-2
  • agents.list 里定义了两个独立 Agent:agent-name-1agent-name-2
  • bindingsaccount-name-1 路由到 agent-name-1,把 account-name-2 路由到 agent-name-2

注意:显式写 defaultAccount
多账号场景里,建议总是显式配置:

> {
  "channels": {
    "wecom-app": {
      "defaultAccount": "account-name-1"
    }
  }
}

最后-快捷获取配置

给你的龙虾或其他AI编程工具说:

请读取并严格执行这个提示词:
https://raw.githubusercontent.com/BytePioneer-AI/openclaw-multi-bot-config/main/doc/openclaw-config-generator-prompt.md

下面是账号信息:
<把 channels.<channel>.accounts 粘贴到这里>
比如:
 "dingtalk": 
      "defaultAccount": "bot1",
      "accounts": {
        "bot1": {
          "clientId": "xxx",
          "clientSecret": "xxx"
        },
        "bot2": {
          "clientId": "xxx",
          "clientSecret": "xxx"
        }
      }
    }

或者直接使用这份提示词发给openclaw:

请先阅读这篇文档,并严格按文档里的规则生成 OpenClaw 配置:
https://raw.githubusercontent.com/BytePioneer-AI/openclaw-multi-bot-config/main/doc/openclaw-multi-agent-multi-bot-config.md

任务目标:
我要的是“多账户、多 Agent 完全隔离”模式,不是 shared-agent。
请根据我下面提供的账号信息,生成一个完整的 OpenClaw 配置片段,只包含这 4 个顶级块:

- agents
- session
- bindings
- channels

生成要求:
1. 每个 accountId 对应一个独立 agent。
2. 必须显式生成 agents.list。
3. 必须显式生成 bindings,并使用 bindings.match.channel + bindings.match.accountId 做路由。
4. session.dmScope 固定使用 "per-account-channel-peer"。
5. channels 下保留我提供的真实渠道字段名,不要擅自改字段名,不要发明不存在的字段。
6. 必须显式写 defaultAccount。
7. workspace 使用 Linux 风格路径,格式为:
   ~/.openclaw/workspace-<agent-id>
8. OpenClaw 的 agentId 请使用字符串,不要复用渠道账号里的业务字段作为 OpenClaw agentId,除非我明确要求。
9. 如果渠道账号对象里本身有一个名为 agentId 的字段,请把它当作渠道自己的配置字段,不要和 OpenClaw 的 bindings[].agentId 混淆。
10. 输出必须是一个完整 JSON 代码块,不要输出解释文字,不要输出 markdown 列表,不要省略字段。
11. 如果我给出的字段已经足够,请直接生成;只有在字段明显缺失、无法生成合法配置时,才先提问。

补充约束:
- 不要生成 providers、models、plugins、gateway、tools 等无关配置。
- 不要生成 peer 级复杂 bindings。
- 不要把 dmScope 当成 Agent 隔离手段。
- 不要省略 channels.<channel>.accounts。
- 默认按“一个账户对应一个 Agent”处理。

下面是账号信息:
<把你的 channels.<channel>.accounts 信息粘贴到这里>比如:
 "dingtalk": 
      "defaultAccount": "bot1",
      "accounts": {
        "bot1": {
          "clientId": "xxx",
          "clientSecret": "xxx"
        },
        "bot2": {
          "clientId": "xxx",
          "clientSecret": "xxx"
        }
      }
    },

飞书多Agent、多账户同理,配置多个bot

    "feishu": {
      "streaming": true,
      "blockStreaming": true,
      "enabled": true,
      "accounts": {
        "bot1": {
          "appId": "cli_xxxxxxxx",
          "appSecret": "xxxxxxxx""
        },
        "bot2": {
          "appId": "cli_xxxxxxxx"",
          "appSecret": "xxxxxxxx""
        }
      }
    },

Openclaw heartbeat节省token的小技巧

heartbeat相关配置之前是这样的

"heartbeat": {
        "every": "30m",
        "target": "last",
        "directPolicy": "allow"
      },

发现请求体里面一直在同一个session一直在重复 “Read HEARTBEAT.md …”

添加修改后的 heartbeat

"heartbeat": {
        "every": "30m",
        "isolatedSession": true,
        "lightContext": true,
        "target": "none",
        "directPolicy": "allow"
      },
  • isolatedSession写成true的意思是,heartbeat 会在“没有 prior conversation history 的 isolated session”里运行,能明显减少token消耗
  • 如果再启用lightContext,那么比如AGENTS.mdUSER.mdTOOLS.mdMEMORY.md之类的bootstrap文件就不会在heartbeat的时候注入(只有HEARTBEAT.md会被注入上下文)。所以如果你的HEARTBEAT.md写的很明确,告诉openclaw要读哪个文件要干什么,那就完全可以开启,进一步节省token. 如果HEARTBEAT.md写的很模糊,需要openclaw综合你的AGENTS.md, MEMORY.md之类的进行综合判断,那可能还是别加了。
  • “target”改为none,就防止heartbeat的消息和用户消息放的太近

修改后,heartbeat的请求基本上只有10k左右token了
每次的请求体也明显干净多了

零刻OpenClaw @零刻官方

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容