Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
openclaw-dashboard — 🔐 OpenClaw AIエージェント向けの安全でリアルタイムな監視ダッシュボード。認証、TOTP MFA、コスト追跡、ライブフィード、メモリブラウザなど。 | Kitploit
ツール/GitHubGitHub/tugcantopaloglu/openclaw-dashboard
コンテナセキュリティ構成監査ネットワークセキュリティクラウドセキュリティDevSecOpsシークレット検出認証インシデントレスポンスAPIセキュリティログ分析
GitHubtugcantopaloglu/openclaw-dashboard

openclaw-dashboard

6981205ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

🔐 OpenClaw AIエージェント向けの安全でリアルタイムな監視ダッシュボード。認証、TOTP MFA、コスト追跡、ライブフィード、メモリブラウザなど。

リポジトリを見るウェブサイト
header

OpenClaw Agent Dashboard

License: MIT Node.js OpenClaw

OpenClaw エージェント向けの美しく、安全で、リアルタイムな監視ダッシュボード。セッションの追跡、API 使用状況の監視、コストの表示、メモリファイルの管理、システムの健全性の把握をすべて一か所で行えます。

Dashboard Preview

📸 スクリーンショット

概要セッションコスト
OverviewSessionsCosts
レート制限ライブフィードログ
LimitsFeedLogs

✨ 機能

  • 🤖 セッション管理 - 全エージェントセッションとリアルタイムのアクティビティステータスを表示
  • 📊 レート制限監視 - スライディングウィンドウに対する Claude および Gemini API の使用状況を追跡
  • 💰 コスト分析 - モデル、セッション、期間ごとの詳細な支出内訳
  • ⚡ ライブフィード - 全セッションにわたるエージェントメッセージのリアルタイムストリーム
  • 🧠 メモリビューア - エージェントメモリファイル(MEMORY.md、HEARTBEAT.md、日次ノート)の参照と読み取り
  • 📁 ファイルマネージャ - セキュリティ強化を施したワークスペースファイル、スキル、設定の表示と編集
  • 📈 システム健全性 - CPU、RAM、ディスク、温度の監視とスパークライン表示
  • 🔄 サービス制御 - OpenClaw、ダッシュボード、その他サービスの再起動をクイックアクションで実行
  • 📋 ログビューア - 自動更新付きリアルタイムシステムログ
  • ⏰ Cron 管理 - cron ジョブの表示、有効化/無効化、手動トリガー
  • 🌐 Tailscale 統合 - Tailscale のステータス、IP、接続ピアを表示
  • 🎯 アクティビティヒートマップ - 過去 30 日間のピーク使用時間を可視化
  • 🔥 連続アクティビティ追跡 - 日別アクティビティの連続記録を監視
  • 🔍 セッション検索とフィルタリング - ステータス、モデル、日付範囲でフィルタリング可能なライブ検索
  • 🎨 ダーク/ライトテーマ - ダークモードとライトモードの切り替え、設定は永続保存
  • ⌨️ キーボードショートカット - ホットキー(1-7、Space、/、Esc、?)で素早く操作
  • 📱 モバイル対応 - スマートフォンやタブレットでも動作
  • 🔔 ブラウザ通知 - 使用制限が近づいたときに通知
  • 📊 タイムラインビュー - セッションアクティビティの視覚的なタイムライン
  • 💾 Git アクティビティ - リポジトリの最近のコミットを追跡
  • 🎛️ Claude 使用状況スクレイパー - Claude Code CLI から実際の使用データを取得
  • 🔷 Gemini 使用状況追跡 - Google Gemini モデルの使用状況をモデル別内訳で監視
  • 🔀 プロバイダ切替 - 概要カード上で Claude と Gemini の使用状況を切り替え
  • 📊 モデル別セレクタ - 表示するモデル/ウィンドウ(Opus、Sonnet、Pro、Flash など)を選択
  • 🔄 自動更新 - 5 秒ごとにライブデータを更新
  • 🌟 通算統計 - 初回セッションからの総トークン数、メッセージ数、コスト
  • 📈 健全性履歴 - 24 時間の CPU、RAM、温度、ディスク使用量のスパークライン
  • 🎯 クイックアクション - ワンクリックでシステムメンテナンス(アップデート、クリーンアップ、再起動)
  • 🍎 macOS 互換 - macOS のシステム統計、サービス、メモリレポートを完全サポート
  • 🛡️ システムセキュリティダッシュボード - UFW ルール、開放ポート、fail2ban、SSH ログ、セキュリティ監査(再認証が必要)
  • ⚙️ 設定エディタ - OpenClaw 設定の JSON 検証、自動バックアップ、ゲートウェイ再起動機能付き編集(再認証が必要)
  • 🐳 Docker 管理 - コンテナ、イメージ、システム使用状況の表示、コンテナの起動/停止/再起動、未使用リソースの削除
  • 🔔 通知センター - 未読バッジカウンター付き監査ログイベントフィード(ログイン、設定変更、セキュリティイベント)

