mcpField
O
openclaw-bot-dashboard

openclaw-bot-dashboard

github.com/xmanruiAgent 工作流3148 次安装34 周前更新
代码仓库

关于 openclaw-bot-dashboard

openclaw-bot-dashboard 是用于下载、更新和启动 OpenClaw Dashboard 网页界面的技能,面向 OpenClaw 用户。它在本机运行仪表盘,以查看机器人、Agent、模型和会话状态。

主要功能

  1. 01检测操作系统与 Git 状态
  2. 02下载或更新仪表盘
  3. 03安装 npm 依赖
  4. 04在后台启动服务
  5. 05返回本地和局域网访问地址

适用场景

  1. 01启动 OpenClaw Dashboard
  2. 02更新已有仪表盘安装
  3. 03查看机器人、模型和会话状态
  4. 04重启 3000 端口上的仪表盘服务

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/xmanrui/openclaw-bot-dashboard --skill openclaw-bot-dashboard

安装后在 Claude Code 中输入/openclaw-bot-dashboard确认已加载。

附带文件skill.jsonREADME.md

详细介绍

OpenClaw Dashboard 技能

启动并管理 OpenClaw Dashboard 网页 UI,以监控所有机器人、Agent、模型和会话。

激活方式

用户说以下内容时激活:

  • "打开 OpenClaw-bot-review"
  • "打开 Openclaw dashboard"
  • "打开 bot review"
  • "打开机器人大盘"
  • "打开 bot-review"
  • "打开openclaw机器人大盘"
  • "open openclaw dashboard"
  • "open OpenClaw-bot-review"
  • "open bot review"
  • "open bot-review"
  • "launch bot review"
  • "start dashboard"

此技能的功能

  1. 检测操作系统(macOS/Windows)
  2. 检查是否已安装 git
  3. 如果尚未下载,则下载/克隆 OpenClaw Dashboard 项目
  4. 安装依赖项(npm install)
  5. 在后台启动开发服务器
  6. 向用户返回访问 URL

安装目录

  • macOS/Linux:~/projects/OpenClaw-bot-review/
  • Windows:%USERPROFILE%\projects\OpenClaw-bot-review\

前提条件

  • 必须安装 Node.js 18+
  • OpenClaw 配置文件位于 ~/.openclaw/openclaw.json(Windows 上为 %USERPROFILE%\.openclaw\openclaw.json)

工作流

步骤 1:检查是否已在运行并将其停止
# Check if process is already running on port 3000
# macOS/Linux
lsof -ti:3000

# Windows
netstat -ano | findstr :3000

如果已在运行:

  • 先停止服务(确保干净重启)

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 已停止旧服务

然后继续执行步骤 1.5。

步骤 1.5:检查更新(如果项目已存在)

如果项目已存在,请检查是否有更新版本:

如果 git 可用:

# 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" }

如果有可用更新:

  • 告知用户:"检测到新版本,正在更新..."
  • 拉取最新代码:git pull origin main
  • 重新安装依赖项:npm install
  • 继续执行步骤 5(启动服务)

如果已是最新版本:

  • 继续执行步骤 5(启动服务)

如果 git 不可用:

  • 告知用户:"检测到项目无 git 管理,正在重新下载最新版本..."
  • 删除旧项目目录:
    # macOS/Linux
    rm -rf ~/projects/OpenClaw-bot-review
    
    # Windows (PowerShell)
    Remove-Item -Recurse -Force "$env:USERPROFILE\projects\OpenClaw-bot-review"
    
  • 前往步骤 3(通过 ZIP 下载项目)
步骤 2:检查项目是否存在
# macOS/Linux
test -d ~/projects/OpenClaw-bot-review && echo "exists" || echo "not found"

# Windows (PowerShell)
Test-Path "$env:USERPROFILE\projects\OpenClaw-bot-review"

如果存在,则跳过至步骤 4。

步骤 3:下载项目

选项 A:使用 git(首选)

# 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

