@echo off chcp 65001 >nul 2>&1 title U-Claw 虾盘 - OpenClaw 一键启动 echo. echo ╔══════════════════════════════════════╗ echo ║ U-Claw 虾盘 v1.1 ║ echo ║ OpenClaw 一键启动 (Windows) ║ echo ╚══════════════════════════════════════╝ echo. echo 推荐场景:老电脑 / 临时电脑 / 不想改本机环境 echo. set "UCLAW_DIR=%~dp0" set "OPENCLAW_DIR=%UCLAW_DIR%openclaw" set "NODE_DIR=%UCLAW_DIR%runtime\node-win-x64" set "NODE_BIN=%NODE_DIR%\node.exe" set "NPM_BIN=%NODE_DIR%\npm.cmd" set "PORTABLE_HOME=%UCLAW_DIR%portable-home" set "PORTABLE_STATE_DIR=%PORTABLE_HOME%\.openclaw" set "PORTABLE_CONFIG_PATH=%PORTABLE_STATE_DIR%\openclaw.json" set "OPENCLAW_HOME=%PORTABLE_HOME%" set "OPENCLAW_STATE_DIR=%PORTABLE_STATE_DIR%" set "OPENCLAW_CONFIG_PATH=%PORTABLE_CONFIG_PATH%" if not exist "%PORTABLE_STATE_DIR%" mkdir "%PORTABLE_STATE_DIR%" if not exist "%NODE_BIN%" ( echo [错误] 找不到 Node.js 运行环境 echo 请确保 runtime\node-win-x64 目录完整 echo. pause exit /b 1 ) for /f "tokens=*" %%v in ('"%NODE_BIN%" --version') do set NODE_VER=%%v echo Node.js 版本: %NODE_VER% echo. set "PATH=%NODE_DIR%;%NODE_DIR%\node_modules\.bin;%PATH%" if not exist "%OPENCLAW_DIR%\node_modules" ( echo 首次运行,正在安装依赖... echo (使用淘宝镜像,请稍等) echo. cd /d "%OPENCLAW_DIR%" call "%NPM_BIN%" install --registry=https://registry.npmmirror.com echo. echo 依赖安装完成! echo. ) if not exist "%OPENCLAW_DIR%\dist" ( echo 首次运行,正在构建... cd /d "%OPENCLAW_DIR%" call "%NODE_BIN%" "%NPM_BIN%" run build echo. ) echo 正在启动 OpenClaw... echo. cd /d "%OPENCLAW_DIR%" if not exist "%PORTABLE_CONFIG_PATH%" ( echo 检测到你还没有完成首次配置。 echo 首次配置会直接保存到 U 盘里,换电脑插上后还能继续用。 echo. set /p DO_ONBOARD=" 现在开始首次配置? (y/n) " if /i "%DO_ONBOARD%"=="y" ( "%NODE_BIN%" openclaw.mjs onboard echo. echo 首次配置完成,已保存到 U 盘。 ) ) else ( echo 正在启动网关服务... echo 此窗口不要关闭,关闭后服务会停止。 echo. "%NODE_BIN%" openclaw.mjs gateway run --allow-unconfigured --force ) echo. echo OpenClaw 已退出。拔掉 U 盘后,本次便携运行就会结束。 pause