Easier for users to identify at a glance which file to double-click. e.g. Mac-运行.command, Windows-运行.bat, Linux-运行.sh
85 lines
2.6 KiB
Batchfile
85 lines
2.6 KiB
Batchfile
@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
|