A beautiful, full-featured WebUI for OpenClaw
Features • Quick Start • Development • Contributing
- Real-time streaming — Watch responses flow in with live markdown rendering
- Tool call visualization — See what your assistant is doing with expandable tool details
- Syntax highlighting — Beautiful code blocks with one-click copy
- File upload — Drag & drop or paste images directly into chat
- Message search — Find anything with text search and date filters
- Session management — Create, rename, delete, and organize conversations
- Command palette — Press ⌘K to access any action instantly
- Cron Jobs — Create and manage scheduled tasks with visual editors
- Config Editor — Full configuration editing with schema validation and diff view
- Sessions Admin — View all sessions with stats, filters, and bulk actions
- Channels — Monitor all messaging channels (Telegram, Discord, Signal, etc.)
- Skills Browser — Browse local and ClawHub skills, install with one click
- Devices — Manage paired devices, approve pairing requests
- Logs — Real-time log viewer with level filtering and search
- Debug — RPC tester, event stream, connection diagnostics
- Workspace — Browse and edit agent configuration files with token counts
- Usage — Per-session analytics with timeline and cost breakdown
- 12 themes — Light, Dark, Nord, Dracula, Catppuccin, Tokyo Night, and more
- System sync — Automatically switches with your OS preference
- Font options — System, Geist, Inter, JetBrains Mono, OpenDyslexic
- Adjustable sizing — Small, medium, or large text
- Exec approval — Interactive modal for shell command approvals
- Secure storage — Credentials stored in browser localStorage
- No telemetry — Your data stays on your gateway
npx @maudecode/coveThen open http://localhost:8080 and connect to your OpenClaw gateway.
docker run -d -p 8080:8080 ghcr.io/maudecode/cove:latestDownload the latest release and serve the dist/ folder with any static file server:
# Using Python
cd dist && python -m http.server 8080
# Using Node
npx serve dist -p 8080
# Using Caddy
caddy file-server --root dist --listen :8080git clone https://github.com/MaudeCode/cove.git
cd cove
bun install
bun run buildThe built files will be in dist/.
- Open Cove in your browser
- Enter your OpenClaw gateway URL (e.g.,
wss://your-gateway.example.com) - Choose authentication method:
- Token — Use your gateway token
- Password — Use the configured password
- Click Connect
First time? The onboarding wizard will guide you through setup.
# Install dependencies
bun install
# Start dev server
bun run dev
# Run all checks (lint, format, typecheck, unused exports)
bun run check
# Build for production
bun run buildsrc/
├── components/
│ ├── ui/ # Reusable primitives (Button, Modal, Card, etc.)
│ ├── chat/ # Chat interface components
│ └── layout/ # App shell, sidebar, navigation
├── views/ # Page components (ChatView, CronView, etc.)
├── lib/ # Core utilities (gateway client, i18n, theme)
├── signals/ # Preact Signals state management
├── hooks/ # Custom Preact hooks
├── types/ # TypeScript definitions
└── locales/ # Translation files
| Technology | Purpose |
|---|---|
| Preact | UI framework (~3KB) |
| Preact Signals | Reactive state |
| Tailwind CSS v4 | Styling |
| Vite | Build tooling |
| TypeScript | Type safety |
| marked | Markdown rendering |
| Prism | Syntax highlighting |
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feat/amazing-feature) - Make your changes
- Run checks (
bun run check) - Commit with conventional commits (
feat:,fix:,docs:, etc.) - Open a Pull Request
See ROADMAP.md for planned features and areas needing help.
- OpenClaw gateway v0.9+ running and accessible
- Modern browser with WebSocket support (Chrome, Firefox, Safari, Edge)
- File uploads are image-only (PDF, text files coming soon)
- Multi-tab sync for user messages requires page refresh
- Assistant-generated images display as file paths (gateway enhancement planned)
MIT — see LICENSE for details.




