Skip to content
 
 

Repository files navigation

Nerve

Nerve

The cockpit for your OpenClaw agents.

MIT License Node 22+ Discord

curl -fsSL https://raw.githubusercontent.com/daggerhashimoto/openclaw-nerve/master/install.sh | bash

What is Nerve?

You 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.

Why Nerve?

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, or monitor token spend from a Telegram window. Nerve is the dashboard that gives you the full picture.

Nerve Demo

What makes it different

Voice that actually works

Talk to your agent. It talks back. Wake-word activation, on-device Whisper transcription with model selection (tiny, base, small) and GPU detection. No API key needed. Multi-provider TTS with Edge, OpenAI, and Replicate.

Full workspace visibility

Your sub-agent sessions, workspace files, memory, config, tools. All visible, all editable, all live. No file hunting, no guessing what it remembers.

Live charts from a chat message

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.

Cron and scheduling from the UI

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.

Everything else

Streaming chat Markdown, syntax highlighting, diff views, image paste, file previews. All rendering as it streams
File browser Browse your workspace, open files in tabs, edit with syntax highlighting. Real-time sync when your agent edits files
Multi-session Session tree with sub-agents, per-session model overrides, unread indicators
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 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

Get Started

One command

curl -fsSL https://raw.githubusercontent.com/daggerhashimoto/openclaw-nerve/master/install.sh | bash

The installer handles dependencies, cloning, building, and launching. It runs a setup wizard that auto-detects your gateway token and walks you through configuration.

Manual install

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 server

Development

npm run dev            # frontend — Vite HMR on :3080
npm run dev:server     # backend — watch mode on :3081

Requires: Node.js 22+ and an OpenClaw gateway.

How it works

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

Security

Nerve binds to 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 cookiesHttpOnly, SameSite=Strict, HMAC-SHA256 signed
  • Password storage — scrypt with 32-byte salt
  • WebSocket auth — cookie verified on upgrade
  • Gateway token fallback — works as a password with zero config

See Security for the full threat model.

Docs

Architecture How the codebase is organized
Configuration Every .env variable explained
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

Community

Join the Nerve Discord — get help, share your setup, report bugs, and follow development.

License

MIT

About

Self-hosted web UI for AI agents — voice chat, live workspace editing, charts, cron scheduling. Built for OpenClaw.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages