curl -fsSL https://raw.githubusercontent.com/daggerhashimoto/openclaw-nerve/master/install.sh | bashYou can already chat with your OpenClaw agent through webchat, Telegram, WhatsApp, Discord. Nerve is what you open when chatting isn't enough.
Nerve is a self-hosted web UI for OpenClaw AI agents. Voice conversations, live workspace editing, inline charts, cron scheduling, and full token-level visibility. One install script. Running in 30 seconds.
Messaging channels are great for chatting. But you can't watch charts render in real-time, edit your agent's workspace mid-conversation, browse its files, manage tasks on a kanban board, or monitor token spend from a Telegram window. Nerve is the dashboard that gives you the full picture.
Talk to your agent in 12 languages. Explicit language selection (no flaky auto-detect), wake-word activation, per-language stop/cancel phrases, and on-device Whisper transcription with model selection (tiny, base, small) plus GPU detection. No API key needed. Multi-provider TTS with Edge, OpenAI, and Replicate.
Your sub-agent sessions, workspace files, memory, config, tools. All visible, all editable, all live. No file hunting, no guessing what it remembers.
Drag-and-drop task management with agent execution, review workflow, and proposal inbox. Create tasks, assign them to your agent, and watch the work happen — all from a visual board.
Nerve adapts cleanly across desktop, tablet, and mobile, with touch-friendly controls on smaller screens and no core workflow loss.
Your agent can drop interactive TradingView charts, candlestick plots, and data visualizations directly into the conversation. Say "show me gold this year" and get a real chart, not a code block.
Create recurring jobs and one-shot reminders. Every scheduled run shows up as its own session in the sidebar. You can watch it execute live, read the full transcript, and see exactly what it did.
| Voice I/O | Push-to-talk + wake word, live transcription preview, language-aware stop/cancel phrases, local Whisper model picker, TTS providers (Edge/OpenAI/Replicate) |
| Streaming chat | Markdown, syntax highlighting, diff views, image paste, file previews. All rendering as it streams |
| File browser | Browse your workspace, rename, move, trash, and restore files. Open files in tabs. Support for custom workspace roots via FILE_BROWSER_ROOT |
| Built-in editor | CodeMirror editor with syntax highlighting, conflict-safe saves, and automatic lock protection during concurrent agent edits |
| Multi-session | Session tree with sub-agents, per-session model overrides, unread indicators |
| Kanban board | Drag-and-drop task management with agent execution, review workflow, and proposal inbox |
| Responsive UI | Fully responsive layout across desktop, tablet, and mobile with touch-friendly controls |
| Sub-agents | Spawn background workers with custom models and reasoning levels |
| Monitoring | Token usage, context window meter, cost tracking, activity logs |
| Command palette | Cmd+K to search, switch sessions, change models. Keyboard-first |
| Search | Full-text search across all messages in the current session |
| Images | Paste from clipboard, drag & drop files, full-screen lightbox with download |
| Skills browser | Browse installed skills, check status and requirements from the workspace panel |
| Local STT | On-device Whisper — tiny, base, or small models with multilingual support, explicit language selection, GPU detection, and auto-download. No API key needed |
| Code actions | Copy or save-to-file buttons on every code block |
| API key management | Add provider keys from settings — writes to .env and hot-reloads, no restart needed |
| 14 themes | Dark, light, and everything in between. Resizable panels, custom fonts |
| Auto-updater | Built-in updater with automatic rollback. One command to update, verify, and restart |
curl -fsSL https://raw.githubusercontent.com/daggerhashimoto/openclaw-nerve/master/install.sh | bashThe installer handles dependencies, cloning, building, and launching. It runs a setup wizard that auto-detects your gateway token and walks you through configuration.
- Run everything on one machine
- Use a cloud Gateway with Nerve on your laptop
- Run both Nerve and Gateway in the cloud
git clone https://github.com/daggerhashimoto/openclaw-nerve.git
cd openclaw-nerve
npm install
npm run setup # interactive wizard — configures .env
npm run prod # builds and starts the servernpm run update -- --yesFetches the latest release, rebuilds, restarts, and verifies health. Auto-rolls back on failure. See docs/UPDATING.md for flags and details.
npm run dev # frontend — Vite HMR on :3080
npm run dev:server # backend — watch mode on :3081Requires: Node.js 22+ and an OpenClaw gateway.
Browser ─── Nerve (:3080) ─── OpenClaw Gateway (:18789)
│ │
├─ WS ──────┤ proxied to gateway
├─ SSE ─────┤ file watchers, real-time sync
└─ REST ────┘ files, memories, TTS, models
Nerve proxies WebSocket traffic to your gateway and adds its own REST layer.
Frontend: React 19 · Tailwind CSS 4 · shadcn/ui · Vite 7 Backend: Hono 4 on Node.js
Nerve binds to 127.0.0.1 (localhost) by default — only you can access it. When you expose it to the network (HOST=0.0.0.0), built-in password authentication protects all endpoints. The setup wizard auto-prompts for a password when network access is configured.
- Session cookies —
HttpOnly,SameSite=Strict, HMAC-SHA256 signed - Password storage — scrypt with 32-byte salt
- WebSocket auth — cookie verified on upgrade
- Gateway token injection — Automatically injected server-side for trusted connections
See Security for the full threat model.
| Architecture | How the codebase is organized |
| Configuration | Every .env variable explained |
| Deployment Guides | Practical guides for local, remote Gateway, and cloud setups |
| Agent Markers | TTS markers, inline charts, and how agents render rich UI |
| Security | What's locked down and how |
| API | REST and WebSocket endpoints |
| Contributing | Dev setup, code style, PRs |
| Troubleshooting | Common issues and fixes |
| Changelog | Release notes and shipped changes |
Join the Nerve Discord — get help, share your setup, report bugs, and follow development.
