openclaw-bot-dashboard について
openclaw-bot-dashboard は、OpenClaw Dashboard のダウンロード、更新、起動を行うスキルです。OpenClaw ユーザーがローカルで動くダッシュボードから、ボット、エージェント、モデル、セッションの状態を確認できます。
主な機能
- 01OSとGitの利用状況を検出
- 02ダッシュボードの取得または更新
- 03npm依存関係のインストール
- 04サーバーのバックグラウンド起動
- 05ローカルとLANのアクセスURLを提示
活用シーン
- 01OpenClaw Dashboard の起動
- 02既存ダッシュボードの更新
- 03ボット、モデル、セッション状態の確認
- 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 の Web UI を起動・管理して、すべてのボット、エージェント、モデル、セッションを監視します。
有効化
ユーザーが次のように言った場合に有効化します。
- "打开 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"
このスキルでできること
- オペレーティングシステム(macOS/Windows)を検出します
- git がインストールされているか確認します
- OpenClaw Dashboard プロジェクトがまだ存在しない場合は、ダウンロード/クローンします
- 依存関係をインストールします(npm install)
- 開発サーバーをバックグラウンドで起動します
- アクセス URL をユーザーに返します
インストールディレクトリ
- macOS/Linux:
~/projects/OpenClaw-bot-review/ - Windows:
%USERPROFILE%\projects\OpenClaw-bot-review\
前提条件
- Node.js 18+ がインストールされている必要があります
~/.openclaw/openclaw.jsonに OpenClaw の設定が必要です(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(cmd、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
ステップ 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
- LAN URL
まず、マシンの LAN 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 検出コマンドを実行してください。
- LAN IP を推測したり、捏造したりしないでください。
- localhost が動作するからといって、LAN URL を省略しないでください。
- 最終返信には、ローカル URL と LAN URL の両方を必ず含めてください。
- LAN IP の検出に失敗した場合も、ローカル URL を含め、次の内容を明記してください。
- 局域网访问地址:获取失败
- さらに、LAN IP の検出に失敗したことを簡潔に説明してください。
- localhost URL のみで返信を終えないでください。
返信の形式:
✅ OpenClaw Dashboard 已启动!
访问地址:
- 本地访问:http://localhost:3000
- 局域网访问:http://<LAN-IP>:3000
Dashboard 会自动读取你的 OpenClaw 配置,展示所有机器人、模型、会话的状态。
需要停止服务时告诉我一声。
LAN 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 がすでに使用中:ダッシュボードかどうかを確認し(ダッシュボードなら URL を返します)、別のサービスの場合は異なるポートの使用を提案します(
PORT=3001 npm run dev) - OpenClaw の設定が見つからない:
~/.openclaw/openclaw.jsonがないとダッシュボードが正常に動作しない可能性があることを警告します - ダウンロードに失敗:インターネット接続を確認するか、GitHub から手動でダウンロードするよう提案します
- npm install に失敗:
npm cache clean --forceを実行してから再試行するよう提案します
メモ
- サーバーはバックグラウンドで実行され、停止またはシステムの再起動まで動作し続けます
- ダッシュボードは設定を
~/.openclaw/openclaw.jsonから直接読み込むため、データベースは不要です - 自動更新、ダーク/ライトテーマ、i18n(中国語/英語)に対応しています
- 楽しい視覚化のため、ピクセルアートのオフィスアニメーションを搭載しています
プラットフォームの検出
# 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
検出ロジック:
- 最初に
git --versionを実行します - 結果(利用可能/利用不可)を保存します
- ワークフロー全体を通じてこの結果を使用します
git が利用できない場合:
- 常に ZIP のダウンロード方法を使用します
- プロジェクトが存在する場合は、最新バージョンを取得するため、常に再ダウンロードを強制します
- ダウンロード前に古いディレクトリをクリーンアップします
実装のヒント
- 古いサービスは必ず先に停止します - 最新のコードでクリーンに再起動できます
- 開始時に git が利用可能か確認します - 更新方法を決定します
- git がある場合:更新を確認し、必要に応じてプルします
- git がない場合:最新バージョンを確実に取得するため、ZIP の再ダウンロードを強制します
- ユーザーへの確認は不要です - 最適な UX のため、自動更新して再起動します
- バックグラウンドプロセス管理を使用して、処理がブロックされないようにします
- 各ステップで明確なフィードバックを提供します(「已停止旧服务」、「检测到新版本,正在更新...」、「正在重新下载最新版本...」)
- Windows では PowerShell と cmd の両方に対応します
- 一時ファイル(ZIP アーカイブ)をクリーンアップします
- デバッグ用にエラーをログに記録しつつ、ユーザー向けのメッセージは簡潔にします
- 常に最新のコードを確保します - git pull または再ダウンロードを利用します