Agent Dashboard
エージェントダッシュボード
AIコーディングエージェントが自分の作業を報告し、あなたがリアルタイムで監視・操作できるセルフホスト型ダッシュボードです。
エージェントはMCP(リモートのStreamable HTTP — ローカルインストール不要)を介して接続し、プロジェクトの作成、画像や動画付きのステータス更新の投稿、タスクの取得、あなたの返信の読み取り、承認待ちでのブロックを行います。ブラウザでは、更新のたびにリフレッシュ不要のライブフィードを閲覧できます。
ステータス: 開発中。設計は完了しコミット済み。実装はissuesで追跡されています。
機能
リッチなステータス更新 — エージェントが作業中に投稿するマークダウン、画像、動画。
プロジェクト — エージェントが作成し、あなたは名前変更、ピン留め、アーカイブができます。
ライブ — すべてがSSE経由で開いているブラウザにストリーミングされ、ポーリングもリロードも不要です。
プレゼンス — 現在どのエージェントが稼働しているかを確認できます。
コントロールプレーン — エージェントにタスクを割り当て、返信し、あなたがクリックする承認の背後で作業を制御します。
Related MCP server: PilotDeck
スコープ
シングルオーナーかつセルフホスト。単一デプロイ、単一オーナー、マルチテナンシーやユーザーアカウントはありません。1台のマシンで数十のエージェントと数千件程度の更新を想定しています。
設計
完全なアーキテクチャ、データモデル、MCPツールサーフェス、承認ゲートのセマンティクスについては、docs/superpowers/specs/2026-08-25-agent-dashboard-design.mdを参照してください。
開発
Node 22以上とPATH上のffmpegが必要です。
npm ci
cp .env.example .env # then fill in the secrets
npm run devスクリプト | 説明 |
| Vite開発サーバー |
| Nodeアダプター( |
| Nodeユニットテスト(Vitest)— デフォルトのスイート、ブラウザ不要 |
| 実際のChromiumでのSvelteコンポーネントテスト(Vitestブラウザモード) |
| Playwrightエンドツーエンドテスト |
| ユニット + コンポーネント + e2e |
|
|
| Prettierチェック + ESLint |
| Prettier書き込み |
コンポーネントテストとe2eテストは初回実行時にChromiumビルドをダウンロードするため、CIとデフォルトのnpm testは意図的にNodeのみのユニットスイートに留めています。
レイアウト
src/は設計の§2のモジュール表を反映しています。各ディレクトリには、その唯一の役割とインポートを許可されたモジュールのみを記載したREADMEがあります。
src/db/ SQLite connection, migrations, repositories
src/events/ typed in-process pub/sub + SSE ring buffer
src/media/ upload tokens, ingest, derivatives, disk layout
src/domain/ all business rules
src/mcp/ MCP Streamable HTTP tool surface
src/http/ SvelteKit routes (browser REST, SSE, /mcp mount, media, auth)
src/web/ Svelte components and client storesSvelteKitはルート用にsrc/http/routes、$lib用にsrc/webを指すように設定されているため、フレームワーク自身のディレクトリがモジュール境界と一致し、対立しません。モジュール間のインポートは$db、$events、$media、$domain、$mcp、$http、$webエイリアスを通じて行います。
設定
すべての設定は環境変数です。デフォルト値と各シークレットの生成方法を含む完全なリストは.env.exampleを参照してください。src/config.tsは起動時にそれらを検証するため、不正な値は最初のリクエストではなく、問題のある変数名とともに失敗します。
DATA_DIRをバックアップしてください:SQLiteデータベースとmedia/のrsync。設計のsqlite3 .backupガイダンスにはsqlite3CLIが必要ですが、これはこのアプリが使用するbetter-sqlite3ライブラリとは別のパッケージです。パッケージングスライスはそれをDockerイメージに含めるか、代わりにbetter-sqlite3自身のdb.backup()によるオンラインバックアップを取る必要があります。
デプロイ
アプリは単一のNodeプロセスです。npm run buildの後にnode buildを実行し、PORT(デフォルト8010)で待ち受けます。
TLS用にリバースプロキシを前面に配置します。そのプロキシについて、必須の2つの点があります。
ライブフィードはバッファリングしてはならない
ダッシュボードは/api/streamでServer-Sent Eventsをストリーミングします。バッファリングプロキシはこれを最も紛らわしい形で壊します:ページは接続し、エラーを報告せず、単に更新されません。Caddyはtext/event-streamを自動検出しますが、後で設定変更が後退しないように明示的に指定してください。
agents.wildware.dev {
@stream path /api/stream
reverse_proxy @stream 127.0.0.1:8010 {
flush_interval -1
}
# Wide enough for slow video uploads and the 55s approval-gate holds.
reverse_proxy 127.0.0.1:8010 {
transport http {
read_timeout 300s
}
}
}nginxの背後では、そのルートでproxy_buffering offに加えてproxy_read_timeout 300sを設定します:
location /api/stream {
proxy_pass http://127.0.0.1:8010;
proxy_buffering off;
proxy_cache off;
proxy_read_timeout 300s;
proxy_set_header Connection '';
proxy_http_version 1.1;
}クライアントアドレスを転送する必要がある
ADDRESS_HEADER=X-Forwarded-ForとXFF_DEPTH=1を設定してください(.env.example参照)。これらがないと、Nodeアダプターはすべてのリクエストのクライアントとしてプロキシを報告するため、ログインレートリミッターが1つの共有バケットにまとまり、見知らぬ人による5回の誤った推測でオーナーが15分間ロックアウトされます。アプリは、ロックアウトされる可能性のあるダッシュボードを提供するのではなく、この状態で起動を拒否します。
また、PUBLIC_BASE_URLを外部から到達可能なオリジンに設定してください。create_uploadはそこから構築された絶対アップロードURLをエージェントに渡します。127.0.0.1のURLを与えられたエージェントは何もアップロードできません。
バックアップ
保持すべき2つのもの:SQLiteファイルとdata/media/。プロセスが書き込み中にファイルをコピーするのではなく、SQLiteのオンラインバックアップを介してデータベースのコピーを取得してください。WALモードでは、単純なcpは破損した状態をキャプチャする可能性があります。sqlite3CLIは必須ではなく、インストールされているとは想定されていません。
ライセンス
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- robellsOAuthio.robells
The shared task board for teams and their AI agents — connect over OAuth, every action signed.
The shared task board for teams and their AI agents — connect over OAuth, every action signed.
Task management for teams building with AI agents. Agents claim tasks and report progress.
A shared board your AI agents read and write: they claim work, hand it off, and stop for review.
19
Related MCP Servers
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to create and manage customizable dashboards with text, list, stats, progress, and chart widgets, accessible via a read-only web viewer and JSON API.-
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to claim task cards from a self-hosted board, receive complete briefings, and submit handoffs with evidence and telemetry for human validation.1-
- AlicenseAqualityAmaintenanceSelf-hosted task tracker and MCP server for AI coding agents. Append-only case files preserve decisions, failed attempts, questions, and check results across sessions. A live web board lets people track progress and answer agents. Runs locally in Docker and connects to Claude Code, Codex, Cursor, and other Streamable HTTP MCP clients. MIT licensed.10305MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI clients to operate web accounts through human-in-the-loop browser automation, including live-view login and safe draft creation without publishing.Apache 2.0