🧩 常见问题解决方案

🦞 网关中文路径乱码闪退

严重 Windows OpenClaw-zh v2026.4.2

📌 本解决方案在 OpenClaw-zh(晴辰汉化版)v2026.4.2 版本下实测有效,适用于 v2026.4.2 及更高版本。

📋 问题现象

Windows 用户名包含中文字符(如"用户名")时,OpenClaw 网关启动失败、闪退,或执行 openclaw gateway restart 命令超时,系统计划任务无法正常运行。

🔍 问题根源

Node.js 在解析含有中文的路径时,Windows CMD 命令行编码可能导致乱码,使 index.js 无法正确加载模块,从而导致网关闪退。

✅ 解决方案(三步骤)

核心思路:通过 目录联接(Junction) 保持 OpenClaw 默认配置路径不变,但实际文件存储到 D 盘英文路径,网关启动时 node.js 完全看不到中文路径。

步骤 1:创建目录联接(Junction)

管理员权限的命令提示符(CMD)中执行以下两条命令:

mklink /J "C:\Users\用户名\.openclaw" "D:\OpenClaw"
mklink /J "D:\OpenClaw\openclaw-zh" "C:\Users\用户名\AppData\Roaming\npm\node_modules\@qingchencloud\openclaw-zh"

📌 请将命令中的 用户名 替换为您的实际 Windows 用户名(例如:C:\Users\用户名)。执行前请确保 D:\OpenClaw 目录已创建。

步骤 2:创建无中文路径的 gateway.cmd

D:\OpenClaw\ 目录下创建文件 gateway.cmd,内容如下:

@echo off
cd /d D:\OpenClaw
set "OPENCLAW_HOME=D:\OpenClaw"
if not exist "D:\OpenClaw\temp" mkdir "D:\OpenClaw\temp"
set "TMPDIR=D:\OpenClaw\temp"
set "OPENCLAW_GATEWAY_PORT=18789"
"C:\Program Files\nodejs\node.exe" "D:\OpenClaw\openclaw-zh\dist\index.js" gateway --port 18789 --allow-unconfigured

⚠️ 如果您的 node.js 安装在其它路径(如 C:\Nodejs\node.exe),请相应修改第 4 行的路径。

步骤 3:覆盖全局 gateway.cmd 并重建计划任务

继续在管理员 CMD中执行:

copy /Y "D:\OpenClaw\gateway.cmd" "C:\Users\用户名\AppData\Roaming\npm\gateway.cmd"
schtasks /delete /tn "OpenClaw Gateway" /f
schtasks /create /tn "OpenClaw Gateway" /tr "D:\OpenClaw\gateway.cmd" /sc onlogon /ru SYSTEM /rl highest /f

这两个命令会覆盖全局 gateway.cmd 并重建系统计划任务,确保网关开机自启。

🔬 验证修复
✅ 检查步骤:
  1. 手动双击运行 D:\OpenClaw\gateway.cmd
  2. 看到命令行显示 listening on ws://127.0.0.1:18789 表示网关启动成功
  3. 执行 openclaw gateway status 确认网关状态正常
💡 原理与注意事项
  • 配置路径不变:OpenClaw 配置文件仍使用 C:\Users\用户名\.openclaw\openclaw.json,Junction 会透明重定向到 D 盘,无需修改任何配置。
  • npm 环境保持原样npm install 仍写入 C 盘原路径,但因为 Junction,实际文件存储在 D 盘。
  • 向后兼容:如果删除 Junction 链接,OpenClaw 仍可使用 C 盘原始路径正常工作。
  • 升级后修复:OpenClaw 版本升级可能会重写 gateway.cmd,如果问题复现,只需重新执行步骤 2-3 即可。
  • 权限要求:创建 Junction 和修改计划任务需要管理员权限