The default workspace for OpenClaw
327
stars
98
commits
TypeScript
primary language
May 16, 2026
updated
OpenClaw reads emails, manages files, runs scripts, and schedules work across tools. But people drive it from Telegram, Discord, or Slack. Chat falls apart fast: everything scrolls away, work gets buried, and you can't see what's running or done.
OpenClaw-OS is the missing interface. A workspace built for your agents. Sessions stay organized. Answers render as live, interactive apps (charts, tables, forms, dashboards) that persist, refresh with new data, and update from a prompt instead of a rebuild.
Website · OpenUI Docs · OpenClaw · Discord · Contributing · Code of Conduct · Security · License
Install OpenClaw OS into an existing OpenClaw setup with the command for your platform:
macOS or Linux:
curl -fsSL https://openui.com/openclaw-os/install.sh | bash
Windows:
powershell -c "irm https://openui.com/openclaw-os/install.ps1 | iex"
The installer downloads the latest source, builds the workspace UI, registers it as an OpenClaw plugin, restarts the gateway, and opens the dashboard in your browser.
or through published package
openclaw plugins install @openuidev/openclaw-os-plugin
openclaw gateway restart
openclaw os url
The workspace runs at
http://localhost:18789/plugins/openclawos; runopenclaw os urlfor the pre-authenticated URL.Don't have OpenClaw yet? Install it first from openclaw.ai, then run the matching command above.
Installing from a local clone: see
CONTRIBUTING.md.
OpenClaw OS ships as a single OpenClaw plugin. When the gateway loads it, two things happen:
http://<gateway>/plugins/openclawos. The plugin bundles the prebuilt static export of the web client and serves it over the gateway's own HTTP route — no separate Next.js process, no tunnel, no CORS dance.before_prompt_build hook detects sessions originating from the workspace (by session-key suffix) and prepends an OpenUI Lang system prompt, so the LLM emits structured component markup the workspace can render.The workspace then connects back to the same gateway over the same-origin WebSocket and renders the streaming output as live React components.
flowchart LR
U["You"] -->|"open /plugins/openclawos"| G["OpenClaw Gateway"]
G -->|"serves bundled UI"| W["OpenClaw OS workspace"]
W -->|"WebSocket"| G
G --> A["OpenClaw Agent"]
A -->|"OpenUI Lang stream"| W
W --> R["Live apps, dashboards, charts"]
See AGENTS.md for the full protocol, the plugin detection mechanism, and the agent / session / thread mental model.
| Package | Description |
|---|---|
@openuidev/openclaw-os-plugin | The OpenClaw plugin. Bundles the workspace UI, serves it over the gateway's HTTP route, and injects the OpenUI prompt for OpenClaw OS sessions. |
@openuidev/claw-client | The workspace UI itself — a Next.js app rendered with the OpenUI React renderer. Statically exported, then bundled into the plugin. |
Both packages live in this monorepo and are linked via pnpm workspaces. They are versioned together for now.
openclaw-os/
├── packages/
│ ├── claw-client/ # Workspace UI (Next.js, statically exported)
│ └── claw-plugin/ # OpenClaw plugin (bundles + serves the UI)
├── scripts/ # Local helpers (open dashboard, etc.)
├── .github/ # CI workflows + issue / PR templates
├── AGENTS.md # Protocol and mental-model deep dive
├── CONTRIBUTING.md # Development workflow
└── README.md # You are here
Good places to start:
packages/claw-client — the workspace UIpackages/claw-plugin — the plugin that ships and serves itAGENTS.md — gateway protocol & session modelCONTRIBUTING.md — local setup, code style, PR workflowRun from the repo root — every script fans out across the workspace.
pnpm build # build every package
pnpm lint # ESLint check across packages
pnpm lint:fix # ESLint auto-fix
pnpm format # Prettier check
pnpm format:fix # Prettier write
pnpm typecheck # tsc --noEmit across packages
pnpm test # Vitest across packages
pnpm ci # full lint + format + typecheck + build (matches CI)
The workspace renders agent output using OpenUI, an open standard for generative UI. Agents emit OpenUI Lang — a structured, streamable language designed for model-generated UI:
See the OpenUI documentation and token efficiency benchmarks for details.
AGENTS.md — OpenClaw protocol, plugin detection, session modelpackages/claw-client/README.md — workspace UI: local dev, env, layoutpackages/claw-plugin/README.md — plugin: install, prompt regenerationContributions are welcome. See CONTRIBUTING.md for the local setup, the code-style rules, and the pull request workflow.
This project is available under the terms described in LICENSE.
TypeScript
95.2%
CSS
2.5%
JavaScript
2.3%
The default workspace for OpenClaw
327
stars
98
commits
TypeScript
primary language
May 16, 2026
updated
OpenClaw reads emails, manages files, runs scripts, and schedules work across tools. But people drive it from Telegram, Discord, or Slack. Chat falls apart fast: everything scrolls away, work gets buried, and you can't see what's running or done.
OpenClaw-OS is the missing interface. A workspace built for your agents. Sessions stay organized. Answers render as live, interactive apps (charts, tables, forms, dashboards) that persist, refresh with new data, and update from a prompt instead of a rebuild.
Website · OpenUI Docs · OpenClaw · Discord · Contributing · Code of Conduct · Security · License
Install OpenClaw OS into an existing OpenClaw setup with the command for your platform:
macOS or Linux:
curl -fsSL https://openui.com/openclaw-os/install.sh | bash
Windows:
powershell -c "irm https://openui.com/openclaw-os/install.ps1 | iex"
The installer downloads the latest source, builds the workspace UI, registers it as an OpenClaw plugin, restarts the gateway, and opens the dashboard in your browser.
or through published package
openclaw plugins install @openuidev/openclaw-os-plugin
openclaw gateway restart
openclaw os url
The workspace runs at
http://localhost:18789/plugins/openclawos; runopenclaw os urlfor the pre-authenticated URL.Don't have OpenClaw yet? Install it first from openclaw.ai, then run the matching command above.
Installing from a local clone: see
CONTRIBUTING.md.
OpenClaw OS ships as a single OpenClaw plugin. When the gateway loads it, two things happen:
http://<gateway>/plugins/openclawos. The plugin bundles the prebuilt static export of the web client and serves it over the gateway's own HTTP route — no separate Next.js process, no tunnel, no CORS dance.before_prompt_build hook detects sessions originating from the workspace (by session-key suffix) and prepends an OpenUI Lang system prompt, so the LLM emits structured component markup the workspace can render.The workspace then connects back to the same gateway over the same-origin WebSocket and renders the streaming output as live React components.
flowchart LR
U["You"] -->|"open /plugins/openclawos"| G["OpenClaw Gateway"]
G -->|"serves bundled UI"| W["OpenClaw OS workspace"]
W -->|"WebSocket"| G
G --> A["OpenClaw Agent"]
A -->|"OpenUI Lang stream"| W
W --> R["Live apps, dashboards, charts"]
See AGENTS.md for the full protocol, the plugin detection mechanism, and the agent / session / thread mental model.
| Package | Description |
|---|---|
@openuidev/openclaw-os-plugin | The OpenClaw plugin. Bundles the workspace UI, serves it over the gateway's HTTP route, and injects the OpenUI prompt for OpenClaw OS sessions. |
@openuidev/claw-client | The workspace UI itself — a Next.js app rendered with the OpenUI React renderer. Statically exported, then bundled into the plugin. |
Both packages live in this monorepo and are linked via pnpm workspaces. They are versioned together for now.
openclaw-os/
├── packages/
│ ├── claw-client/ # Workspace UI (Next.js, statically exported)
│ └── claw-plugin/ # OpenClaw plugin (bundles + serves the UI)
├── scripts/ # Local helpers (open dashboard, etc.)
├── .github/ # CI workflows + issue / PR templates
├── AGENTS.md # Protocol and mental-model deep dive
├── CONTRIBUTING.md # Development workflow
└── README.md # You are here
Good places to start:
packages/claw-client — the workspace UIpackages/claw-plugin — the plugin that ships and serves itAGENTS.md — gateway protocol & session modelCONTRIBUTING.md — local setup, code style, PR workflowRun from the repo root — every script fans out across the workspace.
pnpm build # build every package
pnpm lint # ESLint check across packages
pnpm lint:fix # ESLint auto-fix
pnpm format # Prettier check
pnpm format:fix # Prettier write
pnpm typecheck # tsc --noEmit across packages
pnpm test # Vitest across packages
pnpm ci # full lint + format + typecheck + build (matches CI)
The workspace renders agent output using OpenUI, an open standard for generative UI. Agents emit OpenUI Lang — a structured, streamable language designed for model-generated UI:
See the OpenUI documentation and token efficiency benchmarks for details.
AGENTS.md — OpenClaw protocol, plugin detection, session modelpackages/claw-client/README.md — workspace UI: local dev, env, layoutpackages/claw-plugin/README.md — plugin: install, prompt regenerationContributions are welcome. See CONTRIBUTING.md for the local setup, the code-style rules, and the pull request workflow.
This project is available under the terms described in LICENSE.
TypeScript
95.2%
CSS
2.5%
JavaScript
2.3%