OpenCLaw Web UI 无法访问问题排查
最近遇到 OpenCLaw 的 Web UI 页面返回 404 Not Found 的情况。排查后发现,这通常不是服务挂了,而是路径解析的问题。
问题根源
Gateway 中的 resolveControlUiRootSync 函数在自动查找控制 UI 目录时,默认并没有把 node_modules/openclaw/dist/control-ui 当作候选路径。如果你尝试手动指定相对路径,往往也会因为工作目录(Working Directory)解析的差异导致找不到文件。
解决方案
最稳妥的办法是直接将控制 UI 的文件复制到项目根目录下,避免依赖动态路径解析。
首先,将 node_modules/openclaw/dist/control-ui 里的内容拷贝到项目根目录,比如新建一个名为 control-ui 的文件夹。注意目录名尽量只用英文字母,避免使用 - 或 _ 等特殊符号,以免在某些环境下引起混淆。
接下来,修改配置文件 openclaw.json。这次建议直接使用绝对路径来指定 controlUi.root,这样能彻底规避相对路径带来的不确定性。
{
"controlUi": {
"enabled": true,
"root": "你的实际安装目录\\control-ui",
"allowInsecureAuth": true,
"dangerouslyDisableDeviceAuth": true
}
}
这里有个小细节:Windows 路径下的反斜杠在配置文件中需要转义,或者直接使用正斜杠。上面的示例中为了保险起见,使用了双反斜杠。替换成你电脑上的真实路径即可。
注意事项
配置完成后重启服务,确保路径指向正确。如果仍然无法访问,检查一下该目录是否包含必要的静态资源文件。

