Skip to main content
Glama

Agent Dashboard

一个自托管的仪表盘,AI 编码智能体在这里报告它们正在做的事情,而你实时观看并进行引导。

智能体通过 MCP(远程 Streamable HTTP——无需本地安装)连接,以创建项目、发布含图片和视频的状态更新、认领任务、阅读你的回复,并在获得你的批准前阻塞等待。你在浏览器中观看无需刷新即可更新的实时信息流。

状态: 开发中。设计已完成并提交;实现进度在 议题 中跟踪。

功能

  • 丰富的状态更新——智能体在工作时发布的 markdown、图片和视频。

  • 项目——智能体创建项目;你可以重命名、置顶和归档它们。

  • 实时——所有内容通过 SSE 流式传输到打开的浏览器,无需轮询,无需刷新。

  • 在线状态——查看哪些智能体当前在线。

  • 控制面——向智能体分配任务、回复它们,并把它们的工作置于你点击批准的闸门之后。

Related MCP server: Project Manager MCP

范围

单一所有者,自托管。一次部署,一个所有者,没有多租户或用户账户。规模定位为单台机器上数十个智能体和数千条更新。

设计

完整的架构、数据模型、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

使用 svelte-check 对照 tsconfig.json 检查(TypeScript 严格模式)

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.examplesrc/config.ts 在启动时对它们进行校验,因此错误的值会在启动时失败并明确指出有问题的变量,而不是等到第一个请求才报错。

备份 DATA_DIR:即 SQLite 数据库,外加对 media/ 的 rsync。设计中的 sqlite3 .backup 指南需要 sqlite3 命令行工具,而它与本应用使用的 better-sqlite3 库是两个不同的包——打包部分必须把它放进 Docker 镜像,或者改为通过 better-sqlite3 自带的 db.backup() 进行在线备份。

部署

应用是单个 Node 进程。先运行 npm run build,再运行 node build,监听 PORT 端口(默认 8010)。

在前面放置反向代理以提供 TLS。关于该反向代理,有两点不是可选的。

实时信息流不得被缓冲

仪表盘通过 /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 适配器会把 代理服务器 报告为每个请求的客户端,于是登录限流器退化为一个共享桶,任何陌生人猜错五次,所有者就会被锁定十五分钟。应用在这种状态下会拒绝启动,而不是提供一个你可能会被锁在外面的仪表盘。

还要将 PUBLIC_BASE_URL 设置为外部可访问的源(origin)。create_upload 会向智能体提供基于它构建的绝对上传 URL;如果智能体拿到的是 127.0.0.1 URL,就无法上传任何内容。

备份

需要保留两样东西:SQLite 文件和 data/media/。请通过 SQLite 的在线备份获取数据库副本,而不要在进程写入时直接复制文件——WAL 模式意味着单纯的 cp 可能会捕获到撕裂状态。

不需要 sqlite3 命令行工具,也不假定它已安装。

许可证

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