Skip to main content
Glama

エージェントダッシュボード

AIコーディングエージェントが自分の作業を報告し、あなたがリアルタイムで監視・操作できるセルフホスト型ダッシュボードです。

エージェントはMCP(リモートのStreamable HTTP — ローカルインストール不要)を介して接続し、プロジェクトの作成、画像や動画付きのステータス更新の投稿、タスクの取得、あなたの返信の読み取り、承認待ちでのブロックを行います。ブラウザでは、更新のたびにリフレッシュ不要のライブフィードを閲覧できます。

ステータス: 開発中。設計は完了しコミット済み。実装はissuesで追跡されています。

機能

  • リッチなステータス更新 — エージェントが作業中に投稿するマークダウン、画像、動画。

  • プロジェクト — エージェントが作成し、あなたは名前変更、ピン留め、アーカイブができます。

  • ライブ — すべてがSSE経由で開いているブラウザにストリーミングされ、ポーリングもリロードも不要です。

  • プレゼンス — 現在どのエージェントが稼働しているかを確認できます。

  • コントロールプレーン — エージェントにタスクを割り当て、返信し、あなたがクリックする承認の背後で作業を制御します。

Related MCP server: Project Manager MCP

スコープ

シングルオーナーかつセルフホスト。単一デプロイ、単一オーナー、マルチテナンシーやユーザーアカウントはありません。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

スクリプト

説明

npm run dev

Vite開発サーバー

npm run build

Nodeアダプター(build/index.js)による本番ビルド

npm test

Nodeユニットテスト(Vitest)— デフォルトのスイート、ブラウザ不要

npm run test:component

実際のChromiumでのSvelteコンポーネントテスト(Vitestブラウザモード)

npm run test:e2e

Playwrightエンドツーエンドテスト

npm run test:all

ユニット + コンポーネント + e2e

npm run typecheck

tsconfig.jsonに対するsvelte-check(TypeScript strict)

npm run lint

Prettierチェック + ESLint

npm run format

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 stores

SvelteKitはルート用に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-ForXFF_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

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Build and run visual creative-production workflows from your AI agent.

  • Turns any agent into a full agentic application — branded, interactive screens generated at runtime.

  • Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/wildware-uk/agent-dashboard'

If you have feedback or need assistance with the MCP directory API, please join our Discord server