🚀 クイックスタート```bash

Clone the repository

git clone https://github.com/tugcantopaloglu/openclaw-dashboard.git cd openclaw-dashboard

Set your OpenClaw workspace path (optional, auto-detects if not set)

export WORKSPACE_DIR=/path/to/your/openclaw/workspace

Start the dashboard

node server.js

root@kitploit:~
Visit `http://localhost:7000` in your browser. On first visit, you'll see a **registration screen** where you create your username and password. After registration, log in with your credentials.

## 📦 インストール

### 前提条件

- **Node.js** v18 以上(`node --version` で確認)
- **OpenClaw** がインストールされ、実行中であること
- **Systemd**(任意、Linux でのサービスインストール用)

#### 任意の依存関係

| ツール | 用途 | インストール方法 |
|------|-------------|---------|
| `jq` | Docker管理ページ | `sudo apt install jq` |
| `tmux` | Claude CLI 使用状況スクレイパー | `sudo apt install tmux` |
| `python3` | Claude CLI 使用状況パーサー | 通常プリインストール済み |
| `docker` | Docker管理ページ | [docs.docker.com](https://docs.docker.com/engine/install/) |

### 手動インストール

1. **リポジトリをクローン**   ```bash
   git clone https://github.com/tugcantopaloglu/openclaw-dashboard.git
   cd openclaw-dashboard
  1. 環境設定 (オプション) ```bash export DASHBOARD_PORT=7000 export WORKSPACE_DIR=/path/to/your/workspace export OPENCLAW_DIR=$HOME/.openclaw export OPENCLAW_AGENT=main
    root@kitploit:~
  2. サーバーを起動する ```bash node server.js
    root@kitploit:~

サーバーは次のように出力します: ``` 🚀 Dashboard running on http://localhost:7000 🔑 Recovery token: abc123def456...

root@kitploit:~
**復旧トークンを保存してください** — パスワードを忘れた場合に必要になります。

4. **ダッシュボードにアクセス**
`http://localhost:7000` を開いてアカウントを登録します。

### Systemd Service (install.sh)

ダッシュボードを自動起動とクラッシュリカバリ付きのシステムサービスとして実行するには:```bash
sudo ./install.sh

これは以下を行います:

  • /etc/systemd/system/agent-dashboard.service を作成します
  • /etc/systemd/system/agent-dashboard.service.d/override.conf にオーバーライド設定を作成します
  • サービスを有効化し起動します
  • ワークスペースパスを設定し、リカバリートークンを生成します

ログを表示:```bash journalctl -u agent-dashboard -f

root@kitploit:~
### Docker```bash
# Build
docker build -t openclaw-dashboard .

# Run
docker run -d \
  --name openclaw-dashboard \
  -p 3001:3001 \
  -e WORKSPACE_DIR=/app/workspace \
  -e DASHBOARD_ALLOW_HTTP=true \
  -v ~/.openclaw:/home/node/.openclaw:ro \
  -v ~/.openclaw/workspace:/app/workspace \
  openclaw-dashboard

Docker管理ページにアクセスするには、Dockerソケットを渡してください:```bash docker run -d
--name openclaw-dashboard
-p 3001:3001
-e WORKSPACE_DIR=/app/workspace
-e DASHBOARD_ALLOW_HTTP=true
-v ~/.openclaw:/home/node/.openclaw:ro
-v ~/.openclaw/workspace:/app/workspace
-v /var/run/docker.sock:/var/run/docker.sock:ro
--group-add $(stat -c '%g' /var/run/docker.sock)
openclaw-dashboard

root@kitploit:~
### 環境変数

| 変数 | 説明 | デフォルト |
|----------|-------------|---------|
| `DASHBOARD_PORT` | サーバーポート | `7000` |
| `DASHBOARD_TOKEN` | パスワードリセット用の回復トークン | 起動時に自動生成 |
| `WORKSPACE_DIR` | OpenClawワークスペースのパス | `$OPENCLAW_WORKSPACE` またはカレントディレクトリ |
| `OPENCLAW_DIR` | OpenClaw設定ディレクトリ | `~/.openclaw` |
| `OPENCLAW_AGENT` | 監視するエージェントID | `main` |
| `DASHBOARD_ALLOW_HTTP` | 非ローカルIPからのHTTPを許可 | `false` |

**例:**```bash
# Custom port
DASHBOARD_PORT=8080 node server.js

# Custom recovery token
DASHBOARD_TOKEN=my_secret_token_12345 node server.js

# Different workspace
WORKSPACE_DIR=/mnt/data/openclaw node server.js

🔐 認証

ダッシュボードは、ユーザー名とパスワード認証 と安全なサーバーサイドセッションを使用します。

初回登録

  1. ダッシュボードURLにアクセス(例:http://localhost:7000)
  2. 登録画面が表示されます
  3. ユーザー名とパスワードを選択します
  4. 登録 をクリックします
  5. 新しい認証情報でログインします

ログイン

  • ユーザー名 と パスワード を入力します
  • オプションで 「ログイン状態を保持」 にチェックを入れると、3時間ログイン状態が維持されます(localStorage を使用)
  • 「ログイン状態を保持」を選択しない場合、セッションはブラウザを閉じるまでのみ有効です(sessionStorage を使用)

パスワードのセキュリティ

  • PBKDF2ハッシュ — SHA-512で100,000回の反復
  • ランダムソルト — パスワードごとに一意
  • サーバーサイドセッション — パスワードはブラウザに保存されず、セッショントークンのみ
  • タイミング安全な比較 — パスワード検証におけるタイミング攻撃を防止

レート制限

ブルートフォース攻撃を防止するため:

  • 5回のログイン失敗 → 15分間のソフトロックアウト
  • 20回のログイン失敗 → ハードロックアウト(サービスの再起動が必要)
  • レート制限はメモリ内に保持され、サービス再起動時にリセットされます

🔑 多要素認証(MFA)

時間ベースのワンタイムパスワード(TOTP)でセキュリティをさらに強化します。

MFAの有効化

  1. ダッシュボードに ログイン します
  2. セキュリティ ページ(サイドバー)に移動します
  3. 「MFAを有効にする」 をクリックします
  4. QRコード が表示されます — 認証アプリでスキャンします:
    • Google Authenticator(iOS、Android)
    • Authy(iOS、Android、Desktop)
    • Microsoft Authenticator(iOS、Android)
    • 1Password、Bitwarden、またはTOTP互換のアプリ
  5. アプリに表示された 6桁のコード を入力して確認します
  6. MFAが有効になりました! 🎉

MFAの使用

有効化後、ログインのたびに以下が必要です:

  1. ユーザー名 と パスワード(通常通り)
  2. 認証アプリからの 6桁のTOTPコード
  • コードは 30秒ごと に更新されます
  • ダッシュボードは時刻ずれに対応するため、±1ウィンドウの許容範囲(前後30秒)のコードを受け付けます

MFAの無効化

  1. セキュリティ ページに移動します
  2. 「MFAを無効にする」 をクリックします
  3. 確認のため、現在の 6桁のTOTPコード を入力します
  4. MFAが無効になりました

MFAのリセット(ロックアウト時)

認証アプリにアクセスできなくなった場合(スマホ紛失、アプリ削除など):

  1. サーバーにSSHで接続 します
  2. 次のコマンドを実行 してMFAシークレットをクリアします: ```bash node -e "const fs=require('fs');const c=JSON.parse(fs.readFileSync('/root/clawd/data/credentials.json','utf8'));delete c.mfaSecret;fs.writeFileSync('/root/clawd/data/credentials.json',JSON.stringify(c,null,2));console.log('MFA cleared')"
    root@kitploit:~
  3. ダッシュボードを再起動: ```bash systemctl restart agent-dashboard
    root@kitploit:~
  4. ユーザー名とパスワードだけでログインしてください
  5. 新しいQRコードでMFAを再有効化してください

重要: ワークスペースが別の場所にある場合は、パス /root/clawd/data/credentials.json を調整してください。

🔓 パスワード回復

パスワードをお忘れですか?

パスワードを忘れた場合:

  1. ログイン画面で "Forgot password?" をクリック
  2. 回復トークンを入力してください(下記の「回復トークンの確認」を参照)
  3. 新しいパスワードを設定
  4. 新しいパスワードでログイン

回復トークンの確認

回復トークン(DASHBOARD_TOKEN)はサーバー起動時に出力されます。以下の場所で確認できます:

サーバー起動ログを確認する```bash

journalctl -u agent-dashboard | grep "Recovery token"

root@kitploit:~
出力:```
🔑 Recovery token: 3e6b91f352418b486a9aa9d82fbbc1b1

Systemd オーバーライド設定の確認```bash

cat /etc/systemd/system/agent-dashboard.service.d/override.conf

root@kitploit:~
探す:```ini
Environment=DASHBOARD_TOKEN=3e6b91f352418b486a9aa9d82fbbc1b1

環境変数を確認

手動で設定した場合:```bash echo $DASHBOARD_TOKEN

root@kitploit:~
### パスワードの変更

ログイン中にパスワードを変更するには:

1. **セキュリティ**ページに移動
2. **現在のパスワード**を入力
3. **新しいパスワード**を入力
4. **"パスワードを変更"**をクリック
5. 他のすべてのセッションは無効になります(他の場所で再度ログインする必要があります)

### アカウントの完全リセット(核オプション)

すべてがロックされていてログインできない場合:

1. **サーバーにSSH接続**
2. **認証情報ファイルを削除**:   ```bash
   rm /root/clawd/data/credentials.json
  1. ダッシュボードを再起動する: ```bash systemctl restart agent-dashboard
    root@kitploit:~
  2. ダッシュボードにアクセス — 登録画面が表示されます
  3. 新しいアカウントを最初から作成

警告: これにより、ユーザー名、パスワード、MFA設定が削除されます。メモリファイルと監査ログは影響を受けません。

🛡️ セキュリティ機能

ダッシュボードはセキュリティのベストプラクティスに基づいて構築されています:

  • PBKDF2パスワードハッシュ化 — 100,000回の反復、SHA-512、ランダムソルト
  • タイミングセーフな比較 — トークン/パスワード検証におけるタイミング攻撃を防止
  • サーバーサイドセッション — セッショントークンはメモリに保存され、パスワードはブラウザに送信されない
  • レート制限 — ログイン試行に対する統一レートリミッター (5回ソフト / 20回ハードロックアウト)
  • HTTPS強制 — localhostとTailscale (100.64.0.0/10) を除きHTTPをブロック
  • セキュリティヘッダー:
    • HSTS — 将来のアクセスでHTTPSを強制
    • CSP — コンテンツセキュリティポリシー (インラインスクリプト禁止、同一オリジン)
    • X-Frame-Options: DENY — クリックジャッキングを防止
    • X-Content-Type-Options: nosniff — MIMEスニッフィングを防止
    • X-XSS-Protection: 1; mode=block — レガシーXSS保護
  • 監査ログ — すべての認証イベントと破壊的操作を data/audit.log に記録
  • CORS — 同一オリジンのみ、ワイルドカード (*) は許可されない
  • 入力検証:
    • ログとアクションのサービスホワイトリスト
    • ファイルアクセスにおけるパストラバーサル保護
    • ペイロードサイズ制限 (最大1MB)
  • 自動バックアップ — ワークスペースファイルの上書き前に .bak ファイルを作成

🌐 ネットワークセキュリティ

ダッシュボードはローカルまたはTailscaleアクセス用に設計されています:

推奨アクセス方法

  1. Localhost — 同じマシンからのアクセス: http://localhost:7000
  2. Tailscale — 自分のTailscaleネットワークからのアクセス: http://100.x.x.x:7000
  3. Local network — LANからのアクセス (HTTPSを使用するか、DASHBOARD_ALLOW_HTTP=true を設定)

HTTPS強制

デフォルトでは、ダッシュボードは非ローカルIPからのHTTPアクセスをブロックします。例外:

  • Localhost (127.0.0.1, ::1)
  • Tailscale IPs (100.64.0.0/10)

その他のネットワークでは、ダッシュボードはHTTPSまたは (リバースプロキシからの) X-Forwarded-Proto: https ヘッダーを必要とします。

すべてのIPからのHTTPを許可するには (推奨されません):```bash DASHBOARD_ALLOW_HTTP=true node server.js

root@kitploit:~
### パブリックインターネットに公開しないでください

**このダッシュボードはパブリックインターネット公開に向けて堅牢化されていません。** 認証とレート制限はありますが、プライベートネットワーク向けに設計されています。やむを得ず公開する場合は:
- リバースプロキシ(nginx、Caddy)をHTTPSで使用する
- IP許可リストを追加する
- 代わりにVPN(Tailscale、WireGuard)を検討する

## 🛠️ トラブルシューティング

### 「試行失敗が多すぎます」

**問題:** 「試行失敗が多すぎます。しばらくしてからもう一度お試しください。」というメッセージが表示されます。

**解決策:**
- ソフトロックアウトが解除されるまで**15分**待つ
- レート制限を解除するためにサービスを再起動する:  ```bash
  systemctl restart agent-dashboard
  • レート制限はインメモリで、再起動時にリセットされます

パスワード変更後にログインできない

問題: パスワードを変更したがログインできない。

解決策: 「パスワードをお忘れですか?」のフローでリカバリトークンを使用し、新しいパスワードを設定してください。

MFAコードが機能しない

問題: 6桁のTOTPコードが拒否される。

解決策:

  • スマートフォンの時計が同期していることを確認:
    • iOS: Settings → General → Date & Time → Set Automatically
    • Android: Settings → System → Date & Time → Automatic date & time
  • TOTPコードは時計のずれに対して**±30秒の許容範囲**があります
  • 次のコードを試す(30秒待って更新されるのを確認)
  • それでも失敗する場合は、SSH経由でMFAをリセット(「MFAのリセット」セクションを参照)

ダッシュボードが読み込まれない

問題: ブラウザに空白のページまたは接続エラーが表示される。

解決策:

  1. サービスの状態を確認する: ```bash systemctl status agent-dashboard
    root@kitploit:~
  2. ログを確認: ```bash journalctl -u agent-dashboard -n 50
    root@kitploit:~
  3. ポートを確認: ```bash curl http://localhost:7000/api/auth/status
    root@kitploit:~

返すべき: ```json {"authenticated": false, "requiresRegistration": false}

root@kitploit:~
### "HTTPSが必要"エラー

**問題:** ブラウザに「HTTPSが必要です。localhost、Tailscale経由でアクセスするか、HTTPSを有効にしてください。」と表示されます。

**解決策:**
- **localhost**経由でアクセス:`http://localhost:7000`
- **Tailscale**経由でアクセス:`http://100.x.x.x:7000`
- 環境変数に`DASHBOARD_ALLOW_HTTP=true`を設定する(推奨しません):  ```bash
# Add to /etc/systemd/system/agent-dashboard.service.d/override.conf
Environment=DASHBOARD_ALLOW_HTTP=true

# Reload and restart
systemctl daemon-reload
systemctl restart agent-dashboard

Blank page after update

Problem: Dashboard shows a blank page after pulling new code.

Solutions:

  • Hard refresh: Ctrl+Shift+R (Windows/Linux) or Cmd+Shift+R (macOS)
  • Clear browser cache for the dashboard URL
  • Check browser console (F12 → Console tab) for JavaScript errors

📡 API Reference

The dashboard exposes a REST API for programmatic access. All endpoints require authentication via Authorization: Bearer <sessionToken> header.

Unauthenticated Endpoints

  • GET /api/auth/status — Check authentication status
  • POST /api/auth/login — Log in with username/password (+ TOTP if MFA enabled)
  • POST /api/auth/register — Register a new account (only if no credentials exist)
  • POST /api/auth/reset-password — Reset password with recovery token

Authenticated Endpoints

All other endpoints require authentication:

  • GET /api/config — Dashboard configuration
  • GET /api/sessions — List all agent sessions
  • GET /api/usage — 5-hour rolling window usage data
  • GET /api/costs — Spending data by day, model, and session
  • GET /api/system — System health metrics
  • GET /api/memory-files — List memory files
  • GET /api/memory-file?path=<path> — Read a memory file
  • GET /api/key-files — List workspace files (skills, configs)
  • GET /api/key-file?path=<name> — Read a workspace file
  • POST /api/key-file — Write to a workspace file (with backup)
  • GET /api/crons — List cron jobs
  • POST /api/cron/<id>/toggle — Enable/disable a cron job

For detailed request/response examples, see the previous version of this README or explore the API in the browser's Network tab.

📂 Data Files

The dashboard stores data in your workspace directory:

Credentials file structure:```json { "username": "admin", "passwordHash": "pbkdf2_sha512$100000$...", "salt": "...", "mfaSecret": "BASE32SECRET..." // Only if MFA enabled }

root@kitploit:~
## 🔗 OpenClaw 統合

ダッシュボードは自動的に以下を検出します:
- **セッション**: `$OPENCLAW_DIR/agents/$AGENT_ID/sessions/` から
- **Cron ジョブ**: `$OPENCLAW_DIR/cron/jobs.json` から
- **メモリファイル**: `$WORKSPACE_DIR/MEMORY.md`, `HEARTBEAT.md`, および `memory/*.md` から
- **Git リポジトリ**: `$WORKSPACE_DIR/projects/*/` から
- **ヘルスデータ**: `$WORKSPACE_DIR/data/health-history.json` に保存

### 必須ファイル

以下のファイルが存在すると、ダッシュボードは最適に動作します:
- `$WORKSPACE_DIR/MEMORY.md` - エージェントの長期記憶
- `$WORKSPACE_DIR/HEARTBEAT.md` - ハートビートタスク一覧
- `$WORKSPACE_DIR/memory/YYYY-MM-DD.md` - 日次メモ
- `$WORKSPACE_DIR/scripts/scrape-claude-usage.sh` - Claude 使用状況スクレイパー
- `$WORKSPACE_DIR/scripts/parse-claude-usage.py` - Claude 使用状況パーサー
- `$WORKSPACE_DIR/scripts/scrape-gemini-usage.sh` - Gemini 使用状況スクレイパー
- `$WORKSPACE_DIR/scripts/parse-gemini-usage.py` - Gemini 使用状況パーサー

## ⌨️ キーボードショートカット

| キー | アクション |
|-----|--------|
| `1` | 概要に切り替え |
| `2` | セッションに切り替え |
| `3` | コストに切り替え |
| `4` | レート制限に切り替え |
| `5` | メモリに切り替え |
| `6` | ファイルに切り替え |
| `7` | ライブフィードに切り替え |
| `8` | ログに切り替え |
| `9` | セキュリティに切り替え |
| `Space` | フィードの一時停止/再開(ライブフィードページの場合) |
| `/` | 検索ボックスにフォーカス |
| `Esc` | モーダルとオーバーレイを閉じる |
| `?` | キーボードショートカットヘルプを表示 |

## 🤝 貢献

貢献を歓迎します!以下のガイドラインに従ってください:

1. **Fork** リポジトリをフォーク
2. **Create** 機能ブランチを作成 (`git checkout -b feature/amazing-feature`)
3. **Commit** 変更をコミット (`git commit -m 'Add amazing feature'`)
4. **Push** ブランチにプッシュ (`git push origin feature/amazing-feature`)
5. **Open** プルリクエストを開く

### 開発環境セットアップ```bash
git clone https://github.com/tugcantopaloglu/openclaw-dashboard.git
cd openclaw-dashboard
export WORKSPACE_DIR=/path/to/test/workspace
node server.js

ダッシュボードにはビルドステップはありません — server.js または index.html を編集してリロードしてください。

コードスタイル

  • コードにコメントは不要 (自己文書化)
  • 簡潔で直接的な関数名

📄 ライセンス

MITライセンス - 詳細は LICENSE ファイルをご覧ください。

🙏 謝辞

  • Claude Code で構築
  • OpenClaw 向けに構築
  • モダンダッシュボード (Grafana、Vercel、Railway) に触発されて
  • フォント: Inter および JetBrains Mono

📞 サポート

  • Issues: GitHub Issues
  • Twitter: @tugcantopaloglu

✨ で Tuğcan Topaloğlu が作成

ツールをダウンロード
  • 🔐 ユーザー名/パスワード認証 - PBKDF2 パスワードハッシュを使用した安全な登録
  • 🔑 TOTP MFA - オプションの二要素認証(Google Authenticator 互換)
  • 💾 ログイン状態保持 - セッションのみ、または 3 時間の永続ログイン
  • 🛡️ セキュリティ強化 - HSTS、CSP、レート制限、タイミングセーフな比較、監査ログ
  • 📦 最小限の依存関係 - 純粋な Node.js、データベースや npm パッケージ不要。オプション:jq(Docker ページ)、tmux + python3(Claude CLI 使用状況スクレイパー)、docker(Docker 管理)
  • POST /api/cron/<id>/run — Manually trigger a cron job
  • GET /api/logs?service=<service>&lines=<N> — Fetch system logs
  • POST /api/action/<action> — Run quick actions (restart-openclaw, restart-dashboard, etc.)
  • POST /api/claude-usage-scrape — Trigger Claude usage scrape
  • GET /api/claude-usage — Get last scraped Claude usage
  • POST /api/gemini-usage-scrape — Trigger Gemini usage scrape
  • GET /api/gemini-usage — Get last scraped Gemini usage
  • GET /api/live — Server-Sent Events stream of real-time messages
  • GET /api/notifications?limit=<N> — Audit log events for notification center
  • POST /api/reauth — Re-authenticate for sensitive pages (Security, Config)
  • GET /api/openclaw-config — Read OpenClaw configuration file
  • PUT /api/openclaw-config — Save config with auto-backup and gateway restart
  • GET /api/sys-security — System security info (UFW, ports, fail2ban, SSH logs)
  • GET /api/docker — List Docker containers, images, and system usage
  • POST /api/docker/action — Docker actions (start/stop/restart container, prune)
  • GET /api/services — List systemd services
  • POST /api/services/action — Service actions (start/stop/restart, whitelisted only)
  • FilePurpose
    data/credentials.jsonUsername + hashed password + MFA secret
    data/audit.logSecurity audit trail (auto-rotates at 10MB)
    data/health-history.jsonCPU/RAM/Temp/Disk history for sparklines
    data/claude-usage.jsonLast scraped Claude usage data
    data/gemini-usage.jsonLast scraped Gemini usage data