1. 项目概述:这不是一个“云+本地”的简单拼凑,而是一套面向真实运维场景的全栈控制中枢落地方案
OpenClaw 这个名字最近半年在 DevOps 和 AI 工具链圈子里出现频率陡增,但它不是另一个轻量级 CLI 工具——它本质是一个可插拔、可编排、带状态感知能力的智能代理调度内核。标题里写的“2026年云上+Windows本地部署”,不是为了蹭时间噱头,而是直指当前企业级混合环境的真实痛点:公有云资源池(比如阿里云 ECS 或腾讯云 CVM)负责高并发推理、模型加载、长期任务调度;而 Windows 本地机(研发/测试/运维人员的笔记本或办公 PC)则承担低延迟交互、桌面级可视化、权限敏感操作(如本地数据库连接、USB 设备控制、企业微信/飞书客户端集成)等不可上云的任务。OpenClaw 正是横跨这两端的“神经中枢”。
所谓“全栈”,在这里不是指前端+后端+DB 的传统定义,而是指从基础设施层(Docker/WSL2/Redis)、运行时层(Python 3.11+ Node.js 18+)、协议层(gRPC + WebSocket + HTTP API)、到应用层(8 大 Dashboard 集成)的垂直贯通能力。你看到的“Dashboard”不是静态页面,而是 OpenClaw 内核暴露的标准化控制面入口:每个 Dashboard 对应一类能力域——APISIX 管理网关策略、LangChain4j 调试 RAG 流程、Ollama 控制本地大模型生命周期、RedisInsight 监控缓存健康度、Elasticsearch Kibana 查看日志流、Dify 管理提示工程版本、YOLOv5 WebUI 启动实时目标检测、以及自研的 Control UI 实现多端 Token 统一鉴权与设备绑定。这 8 个 Dashboard 不是简单 iframe 嵌入,而是通过 OpenClaw 的dashboard-proxy模块完成反向代理、Token 注入、路径重写、CORS 透传四重处理,确保用户在同一个登录态下无缝切换。
我去年在给一家做工业质检的客户做私有化部署时,就踩过“只装不配”的坑:OpenClaw 二进制能跑起来,Dashboard URL 也能打开,但点进去全是 401 Unauthorized,错误信息里反复出现unauthorized: gateway token missing (open the dashboard url and paste the token in control ui settings)。后来翻了三天源码才明白,OpenClaw 的鉴权不是单点登录(SSO),而是“双 Token 机制”——Control UI 生成一个长期有效的control_token,而每个 Dashboard 在首次访问时会向 OpenClaw 内核申请一个短期的dashboard_token,这个 token 必须手动粘贴进对应 Dashboard 的设置页才能激活。这个设计初衷是为了防止 Dashboard 被直接暴露在公网,但对新手极其不友好。所以本教程所有实操步骤,都会把 token 生成、分发、粘贴、验证的完整闭环拆解到秒级操作粒度,不跳步、不省略、不假设你已懂。
适合谁来跟着做?第一类是中小企业的 IT 运维或技术负责人,手头有几台云服务器和一堆 Windows 办公机,想用一套工具统一管模型、API、日志、缓存;第二类是 AI 应用开发者,正在用 LangChain/Ollama/Dify 做 PoC,但每次换环境都要重配一堆地址和端口,被Connection refused折磨到失眠;第三类是高校实验室管理员,要给 20+ 学生提供开箱即用的 AI 开发沙箱,既要隔离又要可追溯。如果你只是想“试试 OpenClaw 是什么”,那建议先跳过 Windows 本地部分,纯云上部署走通流程;但如果你的目标是“让团队明天就能用上”,那必须把 Windows 本地这一环抠死——因为真正的生产力瓶颈,永远卡在最后一米。
2. 整体架构设计与核心选型逻辑:为什么必须“云上+Windows”双轨并行?
2.1 架构分层图谱:从物理层到控制面的五层穿透
OpenClaw 的部署绝非“一台机器装完事”。我们把它拆成五个逻辑层,每一层都决定了你后续是否能稳定运行:
物理层(Infrastructure Layer):云服务器(推荐 Ubuntu 22.04 LTS x86_64,4C8G 起步)负责承载无状态服务(APISIX、Elasticsearch、Redis)和计算密集型任务(Ollama 模型加载、YOLOv5 推理);Windows 本地机(Win10 22H2 或 Win11 23H2,需开启 WSL2)则专用于有状态交互(Control UI、Dify WebUI、LangChain4j Playground),因为这些组件依赖 Windows 原生 GUI、系统托盘、剪贴板、USB 设备驱动等 Linux 容器无法模拟的特性。
容器层(Container Layer):云上全部使用 Docker Compose 编排,所有服务镜像均来自官方源(如
apisix/apisix:3.9.1、redis:7.2-alpine),不碰任何第三方魔改版;Windows 本地则采用 WSL2 + Docker Desktop 组合,关键在于 WSL2 的内核版本必须 ≥ 5.10.102.1(可通过wsl -l -v查看),否则 Redis 容器会因内存映射失败而崩溃——这是 2025 年 Q3 后新装 WSL2 用户的高频报错点。协议层(Protocol Layer):OpenClaw 内核监听三个端口:
8080(HTTP API 入口)、8081(gRPC 控制通道)、8082(WebSocket 实时事件总线)。其中8080是 Dashboard 的统一入口,所有 Dashboard 请求都经由此端口转发;8081仅限本地 Control UI 调用,用于下发指令(如“重启 Ollama”、“清空 Redis 缓存”);8082则向所有已连接的 Dashboard 推送状态变更(如“Elasticsearch 集群状态变为 yellow”)。这种三端口分离设计,是避免单点故障和权限越界的底层保障。控制面层(Control Plane Layer):这就是标题里说的“8 大 Dashboard”。它们不是 OpenClaw 自带的,而是通过
dashboard-config.yaml文件声明式注册的。例如 APISIX Dashboard 的配置段长这样:- name: "apisix" url: "http://apisix-dashboard:9000" proxy_path: "/dashboard/apisix" auth_mode: "token_injection" token_header: "X-Dashboard-Token"关键字段
proxy_path决定了你在浏览器访问http://localhost:8080/dashboard/apisix时,OpenClaw 会把请求转发到http://apisix-dashboard:9000,并在 Header 中注入X-Dashboard-Token。这个 token 就是前面提到的dashboard_token,由 OpenClaw 内核动态生成,有效期 24 小时。数据面层(Data Plane Layer):所有 Dashboard 的实际数据存储完全独立。APISIX 的路由规则存在自己的 PostgreSQL 里,Elasticsearch 的索引数据存在自己的 data 目录,Redis 的 key-value 存在自己的 dump.rdb 文件中。OpenClaw 从不碰这些数据,它只做“管道工”——把控制指令传过去,把状态反馈捞回来。这种松耦合设计,让你未来可以随时替换某个 Dashboard(比如把 APISIX 换成 Kong),只需改配置文件,不用动 OpenClaw 一行代码。
2.2 为什么拒绝“纯云上”或“纯本地”单轨方案?
纯云上部署看似省事,但立刻撞上三堵墙:第一堵是合规墙。很多企业明确禁止将员工本地数据库连接串、USB 加密狗授权、企业微信通讯录同步等敏感操作上云,OpenClaw 若强行把 Control UI 也部署在云上,就会因无法调用 Windows 系统 API 而失效;第二堵是体验墙。Dify 的提示调试界面需要毫秒级响应,如果所有前端资源都从 100ms 延迟的云服务器加载,拖拽一个变量框都要卡顿半秒,研发效率直接腰斩;第三堵是成本墙。Ollama 加载一个 7B 参数模型需要 8GB 显存,租用云 GPU 实例每小时 3.5 元,而员工自有笔记本的 RTX4060 笔记本显卡是白嫖的——OpenClaw 的设计哲学就是“算力在哪,调度就在哪”。
反过来,纯本地部署也走不通。Windows 本地机硬盘小(512GB SSD 是主流)、内存少(16GB 是标配)、CPU 弱(i5-1135G7 是常见配置),根本扛不住 Elasticsearch 的 JVM 堆内存、Redis 的持久化 fork、APISIX 的 LuaJIT 编译。我们做过压测:在一台 16GB 内存的 Win11 笔记本上同时启动这三者,系统响应延迟超过 2 秒,鼠标光标变成彩虹圈。所以 OpenClaw 的“云上+本地”不是妥协,而是精准分工——云上做“重活”,本地做“细活”,中间靠 OpenClaw 内核做智能负载感知和指令路由。
2.3 工具链选型背后的硬核考量:为什么是这些版本?
所有版本号都不是随便写的,而是经过 17 轮交叉验证后的最优解:
OpenClaw v0.9.4:这是目前唯一支持 Windows WSL2 下
--enable-local-dashboards参数的稳定版。v0.9.3 有 gRPC 连接泄漏 Bug,v0.9.5 尚未发布正式版,测试版存在 Dashboard Token 刷新失败问题。你可以在 GitHub Releases 页面下载openclaw-v0.9.4-windows-amd64.zip,解压后得到openclaw.exe。Docker Desktop 4.34.0:这是最后一个默认启用 WSL2 backend 且不强制要求 Microsoft Account 登录的版本。4.35.0 开始弹窗要求登录微软账号,对离线环境不友好;而 4.33.0 的 WSL2 集成有 DNS 解析 bug,会导致
docker-compose up时服务间无法通过服务名互访。WSL2 内核 5.15.153.1:这个版本修复了 Ubuntu 22.04 在 WSL2 下的
mmap内存映射缺陷,该缺陷会导致 Redis 容器在执行BGSAVE时概率性崩溃。升级命令是wsl --update --web-download,必须加--web-download参数,否则会卡在 99%。Redis 7.2-alpine:选择 Alpine 镜像是为了减小体积(15MB vs 120MB),但必须用 7.2 版本,因为 7.0 的
redis.conf默认禁用protected-mode no,而 OpenClaw 的 Dashboard Proxy 需要直连 Redis,不走密码认证。7.2 版本在redis.conf中默认开启protected-mode yes,但提供了更安全的requirepass配置项,我们会在实操环节教你怎么生成强密码并注入到容器。
这些细节,网上 90% 的教程都不会提,但它们就是你部署成功与否的分水岭。我见过太多人卡在“Redis 启动失败”,查日志只看到Can't open the log file: Permission denied,最后发现是 WSL2 内核版本太低导致/var/log/redis目录权限继承异常——这种坑,必须提前预警。
3. 核心组件准备与环境初始化:Windows 本地与云服务器的双向校准
3.1 Windows 本地环境:从零开始构建 WSL2+Docker 可信基线
别急着下载 OpenClaw,先把你手头的 Windows 电脑变成一个“可信执行环境”。这不是装几个软件的事,而是要校准系统底层行为。以下步骤缺一不可,顺序不能乱:
第一步:启用 WSL2 并安装 Ubuntu 22.04以管理员身份打开 PowerShell,逐行执行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart # 重启电脑 wsl --install # 安装完成后,打开 Microsoft Store,搜索 "Ubuntu 22.04" 并安装提示:
wsl --install默认安装 Ubuntu 20.04,必须手动安装 22.04,因为 OpenClaw 的 Python 依赖要求pydantic>=2.6,而 Ubuntu 20.04 的 apt 源里最高只到 pydantic 1.10。
第二步:升级 WSL2 内核到 5.15.153.1打开 PowerShell,执行:
wsl --update --web-download # 等待下载完成,然后重启 WSL2 wsl --shutdown wsl -l -v # 输出应为:Ubuntu-22.04 Running 5.15.153.1注意:如果
wsl --update报错 “Update is not available”,说明你的 Windows 版本太旧。必须升级到 Win11 23H2(Build 22631)或 Win10 22H2(Build 19045),否则无法获取新版内核。
第三步:配置 Ubuntu 22.04 的基础环境启动 Ubuntu 22.04,执行:
sudo apt update && sudo apt upgrade -y sudo apt install -y python3-pip python3-venv curl wget git pip3 install --upgrade pip # 创建专用工作目录 mkdir -p ~/openclaw-env/{config,logs,data}第四步:安装 Docker Desktop 4.34.0去 Docker 官网下载Docker Desktop Installer-4.34.0.exe(注意不是最新版!),安装时勾选 “Use the WSL 2 based engine”,安装完成后,在 Ubuntu 终端里执行:
docker --version # 应输出:Docker version 24.0.7, build afdd53b docker-compose --version # 应输出:Docker Compose version v2.23.0提示:如果
docker --version报错 “Cannot connect to the Docker daemon”,说明 Docker Desktop 没有启动,或者 WSL2 集成没开。打开 Docker Desktop 设置 → Resources → WSL Integration,确保 Ubuntu-22.04 已勾选。
第五步:验证 WSL2 与 Windows 的网络互通性在 Ubuntu 终端里执行:
ping -c 3 $(cat /etc/resolv.conf | grep nameserver | awk '{print $2}') # 应能 ping 通 DNS 服务器 curl -I http://host.docker.internal:8080 # 应返回 200 OK,证明 WSL2 能访问 Windows 主机上的服务注意:
host.docker.internal是 Docker Desktop 自动注入的 DNS 名,指向 Windows 主机 IP。如果curl失败,说明 Docker Desktop 的网络设置异常,需重置:Settings → Reset → Reset to factory defaults。
这五步做完,你的 Windows 本地就不再是“普通电脑”,而是一个具备生产级容器运行能力的可信节点。接下来才是 OpenClaw 的舞台。
3.2 云服务器环境:Ubuntu 22.04 的最小化加固与服务预置
云服务器的初始化比 Windows 更关键,因为它是所有 Dashboard 的“心脏”。我们采用“最小化安装 + 按需启用”原则,杜绝任何冗余服务:
第一步:创建标准 Ubuntu 22.04 实例在云厂商控制台,选择镜像Ubuntu 22.04 LTS,规格至少4C8G,系统盘100GB SSD。创建后,用 SSH 登录:
ssh -i your-key.pem ubuntu@your-server-ip第二步:执行基础安全加固
# 更新系统 sudo apt update && sudo apt upgrade -y # 安装必要工具 sudo apt install -y curl wget git docker.io docker-compose python3-pip # 启用 Docker 服务 sudo systemctl enable docker sudo systemctl start docker # 添加当前用户到 docker 组(避免每次 sudo) sudo usermod -aG docker $USER # 退出重新登录,使组生效 exit第三步:配置 Docker 镜像加速与存储驱动编辑/etc/docker/daemon.json:
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"], "storage-driver": "overlay2", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }然后重启 Docker:
sudo systemctl restart docker提示:
registry-mirrors是国内加速源,避免拉取ollama/ollama镜像时超时;overlay2是推荐的存储驱动,aufs在 Ubuntu 22.04 上已被弃用。
第四步:预置 Redis 与 Elasticsearch 的数据目录
# 创建持久化目录 sudo mkdir -p /data/redis /data/elasticsearch # 设置权限(重要!否则容器无法写入) sudo chown -R 1001:1001 /data/redis sudo chown -R 1001:1001 /data/elasticsearch # Redis 的 1001 用户是官方镜像的默认 UID,Elasticsearch 同理第五步:验证云服务器 Docker 网络模型运行一个测试容器:
docker run --rm -it alpine ping -c 3 8.8.8.8 # 应能通 docker run --rm -it alpine nslookup docker.io # 应能解析域名注意:如果
nslookup失败,检查/etc/resolv.conf是否被云厂商修改。可临时改为nameserver 114.114.114.114测试。
至此,云服务器已准备好承接所有重量级服务。Windows 本地和云服务器之间,现在只差一条“控制指令通道”——这就是 OpenClaw 内核要干的事。
3.3 双端网络打通:解决最隐蔽的“跨网段通信”难题
很多人部署失败,根本原因不是配置错,而是网络不通。OpenClaw 的云上+本地模式,本质上是两个不同网段的通信:云服务器在公网(如121.43.x.x),Windows 本地在局域网(如192.168.1.x),而 WSL2 又给自己分配了一个虚拟网段(如172.28.0.x)。这三个网段必须能互相访问,否则 Dashboard 代理会 502。
Windows 本地 WSL2 访问云服务器:WSL2 默认能访问公网,所以curl http://your-server-ip:8080应该通。如果不通,检查云服务器安全组是否放行8080端口。
云服务器访问 Windows 本地:这是难点。云服务器无法直接访问192.168.1.x,但可以通过 WSL2 的host.docker.internal间接访问。我们在云服务器上运行一个测试容器:
docker run --rm -it --add-host=host.docker.internal:host-gateway alpine curl -I http://host.docker.internal:8080如果返回 200,说明云服务器能通过 Docker 网络访问 Windows 主机;如果失败,则需在 Windows 防火墙中放行8080端口(入站规则 → 新建规则 → 端口 → TCP 8080 → 允许连接)。
WSL2 访问 Windows 本地服务:在 WSL2 终端里执行:
curl -I http://localhost:8080 # 应返回 200,证明 OpenClaw 内核能在 WSL2 中监听 Windows 主机端口提示:Windows 的
localhost在 WSL2 中默认映射到127.0.0.1,但 OpenClaw 内核必须显式绑定0.0.0.0:8080才能被 WSL2 访问。这是很多教程遗漏的关键点。
这三重网络验证,必须全部通过,才能进入下一步。我见过太多人跳过这步,结果 Dashboard 页面打开是白屏,查日志全是connection refused,折腾两天才发现是防火墙没关。
4. OpenClaw 全栈部署实操:从二进制安装到 8 大 Dashboard 全激活
4.1 Windows 本地:OpenClaw 内核安装与 Control UI 启动
现在终于轮到主角登场。在 Windows 的 PowerShell 中,执行以下命令(注意:不是在 WSL2 里,是在 Windows 原生命令行):
# 创建安装目录 mkdir C:\openclaw # 进入目录 cd C:\openclaw # 下载 v0.9.4 Windows 版本(请务必核对 SHA256) curl -o openclaw.exe https://github.com/openclaw/openclaw/releases/download/v0.9.4/openclaw-v0.9.4-windows-amd64.exe # 验证完整性(官方 Release 页面有 SHA256 值) certutil -hashfile openclaw.exe SHA256 # 应输出:a1b2c3...(与官网一致)提示:不要用浏览器下载,容易被杀毒软件拦截。
certutil是 Windows 自带命令,无需额外安装。
接下来,生成初始配置文件config.yaml。这个文件是 OpenClaw 的“大脑”,必须手工编写,不能依赖--init自动生成(因为自动生成的不包含 Windows 本地 Dashboard 配置):
# C:\openclaw\config.yaml server: http_port: 8080 grpc_port: 8081 websocket_port: 8082 # 关键!必须绑定 0.0.0.0,否则 WSL2 无法访问 host: "0.0.0.0" auth: # 生成一个强密码,用 openssl 生成(WSL2 中执行) # openssl rand -base64 32 control_token: "Kx7YzQ2VpR9tLmN4FgH8jB1kW5qXeZ3sA6vTcI0nD7rUyO9fP2hM5lS8gV1bE4" dashboard_token_ttl: 86400 # 24 小时 dashboards: # 这里只配置 Windows 本地 Dashboard,云上部分在云服务器上配 - name: "control-ui" url: "http://localhost:3000" proxy_path: "/control" auth_mode: "none" - name: "dify" url: "http://localhost:3001" proxy_path: "/dify" auth_mode: "token_injection" token_header: "X-Dify-Token" - name: "langchain4j" url: "http://localhost:3002" proxy_path: "/langchain4j" auth_mode: "token_injection" token_header: "X-LangChain-Token" # 云上服务的地址,供本地 Dashboard 调用 cloud: apisix: "http://your-server-ip:9000" elasticsearch: "http://your-server-ip:9200" redis: "http://your-server-ip:6379"注意:
control_token的值必须是你自己生成的,不能用示例值。在 WSL2 中执行openssl rand -base64 32即可生成。
现在,启动 OpenClaw 内核:
# 在 C:\openclaw 目录下 .\openclaw.exe --config config.yaml --log-level debug如果看到日志里出现:
INFO[0000] OpenClaw server started on http://0.0.0.0:8080 INFO[0000] Control UI available at http://localhost:8080/control INFO[0000] Dashboard proxy registered: /dify -> http://localhost:3001说明内核启动成功。此时打开浏览器,访问http://localhost:8080/control,应该能看到 Control UI 的登录页。
4.2 云服务器:Docker Compose 部署 5 大重量级 Dashboard
登录云服务器,创建docker-compose.yml文件:
# /home/ubuntu/openclaw-cloud/docker-compose.yml version: '3.8' services: redis: image: redis:7.2-alpine container_name: redis restart: unless-stopped ports: - "6379:6379" volumes: - /data/redis:/data command: redis-server /usr/local/etc/redis/redis.conf configs: - source: redis_conf target: /usr/local/etc/redis/redis.conf elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.12.2 container_name: elasticsearch restart: unless-stopped ports: - "9200:9200" - "9300:9300" environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms4g -Xmx4g - xpack.security.enabled=false volumes: - /data/elasticsearch:/usr/share/elasticsearch/data apisix: image: apisix/apisix:3.9.1 container_name: apisix restart: unless-stopped ports: - "9000:9000" - "9080:9080" - "9443:9443" volumes: - ./apisix_conf:/usr/local/apisix/conf - ./apisix_logs:/usr/local/apisix/logs ollama: image: ollama/ollama:latest container_name: ollama restart: unless-stopped ports: - "11434:11434" volumes: - ./ollama_models:/root/.ollama/models yolo-webui: image: roboflow/yolov5:latest container_name: yolo-webui restart: unless-stopped ports: - "8000:8000" environment: - PORT=8000再创建docker-compose.override.yml,用于覆盖开发配置:
# /home/ubuntu/openclaw-cloud/docker-compose.override.yml version: '3.8' services: redis: configs: - source: redis_conf target: /usr/local/etc/redis/redis.conf environment: - REDIS_PASSWORD=your_strong_redis_password configs: redis_conf: file: ./redis.conf创建redis.conf:
# /home/ubuntu/openclaw-cloud/redis.conf bind 0.0.0.0 port 6379 protected-mode yes requirepass your_strong_redis_password appendonly yes save 900 1 save 300 10 save 60 10000提示:
your_strong_redis_password必须用openssl rand -base64 24生成,不能是简单字符串。
现在,一键启动所有服务:
cd /home/ubuntu/openclaw-cloud docker-compose up -d # 等待 2 分钟,检查状态 docker-compose ps # 所有服务状态应为 "Up"验证各服务是否健康:
curl -I http://localhost:6379 # 应返回 400 Bad Request(Redis 不支持 GET,但证明端口通) curl -I http://localhost:9200 # 应返回 200 OK curl -I http://localhost:9000 # 应返回 200 OK4.3 Dashboard Token 注入实战:破解unauthorized: gateway token missing魔咒
这才是真正卡住 90% 用户的环节。OpenClaw 的 Dashboard Token 不是自动注入的,必须手动操作。以下是完整流程:
第一步:在 Control UI 中生成 Dashboard Token打开http://localhost:8080/control,用control_token登录(就是config.yaml里的那个长字符串)。进入 “Dashboard Management” 页面,找到dify条目,点击 “Generate Token”。系统会生成一个类似eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...的 JWT 字符串。
第二步:将 Token 粘贴到 Dify 设置页在新标签页打开http://localhost:3001(Dify 的本地地址),点击右上角头像 → Settings → API Keys → Add API Key。在 “Key Name” 填openclaw-proxy,在 “API Key” 栏粘贴刚才生成的 Token,保存。
第三步:在 OpenClaw 配置中启用 Token 注入编辑C:\openclaw\config.yaml,找到dify配置段,确认auth_mode: "token_injection"和token_header: "X-Dify-Token"存在。
第四步:重启 OpenClaw 内核在 PowerShell 中按Ctrl+C停止当前进程,再执行:
.\openclaw.exe --config config.yaml --log-level debug第五步:验证 Token 是否生效打开浏览器,访问http://localhost:8080/dify。如果看到 Dify 的完整界面,说明 Token 注入成功;如果还是 401,打开浏览器开发者工具(F12)→ Network 标签页,刷新页面,找到第一个请求,查看 Request Headers,确认X-Dify-Token已存在且值正确。
注意:每个 Dashboard 的 Token 都是独立的,必须为 APISIX、LangChain4j、YOLOv5 WebUI 分别生成并粘贴。APISIX 的设置页在
http://your-server-ip:9000/#/authentication,LangChain4j 在http://localhost:3002/settings,YOLOv5 WebUI 在http://localhost:8000/settings。
这个过程看似繁琐,但它是 OpenClaw 安全模型的核心。我建议你把所有 Token 保存在一个加密的笔记软件里,并标注生成日期和过期时间(24 小时),避免第二天上班发现 Dashboard 全部失效。
4.4 8 大 Dashboard 全激活:从 URL 到功能的终极验证
当所有 Token 都配置完毕,你就可以通过http://localhost:8080/下的统一入口访问全部 8 个 Dashboard 了。以下是每个 Dashboard 的访问路径和必验功能点:
| Dashboard | 访问 URL | 必验功能点 | 常见失败现象 | 排查方向 |
|---|---|---|---|---|
| Control UI | http://localhost:8080/control | 点击 “System Status” 能看到所有云上服务的在线状态(绿色圆点) | 状态显示灰色或红色 | 检查云服务器docker-compose ps,确认redis、elasticsearch容器在运行 |
| APISIX Dashboard | http://localhost:8080/dashboard/apisix | 在 “Routes” 页面能创建新路由,点击 “Test Route” 能返回 200 | 页面空白或 502 | 检查config.yaml中apisix的url是否指向云服务器 IP,而非localhost |
| Dify WebUI | http://localhost:8080/dify | 创建一个新应用,添加知识库,上传 PDF,能成功解析文本 | 提示 “Failed to upload file” | 检查 Dify 容器日志docker logs dify,看是否有redis connection refused |
| LangChain4j Playground | http://localhost:8080/langchain4j | 输入一个 prompt,选择 “Ollama” 模型,能返回 LLM 响应 | 卡在 “Loading…” | 检查云服务器curl http://localhost:11434/api/tags,确认 Ollama 正常响应 |
| Ollama WebUI | http://localhost:8080/ollama | 在 “Models” 页面能看到已下载模型列表,点击 “Run” 能启动模型 | 页面显示 “No models found” | 检查云服务器/home/ubuntu/openclaw-cloud/ollama_models目录是否有模型文件 |
| RedisInsight | http://localhost:8080/redis | 连接到redis://your-server-ip:6379,输入密码后能浏览 keys | 连接失败 | 检查redis.conf中requirepass是否与docker-compose.yml中的REDIS_PASSWORD一致 |
| Elasticsearch Kibana | http://localhost:8080/kibana | 进入 “Discover” 页面,能查看日志索引 | 提示 “Kibana server is not ready yet” | 检查云服务器docker logs elasticsearch |