← Back to Plugins
Tools

Dashboard

IllyaMoore By IllyaMoore 👁 36 views ▲ 0 votes

OpenClaw extension that ports the Command Center Next.js dashboard as a first-class plugin against an OpenClaw gateway.

GitHub

README

# OpenClaw Dashboard Plugin

OpenClaw extension that ports the [Command Center](https://github.com/IllyaMoore/Command-Center) Next.js dashboard to run as a first-class plugin against an OpenClaw gateway.

## Status

**Pre-alpha.** Discovery and design phase. No code yet.

Tracked in Linear: [OpenClaw Plugin: Command Center Dashboard](https://linear.app/storypages/project/openclaw-plugin-command-center-dashboard-e2e1caac830a).

## Goal

Replace the standalone NanoClaw HTTP server (`Command-Center/src/dashboard/server.ts`) with an OpenClaw plugin that registers `/api/*` and `/dashboard/*` routes on the existing gateway via `api.registerHttpRoute(...)`. The plugin holds no private database โ€” sessions, cron, approvals, tool policies, and events all flow through `api.runtime.*` and gateway RPC.

## Layout (target)

```
openclaw-dashboard-plugin/
โ”œโ”€โ”€ docs/
โ”‚   โ”œโ”€โ”€ api-mapping.md       # OPC-151: Command-Center /api/* โ†’ OpenClaw runtime
โ”‚   โ””โ”€โ”€ agent-model.md       # OPC-152: agent โ†” session-scope translation
โ”œโ”€โ”€ package.json             # openclaw.extensions: ["./index.ts"]
โ”œโ”€โ”€ openclaw.plugin.json     # plugin manifest
โ”œโ”€โ”€ index.ts                 # plugin entry: registerHttpRoute + runtime init
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ api/                 # ported Command-Center handlers, via api.runtime.*
โ”‚   โ”‚   โ”œโ”€โ”€ agents.ts        # session scopes + workspace skill folders
โ”‚   โ”‚   โ”œโ”€โ”€ messages.ts      # transcript read + systemEvent inject
โ”‚   โ”‚   โ”œโ”€โ”€ tasks.ts         # runtime.tasks.flows
โ”‚   โ”‚   โ”œโ”€โ”€ approvals.ts     # gateway approvals RPC
โ”‚   โ”‚   โ”œโ”€โ”€ policies.ts      # tools.sandbox.tools.{allow,deny} mutate
โ”‚   โ”‚   โ”œโ”€โ”€ events.ts        # SSE from runtime.events.onAgentEvent
โ”‚   โ”‚   โ”œโ”€โ”€ upload.ts        # runtime.state.openKeyedStore
โ”‚   โ”‚   โ””โ”€โ”€ settings.ts      # timezone via mutateConfigFile
โ”‚   โ””โ”€โ”€ http/
โ”‚       โ”œโ”€โ”€ router.ts        # path matching + parseBody
โ”‚       โ””โ”€โ”€ static.ts        # serve bundled dashboard-next/out
โ””โ”€โ”€ ui/                      # copy of Command-Center/dashboard-next, builds to ui/out
```

## Phases

1. **Discovery & design** ([OPC-148](https://linear.app/storypages/issue/OPC-148)) โ€” produce `docs/api-mapping.md` and `docs/agent-model.md`.
2. **Implementation** ([OPC-149](https://linear.app/storypages/issue/OPC-149)) โ€” scaffold the plugin package, port each handler family.
3. **Build & deploy** ([OPC-150](https://linear.app/storypages/issue/OPC-150)) โ€” wire `next build` + `tsdown`, install on production EC2 via Terraform.

## References

This package lives in a workspace alongside two reference folders. From `plugin/` use sibling paths:

- Command Center source we port from: `../nanoclaw-dashboard/` (copy of `E:\code\Command-Center-personal`)
- OpenClaw monorepo (junction โ†’ `E:\code\openclaw-src`): `../openclaw/`
- Plugin SDK: `../openclaw/packages/plugin-sdk/`
- Reference plugin (HTTP route registration): `../openclaw/extensions/webhooks/`
- Plugin docs: `../openclaw/docs/plugins/building-plugins.md`

See top-level [`../README.md`](../README.md) for the workspace layout.

## License

MIT
tools

Comments

Sign in to leave a comment

Loading comments...