选项 B:不使用 git(备用方案)

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(使用 curl 的 cmd - 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
步骤 4:安装依赖项(如有需要)

检查 node_modules 是否存在。如果不存在:

# macOS/Linux
cd ~/projects/OpenClaw-bot-review
npm install

# Windows
cd "%USERPROFILE%\projects\OpenClaw-bot-review"
npm install
步骤 5:启动服务器

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
步骤 6:等待服务器就绪

轮询 http://localhost:3000,直到收到响应(最长等待 30 秒)。

# 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
  }
}
步骤 7:返回访问 URL(必需)

必须同时返回:

  • 本地 URL
  • 局域网 URL

首先,实际检测计算机的局域网 IPv4 地址。不要猜测。

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

规则:

  • 必须先执行 IP 检测命令,再撰写最终回复。
  • 不要猜测或伪造局域网 IP。
  • 不要仅因 localhost 可用就省略局域网 URL。
  • 最终回复中必须同时包含本地 URL 和局域网 URL。
  • 如果局域网 IP 检测失败,仍必须包含本地 URL,并明确说明:
    • 局域网访问地址:获取失败
    • 并简要说明局域网 IP 检测失败。
  • 不要只以 localhost URL 结束回复。

返回消息格式:

✅ OpenClaw Dashboard 已启动!

访问地址:
- 本地访问:http://localhost:3000
- 局域网访问:http://<LAN-IP>:3000

Dashboard 会自动读取你的 OpenClaw 配置,展示所有机器人、模型、会话的状态。

需要停止服务时告诉我一声。

如果局域网 IP 检测失败,请使用:

✅ OpenClaw Dashboard 已启动!

访问地址:
- 本地访问:http://localhost:3000
- 局域网访问:获取失败

原因:未能检测到当前机器的局域网 IPv4 地址。

需要停止服务时告诉我一声。

停止服务器

用户要求停止时:

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

错误处理

  • 找不到 Node.js:告知用户从 https://nodejs.org/ 安装 Node.js 18+
  • 端口 3000 已被占用:检查占用端口的是 Dashboard(返回 URL)还是其他服务(建议使用其他端口:PORT=3001 npm run dev)
  • 找不到 OpenClaw 配置文件:警告用户,如果没有 ~/.openclaw/openclaw.json,Dashboard 可能无法正常工作
  • 下载失败:建议检查网络连接,或从 GitHub 手动下载
  • npm install 失败:建议运行 npm cache clean --force 后重试

备注

  • 服务在后台运行,并会一直运行,直到停止或系统重启
  • 仪表板直接读取 ~/.openclaw/openclaw.json 中的配置——无需数据库
  • 支持自动刷新、深色/浅色主题、国际化(中文/英文)
  • 包含像素风办公室动画,提供趣味可视化效果

平台检测

# Detect OS
uname -s  # macOS: Darwin, Linux: Linux, Windows (Git Bash): MINGW*/MSYS*

# Windows detection in PowerShell
$PSVersionTable.Platform  # Win32NT or empty on Windows

Git 检测

# Check if git is available
git --version
# Exit code 0 = installed, non-zero = not installed

检测逻辑:

  1. 开始时运行 git --version
  2. 保存结果(可用/不可用)
  3. 在整个工作流中使用此结果

如果 git 不可用:

  • 始终使用 ZIP 下载方式
  • 如果项目已存在,始终强制重新下载(以获取最新版本)
  • 下载前清理旧目录

实现提示

  1. 始终先停止旧服务——确保使用最新代码干净地重启
  2. 在开始时检查 git 是否可用——以确定更新策略
  3. **使用 git 时:**检查更新,并在需要时拉取
  4. **不使用 git 时:**强制重新下载 ZIP,以确保获取最新版本
  5. 无需用户确认——自动更新并重启,以获得最佳用户体验
  6. 使用后台进程管理,避免阻塞
  7. 在每个步骤提供清晰的反馈(“已停止旧服务”、“检测到新版本,正在更新...”、“正在重新下载最新版本...”)
  8. 在 Windows 上同时处理 PowerShell 和 cmd
  9. 清理临时文件(ZIP 压缩包)
  10. 记录错误以便调试,但用户提示应保持简洁
  11. 始终确保使用最新代码——通过 git pull 或重新下载实现

评论

支持 Markdown