ClawdOS
The web interface for OpenClaw
A full-featured web GUI, dashboard, and productivity workspace for your OpenClaw AI agent.
Self-hosted. Private. Your AI assistant that actually does things — not just talks about them.
Quick Start · Features · How It Works · Security · Install Guide · Vision
ClawdOS is the web interface for OpenClaw (formerly Moltbot / Clawdbot) — the open-source personal AI agent with 237K+ stars.
OpenClaw is the brain. ClawdOS is the eyes and hands. It gives your OpenClaw agent a full productivity workspace — task management, notes, news feeds, package tracking, dashboards, a skill marketplace — all controlled by AI through natural language.
Think of it as KDE for your AI agent: OpenClaw runs in the terminal; ClawdOS gives it a visual operating system.
| Without ClawdOS | With ClawdOS |
|---|---|
| Terminal-only interaction | Full web UI + terminal |
| No persistent workspace | Tasks, notes, news, deliveries, dashboard |
| Text responses only | AI executes actions in your workspace |
| Manual skill management | Visual skill marketplace |
Looking for an OpenClaw GUI? A Moltbot web interface? A dashboard for your personal AI agent? This is it.
Prerequisites: Node.js >= 22, Docker, OpenClaw running
git clone https://github.com/hasanator3000/ClawdOS.git && cd ClawdOS
npm install
npm run setup # creates DB, generates secrets, auto-detects OpenClaw token
npm run dev # open http://localhost:3000ClawdOS auto-detects your OpenClaw gateway from
~/.clawdbot/clawdbot.json. See INSTALL.md for manual configuration, production deploy, and troubleshooting.
A streaming chat panel connected to your OpenClaw agent. But it's not just a chatbot — it acts. Say "remind me to call the bank tomorrow, high priority" and a task appears. Say "add Hacker News to my feeds" and it's done. Say "track my package RR123456789CN" and it starts tracking. Simple commands resolve in under 1ms thanks to local intent routing — no AI spinner.
Workspace-scoped tasks with priorities (0–4), due dates, tags, projects, and filters. Create them from the UI or by telling your AI. Kanban, calendar, and timeline views.
Rich-text editor powered by Plate (v52). Headings, lists, blockquotes, code blocks, tables with floating toolbar, toggles, callouts, and checkboxes — all from a / slash menu. Drag & drop blocks (with table-safe DnD that won't corrupt cells), paste or upload images with resize, insert multi-column layouts. Each note gets an emoji icon and gradient cover image with tiled emoji pattern overlay. Consistent card heights with CSS mask-image fade. Pinned notes appear in the sidebar for quick access. Full-text search across all content (PostgreSQL tsvector + GIN index). Mobile-optimized with a touch-friendly bottom toolbar and swipe actions.
Feed reader with custom tabs, full-text search, and 50+ pre-configured sources across AI, tech, crypto, finance, and world news. Add sources by pasting a URL or asking the AI.
Track deliveries from 1500+ carriers worldwide (powered by TrackingMore). Add tracking numbers via UI or chat, auto-detect carrier, get live status updates.
Live greeting, weather, crypto & fiat exchange rates (2-min refresh), system gauges, OpenClaw agent metrics, recent tasks, and quick-access links.
Browse and install OpenClaw skills from the marketplace. GitHub, Slack, Notion, weather, coding agents, and more. Managed through ClawdHub.
Cmd+K — search and jump anywhere: pages, workspaces, actions.
ClawdOS connects to your OpenClaw agent over a local HTTP gateway (OpenAI-compatible API). ClawdOS handles UI, data, and action execution. OpenClaw handles reasoning, skill execution, and tool use.
Browser ──▶ ClawdOS (Next.js) ──▶ OpenClaw agent
◀── SSE stream ◀── SSE stream
| Action | Example |
|---|---|
| Create, complete, delete tasks | "create a task to review the PR" |
| Set task priority | "mark it as urgent" |
| Create and edit notes | "create a note about the meeting" |
| Add/remove RSS feeds | "add TechCrunch to my news" |
| Create news tabs | "make a Crypto tab" |
| Track/remove packages | "track RR123456789CN" |
| Navigate anywhere | "open settings" |
| Install skills | "install the GitHub skill" |
Not every message hits the LLM. ClawdOS resolves intents locally first:
- Regex — instant match (< 1ms)
- Embeddings — offline semantic similarity (~6ms, no API call)
- OpenClaw LLM — full reasoning for complex requests
Void-black background. Glassmorphism cards. Neon purple accents. Dark theme only. Fully responsive — works on desktop, tablet, and mobile.
Desktop Mobile
─────── ──────
┌──────┬──────────────┬────────┐ ┌──────────────┐
│ Rail │ Content │ Chat │ │ Content │
│ 64px │ flex │ resize │ │ │
│ │ │ drag │ ├──────────────┤
└──────┴──────────────┴────────┘ │ Chat sheet │
├──────────────┤
│ Tab bar │
└──────────────┘
Desktop: Three-column shell — collapsible rail sidebar, flexible content, resizable AI chat panel. Mobile: Bottom tab navigation, swipe-up chat sheet, drawer sidebar. Full feature parity — not a stripped-down version.
Fonts: Outfit (UI) + Space Mono (code/data).
Built for self-hosting on a private network.
| Layer | Implementation |
|---|---|
| Passwords | Argon2id hashing (GPU-resistant) |
| Sessions | iron-session, httpOnly + sameSite cookies |
| 2FA | Optional Telegram-based OTP |
| Data isolation | PostgreSQL Row-Level Security per workspace |
| AI tokens | Server-side only — never reach the browser |
| Input validation | Zod schemas on every API route and server action |
| Rate limiting | 10 req/sec per IP, sliding window |
| CSRF | Origin header check on all mutations |
Do not expose ClawdOS on a public IP. Use Tailscale or an SSH tunnel:
ssh -L 3000:127.0.0.1:3000 user@your-vps
| Layer | Technology |
|---|---|
| Framework | Next.js 16 (App Router, React Server Components) |
| UI | React 19, Tailwind CSS 4 |
| Language | TypeScript 5 (strict) |
| Database | PostgreSQL 16 with Row-Level Security |
| DB Client | Raw pg — no ORM, parameterized queries only |
| Auth | iron-session + Argon2id |
| Validation | Zod 4 |
| AI Runtime | OpenClaw gateway (OpenAI-compatible, SSE streaming) |
| Rich Editor | Plate v52 (headings, images, DnD, columns, tables, toggles, callouts, code blocks) |
| RSS | fast-xml-parser |
| ML | @xenova/transformers (offline embeddings for intent routing) |
| Testing | Vitest + Testing Library |
Built-in update system. Run npm run update — fetches latest via git merge, runs migrations, rebuilds, and restarts. Your data and config are never touched. Automatic rollback on failure. Database migrations also run automatically on every server startup, so schema changes apply even after a manual restart.
UI banner appears when updates are available. Auto-checks every 6 hours with auto-host.sh.
src/
app/(app)/ # Auth-protected pages
today/ # Dashboard
tasks/ # Task management
notes/ # Notes with rich editor
news/ # RSS aggregator
deliveries/ # Package tracking
settings/ # User settings & skills
app/api/
ai/chat/ # OpenClaw proxy + action executor
uploads/ # Image upload for notes
currencies/ # Crypto & fiat rates
webhooks/ # External service callbacks
components/
shell/ # App shell, AI panel, command palette
editor/ # Plate v52 rich text editor (14 files)
# NoteEditor, EditorToolbar, MobileToolbar, SlashCommandMenu
# DraggableBlock, TableComponents, ImageElement, ColumnElements
# TodoElement, ToggleElement, EmojiPicker, BlockExitPlugin
dashboard/ # Dashboard widgets
lib/
db/repositories/ # Raw pg queries with RLS
ai/ # Intent routing, actions, streaming
auth/ # Sessions, passwords, 2FA
db/
schema.sql # Baseline schema
migrations/ # Incremental SQL migrations (001-015: core, tasks, news, deliveries, notes)
See CONTRIBUTING.md for the full technical guide: architecture, design tokens, project structure, quality gates, and development setup.
Quick links: RULES/ (developer guide, 10 files) | CLAUDE.md (AI agent entry point)
- OpenClaw — The AI agent runtime that powers ClawdOS
- ClawdHub — Skill marketplace and registry for OpenClaw
MIT — free to use, modify, and self-host. Contributions welcome.





