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多平台发布

相关推荐
Profile排查笔记9 小时前
指纹浏览器哪个好?从 Profile、代理、权限和自动化能力判断是否适合
前端·人工智能·后端·自动化
用户938515635079 小时前
用 AI 结对编程从 0 搭一个"单词后台管理系统":Next.js + Supabase + Drizzle + shadcn/ui 全记录
后端·postgresql·next.js
爱学习的小邓同学10 小时前
Golang --- (1)第一个Golang程序
开发语言·后端·golang
小灰灰搞电子11 小时前
Rust+Slint 实现的“DNA双螺旋”加载动画源码分享
后端·rust·slint·加载动画
面向Google编程11 小时前
向量库不再囤数据:Milvus 3.0 零拷贝直读数据湖
后端
IT_陈寒12 小时前
Redis内存警告竟是因为这个不起眼的配置项
前端·人工智能·后端
Python私教13 小时前
AI 漫剧角色一进分镜就变脸?把提示词升级成“角色 ID + 镜头合同”
后端
Python私教13 小时前
一次生成 20 个角色却全都撞脸:我用“角色合同”重做了批量生成流程
后端
用户5944041035613 小时前
Go 语言高性能 Web 服务开发:基于 Gin + GORM + Redis 构建 RESTful API
后端
Python私教13 小时前
App 第一版该砍什么?用三问法守住 MVP 的工程底线
后端·mvp