logo
9
0
WeChat Login
docs: clarify openclaw webtop versions and weixin plugin

Ubuntu 桌面系统 + OpenClaw

快速使用

git clone https://cnb.cool/fuliai/openclaw_desktop_docker cd openclaw_desktop_docker docker compose up -d

访问方式

启动后打开浏览器:

http://localhost:3000 或 https://<你的IP>:3001

更新说明(重要)

  • 启动前请先检查 .env 文件。
  • 请在 .env 中查看并修改登录密码。
  • 请docker compose 启动前更换密码。

持久化目录说明

  • 容器内真正的持久化目录是 /config
  • OpenClaw 工作区真实目录是 /config/workspace
  • 容器内的 /workspace 是一个兼容用软链接,指向 /config/workspace
  • 因此你看到 /config/workspace/workspace 同时存在是正常的,不是两份数据。
  • 只有 /config 下的内容会在重启、更新镜像后继续保留。

OpenClaw 工作区说明

  • OpenClaw 默认工作区会指向 /workspace
  • 由于 /workspace 实际链接到 /config/workspace,所以工作结果仍然会持久化到 /config 中。
  • 如果你想直接查看真实落盘位置,请看 /config/workspace

OpenClaw 版本与插件支持

  • 当前仓库这份镜像源码默认会打包 openclaw@2026.3.24
  • 当前仓库默认会同时预装以下微信相关 npm 包:
    • @tencent-weixin/openclaw-weixin-cli@2.0.1
    • @tencent-weixin/openclaw-weixin@2.0.1
  • compose.yaml 默认拉取的是已发布镜像 docker.cnb.cool/fuliai/openclaw_desktop_docker/openclaw-desktop:latest
  • 因此如果你直接执行 docker compose up -d 使用预构建镜像,最终版本以你实际拉到的镜像内容为准。
  • 如果你是按当前仓库源码自行构建镜像,则默认会使用上面这组版本。
  • 如需确认当前容器内真实版本,请进入容器或 Webtop 终端执行:
openclaw --version
  • 如需自定义 OpenClaw 或微信插件版本,可在构建镜像时覆盖 OPENCLAW_NPM_SPECWEIXIN_PLUGIN_VERSION,但建议优先保持当前默认组合,避免插件兼容性问题。

镜像更新

当镜像有更新时,在项目目录执行:

docker compose pull docker compose up -d

更新不影响原有的保存在 /config 目录下的文件。只有在这个目录内的内容才能持久化!

如需清理无用旧镜像,可执行:

docker image prune -f

微信扫码登录

  • 镜像内已经预装 @tencent-weixin/openclaw-weixin-cli@tencent-weixin/openclaw-weixin
  • 容器启动时会从镜像内本地路径 /usr/lib/node_modules/@tencent-weixin/openclaw-weixin 执行 openclaw plugins install -l,不是依赖远程再次拉取插件包。
  • 启动脚本还会自动把 openclaw-weixin 写入 OpenClaw 的插件配置并启用,方便首次启动后直接扫码登录。
  • Webtop 桌面会自动生成一个快捷方式:微信扫码登录
  • 双击这个图标后,会自动打开终端并执行扫码登录命令。
  • 如果你更习惯命令行,也可以手动运行:
openclaw channels login --channel openclaw-weixin
  • 扫码成功后,登录状态会保存在 /config/.openclaw 中。

微信插件检查

如需确认当前容器里的 OpenClaw 版本和微信 channel 插件是否已经正常加载,请使用:

openclaw --version openclaw plugins list
  • 看到 openclaw-weixin 处于 loaded 即表示微信 channel 插件已经被 OpenClaw 成功加载。
  • 如果你是旧 /config 数据升级上来的,建议再检查一下插件配置:
openclaw config get plugins.allow openclaw config get plugins.entries.openclaw-weixin.enabled
  • 如果没有看到 openclaw-weixinloaded,可在容器内执行下面命令重新安装并重载:
openclaw plugins install -l /usr/lib/node_modules/@tencent-weixin/openclaw-weixin openclaw config set plugins.allow '["openclaw-weixin"]' openclaw config set plugins.entries.openclaw-weixin.enabled true openclaw gateway restart openclaw plugins list
  • 上面使用的是本地路径安装方式,适合这个镜像里已经预装好的微信插件,不需要再猜测远程包名或额外手动下载。

Gateway token mismatch 排查

  • 如果 openclaw gateway status 里出现 unauthorized: gateway token mismatch,通常不是 gateway 没启动,而是 CLI 与 gateway 使用了不同 token。
  • 当前镜像启动脚本会在容器启动时把 gateway.auth.tokengateway.remote.token 同步成同一个值。
  • 如果你使用的是旧 /config 数据,或者手动改过配置,可以在容器内执行下面命令重新对齐:
echo "$OPENCLAW_GATEWAY_TOKEN" openclaw config get gateway.auth.token openclaw config get gateway.remote.token NEW_TOKEN="${OPENCLAW_GATEWAY_TOKEN:-$(openssl rand -hex 24)}" openclaw config set gateway.auth.token "$NEW_TOKEN" openclaw config set gateway.remote.token "$NEW_TOKEN" openclaw gateway restart openclaw gateway status
  • 如果你在 Compose 里传了 OPENCLAW_GATEWAY_TOKEN,它应与上面两个配置值保持一致。

sudo 与 no-new-privileges

  • compose.yaml 里写了 security_opt: - no-new-privileges:false 之后,必须重建容器,这个改动才会真正作用到运行中的容器。
  • 建议执行:
docker compose down docker compose up -d
  • 然后在宿主机检查运行态配置:
docker inspect openclaw-webtop --format '{{json .HostConfig.SecurityOpt}}'
  • 看到 ["no-new-privileges:false"] 后,再进容器里测试:
sudo -i

用户交流群

点击扫码加群

About

Ubuntu 桌面系统 + OpenClaw 的docker

openclawlinuxdesktopdockercomposeubuntufree
Language
Shell74.6%
Dockerfile25.5%