MCPcopy Index your code
hub / github.com/daggerhashimoto/openclaw-nerve

github.com/daggerhashimoto/openclaw-nerve @v1.5.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.5.3 ↗ · + Follow
1,929 symbols 5,069 edges 438 files 142 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Nerve

Nerve

The cockpit OpenClaw deserves.

OpenClaw is powerful. Nerve is the interface that makes people say “oh, now I get it."

Star Nerve on GitHub MIT License Discord

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

Run the installer, live in 60 seconds

https://github.com/user-attachments/assets/25d65a85-1d42-45bc-baae-5e6fca531705

Mobile Screenshots
Nerve screenshot 1 Nerve screenshot 2 Nerve screenshot 3

Why Nerve exists

Chat is great for talking to agents. It is not enough for operating them.

The moment you care about visibility, control and coordination over your agents, the thread gets too small. You want the workspace, sessions, taskboard, editor, usage, and agent context in one place.

Nerve is that place.

Why it feels different

✨ Fleet control, not just chat

Run multiple agents from one place. Each agent can have its own workspace, subagents, memory, identity, soul, and skills, while Nerve gives you a single control plane to switch context, inspect state, and operate the whole fleet.

✨ Voice that feels built in

Push-to-talk, wake word flows, explicit language selection, local Whisper transcription, multilingual stop and cancel phrases, and multiple TTS providers. Voice is part of the product, not an afterthought.

✨ Full agent operating context

Each agent can have its own workspace, memory, identity, soul, and skills. Nerve lets you inspect, edit, and manage that context live, without guessing what an agent knows, where it works, or how it is configured.

✨ A real operating layer

Crons, session trees, kanban workflows, review loops, proposal inboxes, and model overrides. Nerve gives agent work an operating surface instead of leaving it trapped inside chat history.

✨ Rich live output

Charts, diffs, previews, syntax-highlighted code, structured tool rendering, and streaming UI that makes agent responses easier to inspect.

What you can do with it

  • Talk to your agent by voice and hear it answer back naturally
  • Browse and edit the workspace live while the conversation is still happening
  • Watch cron runs as separate sessions instead of treating automation like a black box
  • Delegate work onto a kanban board and review what came back
  • Ask for a chart and get a real chart, not a code block pretending to be one
  • Track token usage, costs, and context pressure while long tasks run
  • Inspect subagent activity without losing the main thread
  • Switch between per-agent workspaces and memory without losing context
  • Inspect each agent’s identity, soul, and skills from the UI
  • Delegate subagent work inside a larger agent fleet instead of treating everything as one thread

Capability snapshot

Area Highlights
Agent fleet Run multiple agents from one control plane, each with its own workspace, subagents, memory, identity, soul, and skills
Interaction Streaming chat, markdown, syntax highlighting, diff views, image paste, file previews, voice input, TTS, live transcription preview
Workspace Per-agent file browser, tabbed editor, memory editing, config editing, skills browser
Operations Session tree, subagents, cron scheduling, kanban task board, review flow, proposal inbox, model overrides
Observability Token usage, cost tracking, context meter, agent logs, event logs
Polish Command palette, responsive UI, 14 themes, font family and 10px to 24px font size controls, mobile-safe input sizing, hot-reloadable settings, updater with rollback
## Get started

One command

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

The installer handles dependencies, clone, build, and then usually hands off straight into the setup wizard. Guided access modes include localhost, LAN, Tailscale tailnet IP, and Tailscale Serve.

Pick your setup

  • Local — Run Nerve and Gateway on one machine. Recommended default setup for reliability and simplicity.
  • Hybrid — Keep Nerve local, run Gateway in the cloud
  • Cloud — Run Nerve and Gateway in the cloud

Manual install

git clone https://github.com/daggerhashimoto/openclaw-nerve.git
cd openclaw-nerve
npm install
npm run setup
npm run prod

Updating

npm run update -- --yes

Fetches the latest release, rebuilds, restarts, verifies health, and rolls back automatically on failure.

Development

npm run dev # frontend — Vite on :3080 by default
PORT=3081 npm run dev:server # backend — explicit split-port dev setup

npm run dev:server uses the normal server PORT setting. If you do not override it, the backend also defaults to :3080 and will collide with Vite.

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

How it fits into OpenClaw

Nerve sits in front of the gateway and gives you a richer operating surface in the browser.

Browser ─── Nerve (:3080) ─── OpenClaw Gateway (:18789)
 │           │
 ├─ WS ──────┤ proxied to gateway
 ├─ SSE ─────┤ file watchers, real-time sync
 └─ REST ────┘ files, memories, TTS, models

OpenClaw remains the engine. Nerve gives it a cockpit.

Frontend: React 19 · Tailwind CSS 4 · shadcn/ui · Vite 7 Backend: Hono 4 on Node.js

Security

Nerve binds to 127.0.0.1 by default, so it stays local unless you choose to expose it.

When you bind it to the network (HOST=0.0.0.0), built-in password authentication protects the UI and its endpoints. Sessions use signed cookies, passwords are stored as hashes, WebSocket upgrades are authenticated, and trusted connections can use server-side gateway token injection.

For the full threat model and hardening details, see docs/SECURITY.md.

Documentation

Community

If this is the kind of interface you want around your OpenClaw setup, give the repo a star, contribute and keep an eye on it.

Join the Nerve Discord to get help, discuss, share your setup, and follow development.

People building Nerve

Contributors

License

MIT

Extension points exported contracts — how you extend this code

ServiceManager (Interface)
(no doc) [4 implementers]
server/lib/updater/types.ts
ResizablePanelsProps (Interface)
Props for ResizablePanels.
src/components/ResizablePanels.tsx
SpeechRecognitionEvent (Interface)
* Type declarations for the Web Speech API (SpeechRecognition). * Not included in TypeScript's default DOM lib types.
src/features/voice/speech-recognition.d.ts
ReplicateModelDef (Interface)
Registry of supported Replicate TTS models.
server/services/replicate-tts.ts
AppProps (Interface)
(no doc)
src/App.tsx
GranularAgentState (Interface)
(no doc)
src/types.ts
Theme (Interface)
(no doc)
src/lib/themes.ts
MockGatewayOptions (Interface)
(no doc)
src/test/mock-gateway.ts

Core symbols most depended-on inside this repo

getWorkspaceStorageKey
called by 136
src/features/workspace/workspaceScope.ts
warn
called by 74
server/lib/updater/types.ts
isBinary
called by 63
server/lib/file-utils.ts
close
called by 59
src/test/mock-gateway.ts
getSessionKey
called by 44
src/types.ts
success
called by 41
scripts/lib/banner.ts
sanitizeHtml
called by 40
src/lib/sanitize.ts
executeTask
called by 39
server/lib/kanban-store.ts

Shape

Function 1,356
Interface 374
Method 129
Class 70

Languages

TypeScript100%

Modules by API surface

server/lib/kanban-store.ts77 symbols
server/lib/file-ops.ts34 symbols
server/lib/subagent-spawn.ts32 symbols
server/lib/beads.ts31 symbols
scripts/lib/gateway-detect.ts29 symbols
server/routes/kanban.ts28 symbols
server/lib/updater/types.ts27 symbols
src/features/file-browser/hooks/useOpenFiles.ts26 symbols
src/features/chat/InputBar.tsx25 symbols
src/types.ts22 symbols
src/test/mock-gateway.ts21 symbols
src/features/markdown/MarkdownRenderer.tsx21 symbols

For agents

$ claude mcp add openclaw-nerve \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact