Skip to content

fix: "一键隔离"隔离了正在运行的Gateway可执行文件,导致Gateway崩溃 #318

Description

@Zen-Zeng

问题描述

ClawPanel 的「一键隔离」功能将当前 Gateway 正在使用的 openclaw.cmd 重命名为 .bak,导致 Gateway 热重启时找不到可执行文件而崩溃,且事后没有自动切换到备选路径兜底恢复。

复现步骤

  1. 系统有两套 Node.js:nvm4w (C:\nvm4w\nodejs) 和 nvm-windows (C:<span class="hl-type">Users<span class="hl-type">PC<span class="hl-type">AppData<span class="hl-type">Local\nvm\v22.22.2)
  2. 两套都安装了 openclaw(版本相同),但 PATH 中 nvm4w 排第一位
  3. ClawPanel 配置 openclawCliPath 指向 nvm-windows 路径,但实际启动 Gateway 时走 PATH 找到了 nvm4w 的 openclaw.cmd
  4. ClawPanel 检测到 nvm4w 的 openclaw.cmd 为「未识别来源」
  5. 用户点击「一键隔离」→ 将 C:\nvm4w\nodejs\openclaw.cmd 重命名为 .disabled-by-clawpanel-xxx.bak
  6. Gateway 配置变更触发热重启 → 命令行窗口找不到 openclaw 命令
  7. → '"C:\nvm4w\nodejs\openclaw"' 不是内部或外部命令 → Gateway exited
  8. ClawPanel 虽然 openclawCliPath 记录了 nvm-windows 路径,但未自动使用它兜底重启,导致永久卡死

期望行为

  • 方案A:「一键隔离」应跳过正在被 Gateway 使用的可执行文件,不隔离自身
  • 方案B:隔离后如果 Gateway 崩溃,应自动检测其他可用路径(如 openclawCliPath 配置的备选路径)并尝试重新启动

实际行为

隔离自身正在使用的文件 → Gateway 崩溃 → 无法自动恢复

环境信息

  • OS: Windows 11 企业版 25H2
  • ClawPanel 版本: 未确认(请用户补充)
  • OpenClaw 版本: 2026.6.1
  • Node.js: 两套(nvm4w + nvm-windows v22.22.2)

日志证据

gateway.err.log 显示所有 Gateway 进程的执行方式:C:\nvm4w\nodejs\node.exe C:\Users\PC\AppData\Local\nvm\v22.22.2\node_modules\openclaw\dist\index.js gateway --port 18789

nvm4w 的 Node.exe 运行 nvm-windows 的 openclaw 代码,但启动入口走的是 nvm4w 的 openclaw.cmd 包装器。

clawpanel.json 配置:
json
{

"openclawCliPath": "C:\Users\PC\AppData\Local\nvm\v22.22.2\openclaw.cmd"

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions