Docker 部署 OpenClaw 踩坑实录:Web UI 访问、飞书配对及自定义模型配置

最近在使用 Docker 部署 OpenClaw 时遇到了一些典型的环境与配置问题。为了方便大家排查,我将这几个核心问题的表现、解决思路以及如何接入公司自己配置的大模型节点进行了梳理。


一、问题一:安装成功但 Web UI 无法访问

1. 现象描述

  • 终端提示安装成功,但在浏览器中访问 http://127.0.0.1:18789 时,页面提示连接被重置。
  • 使用具体的局域网 IP(如 192.168.5.30:18789)访问时,同样提示无法连接或无法访问此网站。

2. 原因分析

  • 在排除了代理服务器和系统防火墙的干扰后,根本原因在于 OpenClaw 核心网关的跨域访问(CORS)安全机制。
  • 系统默认包含白名单配置,它的作用是告诉 OpenClaw 的核心网关:"只有从这些特定的网址(域名或IP)打开的控制台网页,才被允许连接我并下发控制指令"。

3. 解决方案

修改 OpenClaw 的配置文件 ~/.opneclaw/openclaw.json,在 gateway.controlUi.allowedOrigins 节点中加上 * 作为通配符(或添加你实际访问的 URL)。具体配置参考如下:

复制代码
"gateway": {
  "port": 18789,
  "mode": "local",
  "bind": "lan",
  "controlUi": {
    "allowedOrigins": [
      "*",
    ],
    "dangerouslyDisableDeviceAuth": true
  }
}

二、问题二:飞书机器人配对失败与配对码刷新

1. 现象描述

  • 在系统内设置了飞书 Channel 后,通过飞书机器人发送消息没反应,系统提示未配对,并给了一个配对码。
  • 给飞书发送多次消息,配对码会不断发生改变。

2. 解决方案

由于多次发消息导致配对码不断刷新,我们需要通过后台 CLI 指令直接查看并抓取最新、最准确的配对请求进行手动授权。

  1. 查看最新的飞书配对请求 :执行 docker compose run --rm openclaw-cli pairing list feishu 命令查看当前的配对列表。
  1. 获取正确配对码 :在输出的表格中,找到最新的配对码(例如: ZLX3M556)。
  2. 执行授权配对 :拿到正确的配对码后,执行 docker compose run --rm openclaw-cli pairing approve feishu ZLX3M556 命令通过审批。当日志输出类似 Approved feishu sender ou_... 后,即代表授权成功。

三、进阶配置:接入公司自行配置的大模型

OpenClaw 支持灵活地接入公司自己配置的大模型节点。配置 Agent 的方法同样是修改 ~/.openclaw/openclaw.json 文件。

以下是接入公司自行配置的、提供 MiniMax 模型的高速自定义节点的配置示例:

复制代码
{
  "agents": {
    "defaults": {
      "model": "yuxiaor/MiniMax-M2.7-highspeed"
    }
  },
  "models": {
    "mode": "merge",
    "providers": {
      "yuxiaor": {
        "api": "openai-completions",
        "baseUrl": "http://xxxxxxxxxxx/v1",
        "apiKey": "your key",
        "models": [
          { "id": "MiniMax-M2.7-highspeed", "name": "MiniMax 2.7 highspeed" }
        ]
      }
    }
  }
}

配置解析:

  • models.providers 节点下自定义公司自行配置的节点名称(如 yuxiaor),并将其 API 格式指定为兼容性最好的 openai-completions
  • 填入公司配置节点提供的 baseUrl和对应的 apiKey
  • agents.defaults.model 中,将默认模型指向刚才声明的节点与模型名称(如 yuxiaor/MiniMax-M2.7-highspeed)。这样配置并重启后,OpenClaw 默认就会调用公司配置的模型来进行回复了。

本文由mdnice多平台发布

相关推荐
困惑阿三2 小时前
全栈部署排雷手册:从 405 报错到飞书推送成功
服务器·前端·后端·nginx·阿里云·node.js·飞书
bug攻城狮2 小时前
为什么 Spring Boot 要单元测试?
spring boot·后端·单元测试
iPadiPhone2 小时前
性能之基:Java IO 体系深度解析、面试陷阱与实战指南
java·开发语言·后端·面试
野犬寒鸦2 小时前
从零起步学习JVM|| 第二章:JVM基本组成及JVM内存区域详解
服务器·开发语言·后端·学习·面试·职场和发展
iPadiPhone2 小时前
Java NIO 核心原理解析、性能调优与大厂面试精要
java·后端·面试·nio
无名-CODING2 小时前
从零开始!Vue3+SpringBoot前后端分离项目Docker部署实战(中):Spring Boot后端与Docker Compose串联
spring boot·后端·docker
Victor3564 小时前
MongoDB(52)如何配置分片?
后端
Victor3564 小时前
MongoDB(53)什么是分片键?
后端
薛定谔的悦10 小时前
MQTT通信协议业务层实现的完整开发流程
java·后端·mqtt·struts