Install
openclaw skills install openclaw-bot-dashboardLaunch and manage the OpenClaw Dashboard web UI for monitoring all your bots, agents, models, and sessions. Automatically detects OS, checks for updates, ins...
openclaw skills install openclaw-bot-dashboardLaunch and manage the OpenClaw Dashboard web UI for monitoring all your bots, agents, models, and sessions.
Activate when user says:
~/projects/OpenClaw-bot-review/%USERPROFILE%\projects\OpenClaw-bot-review\~/.openclaw/openclaw.json (or %USERPROFILE%\.openclaw\openclaw.json on Windows)# Check if process is already running on port 3000
# macOS/Linux
lsof -ti:3000
# Windows
netstat -ano | findstr :3000
If already running:
macOS/Linux:
lsof -ti:3000 | xargs kill -9 2>/dev/null
echo "已停止旧服务"
Windows (PowerShell):
Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess | Stop-Process -Force
Write-Host "已停止旧服务"
Windows (cmd):
for /f "tokens=5" %a in ('netstat -ano ^| findstr :3000') do taskkill /F /PID %a
echo 已停止旧服务
Then proceed to Step 1.5.
If project exists, check if there's a newer version:
If git is available:
# macOS/Linux
cd ~/projects/OpenClaw-bot-review
git fetch origin main 2>/dev/null
LOCAL=$(git rev-parse HEAD 2>/dev/null)
REMOTE=$(git rev-parse origin/main 2>/dev/null)
if [ "$LOCAL" != "$REMOTE" ]; then
echo "update_available"
else
echo "up_to_date"
fi
# Windows (PowerShell)
cd "$env:USERPROFILE\projects\OpenClaw-bot-review"
git fetch origin main 2>$null
$local = git rev-parse HEAD 2>$null
$remote = git rev-parse origin/main 2>$null
if ($local -ne $remote) { "update_available" } else { "up_to_date" }
If update available:
git pull origin mainnpm installIf up to date:
If git is NOT available:
# macOS/Linux
rm -rf ~/projects/OpenClaw-bot-review
# Windows (PowerShell)
Remove-Item -Recurse -Force "$env:USERPROFILE\projects\OpenClaw-bot-review"
# macOS/Linux
test -d ~/projects/OpenClaw-bot-review && echo "exists" || echo "not found"
# Windows (PowerShell)
Test-Path "$env:USERPROFILE\projects\OpenClaw-bot-review"
If exists, skip to Step 4.
Option A: With git (preferred)
# macOS/Linux
mkdir -p ~/projects
cd ~/projects
git clone https://github.com/xmanrui/OpenClaw-bot-review.git
# Windows (PowerShell)
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\projects"
cd "$env:USERPROFILE\projects"
git clone https://github.com/xmanrui/OpenClaw-bot-review.git
Option B: Without git (fallback)
macOS/Linux:
mkdir -p ~/projects
cd ~/projects
curl -L https://github.com/xmanrui/OpenClaw-bot-review/archive/refs/heads/main.zip -o openclaw-dashboard.zip
unzip openclaw-dashboard.zip
mv OpenClaw-bot-review-main OpenClaw-bot-review
rm openclaw-dashboard.zip
Windows (PowerShell):
New-Item -ItemType Directory -Force -Path "$env:USERPROFILE\projects"
cd "$env:USERPROFILE\projects"
Invoke-WebRequest -Uri "https://github.com/xmanrui/OpenClaw-bot-review/archive/refs/heads/main.zip" -OutFile "openclaw-dashboard.zip"
Expand-Archive -Path "openclaw-dashboard.zip" -DestinationPath "."
Rename-Item -Path "OpenClaw-bot-review-main" -NewName "OpenClaw-bot-review"
Remove-Item "openclaw-dashboard.zip"
Windows (cmd with curl - Windows 10+):
mkdir "%USERPROFILE%\projects" 2>nul
cd /d "%USERPROFILE%\projects"
curl -L https://github.com/xmanrui/OpenClaw-bot-review/archive/refs/heads/main.zip -o openclaw-dashboard.zip
tar -xf openclaw-dashboard.zip
ren OpenClaw-bot-review-main OpenClaw-bot-review
del openclaw-dashboard.zip
Check if node_modules exists. If not:
# macOS/Linux
cd ~/projects/OpenClaw-bot-review
npm install
# Windows
cd "%USERPROFILE%\projects\OpenClaw-bot-review"
npm install
macOS/Linux:
cd ~/projects/OpenClaw-bot-review
npm run dev > /dev/null 2>&1 &
Windows (PowerShell):
cd "$env:USERPROFILE\projects\OpenClaw-bot-review"
Start-Process -NoNewWindow -FilePath "npm" -ArgumentList "run", "dev"
Windows (cmd):
cd /d "%USERPROFILE%\projects\OpenClaw-bot-review"
start /B npm run dev
Poll http://localhost:3000 until it responds (max 30 seconds).
# macOS/Linux
for i in {1..30}; do
curl -s http://localhost:3000 > /dev/null && break
sleep 1
done
# Windows (PowerShell)
for ($i=0; $i -lt 30; $i++) {
try {
Invoke-WebRequest -Uri "http://localhost:3000" -UseBasicParsing -TimeoutSec 1 | Out-Null
break
} catch {
Start-Sleep -Seconds 1
}
}
You MUST return both:
First, actually detect the machine's LAN IPv4 address. Do not guess it.
macOS/Linux:
(ipconfig getifaddr en0 || ipconfig getifaddr en1 || hostname -I | awk '{print $1}') 2>/dev/null
Windows (PowerShell):
(Get-NetIPAddress -AddressFamily IPv4 -InterfaceAlias "Ethernet*","Wi-Fi*" | Select-Object -First 1).IPAddress
Rules:
Return message format:
✅ OpenClaw Dashboard 已启动!
访问地址:
- 本地访问:http://localhost:3000
- 局域网访问:http://<LAN-IP>:3000
Dashboard 会自动读取你的 OpenClaw 配置,展示所有机器人、模型、会话的状态。
需要停止服务时告诉我一声。
If LAN IP detection fails, use:
✅ OpenClaw Dashboard 已启动!
访问地址:
- 本地访问:http://localhost:3000
- 局域网访问:获取失败
原因:未能检测到当前机器的局域网 IPv4 地址。
需要停止服务时告诉我一声。
When user asks to stop:
macOS/Linux:
lsof -ti:3000 | xargs kill -9
Windows (PowerShell):
Get-Process -Id (Get-NetTCPConnection -LocalPort 3000).OwningProcess | Stop-Process -Force
Windows (cmd):
for /f "tokens=5" %a in ('netstat -ano ^| findstr :3000') do taskkill /F /PID %a
PORT=3001 npm run dev)~/.openclaw/openclaw.jsonnpm cache clean --force and retrying~/.openclaw/openclaw.json - no database needed# Detect OS
uname -s # macOS: Darwin, Linux: Linux, Windows (Git Bash): MINGW*/MSYS*
# Windows detection in PowerShell
$PSVersionTable.Platform # Win32NT or empty on Windows
# Check if git is available
git --version
# Exit code 0 = installed, non-zero = not installed
Detection logic:
git --version at the beginningIf git not available: