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

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


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

1. 现象描述

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

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 后,通过飞书机器人发送消息没反应,系统提示未配对,并给了一个配对码。
  • 给飞书发送多次消息,配对码会不断发生改变。
alt

2. 解决方案

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

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

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

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 默认就会调用公司配置的模型来进行回复了。
alt

本文由 mdnice 多平台发布

Read more

【论文阅读103】pinn-review-科学机器学习中的物理信息神经网络:现状与展望

【论文阅读103】pinn-review-科学机器学习中的物理信息神经网络:现状与展望

科学机器学习中的物理信息神经网络:现状与展望 作者:Salvatore Cuomo¹ · Vincenzo Schiano Di Cola² · Fabio Giampaolo¹ · Gianluigi Rozza³ · Maziar Raissi⁴ · Francesco Piccialli¹ 在线发表:2022年7月26日 摘要 物理信息神经网络(Physics-Informed Neural Networks,PINNs)是一类将模型方程(如偏微分方程,PDE)直接嵌入神经网络结构中的神经网络(NN)。目前,PINNs 已被广泛用于求解偏微分方程、分数阶方程、积分-微分方程以及随机偏微分方程。这一新兴方法作为一种多任务学习框架出现,在该框架中,神经网络不仅需要拟合观测数据,还需最小化 PDE 残差。 本文对物理信息神经网络相关文献进行了全面综述:研究的主要目标是阐明这类网络的特征、优势与局限性。同时,本文还涵盖了更广义的基于配点法(collocation-based)的物理约束神经网络研究,包括从最初的基础 PINN(

Flutter 三方库 bavard 的鸿蒙化适配指南 - 实现语义化的聊天消息协议、支持机器人自动回复逻辑与分布式通讯元数据封装

Flutter 三方库 bavard 的鸿蒙化适配指南 - 实现语义化的聊天消息协议、支持机器人自动回复逻辑与分布式通讯元数据封装

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net Flutter 三方库 bavard 的鸿蒙化适配指南 - 实现语义化的聊天消息协议、支持机器人自动回复逻辑与分布式通讯元数据封装 前言 在进行 Flutter for OpenHarmony 的社交或客户支持类应用开发时,除了核心的 WebSocket 传输,如何规范化定义“消息(Message)”的数据结构以及处理复杂的对话逻辑状态,往往决定了项目的后期维护性。bavard 是一个专为高度语义化聊天交互设计的协议封装库。它能让你在鸿蒙端以极具逻辑感的对象模型来驱动对话流。本文将带大家了解如何利用 bavard 构建标准化的聊天架构。 一、原理解析 / 概念介绍 1.1 基础原理 bavard 将一次对话拆解为“参与者(Participants)”、“话题(Topics)”和“原子消息(Discrete Messages)”。它提供了一套完整的状态机,用于驱动从“

HarmonyOS NEXT开发进阶(十七):WebView 拉起 H5 页面

HarmonyOS NEXT开发进阶(十七):WebView 拉起 H5 页面

文章目录 * 一、问题说明 * 1.1 H5 应用加载失败或功能异常 * 1.2 H5 麦克风等权限申请无响应 * 1.3 多权限配置与交互冲突 * 二、原因分析 * 2.1 WebView 核心配置与权限缺失 * 2.2 权限申请与响应逻辑断裂 * 2.3 WebView 实例与生命周期管理不当 * 三、解决思路 * 3.1 核心配置与权限一体化处理 * 3.2 权限申请与 WebView 响应联动 * 3.3 调试与实例管理规范化 * 四、解决方案 * 4.1 工具函数:权限辅助(复用基础能力) * 4.2 WebView

从一次会话到同源验证:彻底搞懂 Web 前端后端交互的核心逻辑

作为一名 Java 后端开发者,日常工作中经常会和前端同学协作处理跨域、会话管理相关的问题。很多开发者在刚接触这些概念时,总会被 “IP”“URL”“跨域”“Session” 这些名词绕晕。本文结合实际开发场景,拆解 Web 交互的核心逻辑,帮你理清从一次用户会话到同源验证的底层原理。 一、 一次用户会话:前端服务器通常只被请求一次 在主流的前后端分离架构下,用户的一次完整会话中,前端服务器的角色其实很 “轻量化”—— 绝大多数情况下,只需要被请求一次。 1. 核心流程 1. 首次访问:下载静态资源用户在浏览器输入 https://www.xxx.com 后,浏览器会向前端服务器发起请求,下载该网站的 HTML、CSS、JS 等静态资源,然后保存在本地缓存中。此时,前端页面的所有交互逻辑(比如点击 “我的订单” 触发请求的 JS 代码)