# Jarvis UI

> JARVIS-style HUD web interface for OpenClaw agents. Interactive Three.js orb with agent state visualization, real-time chat via Gateway WebSocket, audio spectrum analyzer, system monitor, and TTS. Use when you want a visual dashboard for your OpenClaw agent.

- Skill: `johnalbertini14-glitch/jarvis-ui` (Agent Skill, multi-file: 56 files)
- Install (CLI): `npx skillmds@latest add johnalbertini14-glitch/jarvis-ui`
- Raw SKILL.md: https://api.skillmd.com/api/skills/johnalbertini14-glitch/jarvis-ui/raw
- Safety review: pending (external: skill-scanner PASS, skillspector CAUTION)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: johnalbertini14-glitch (https://skillmd.com/u/johnalbertini14-glitch)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/johnalbertini14-glitch/jarvis-ui

---


# 🦾 JARVIS UI

A JARVIS-style HUD interface for your OpenClaw agent.

## Install

```bash
./setup.sh
```

Gateway token is auto-detected from `~/.openclaw/openclaw.json`.

> **⚠️ Remote/non-localhost access:** If JARVIS server is accessed from a different machine (not localhost), add this to your `~/.openclaw/openclaw.json`:
> ```json
> { "gateway": { "controlUi": { "allowInsecureAuth": true } } }
> ```
> Then restart OpenClaw Gateway.

Then start:

```bash
node --env-file=.env server/index.js
```

Open `http://localhost:9999`

## Customize

Copy and edit `config.local.json`:

```bash
cp config.json config.local.json
```

| Field | Description | Default |
|-------|-------------|---------|
| `name` | Page title | JARVIS |
| `agent.name` | Agent display name | JARVIS |
| `agent.emoji` | Agent emoji | 🤖 |
| `agent.sessionKey` | OpenClaw session key | agent:main:main |
| `server.port` | Server port | 9999 |
| `tts.voice` | macOS TTS voice | Samantha |

## Production

```bash
npm i -g pm2
pm2 start server/index.js --name jarvis --node-args="--env-file=.env"
pm2 save
```

## Features

- 🔮 Three.js orb — reacts to agent state (thinking/speaking/idle)
- 💬 Real-time chat — Gateway WebSocket relay
- 🎵 Audio visualizer — spectrum, ring, waveform
- 📊 Model status — live token usage, model info
- 🖥️ System monitor — CPU, memory, uptime
- 🗣️ TTS — Edge TTS (free, cross-platform) + macOS `say` (offline)
- 📱 Mobile responsive + PWA

## Requirements

- Node.js 20+
- OpenClaw Gateway running locally
- Python 3 + `edge-tts` (`pip install edge-tts`) for TTS
- ffmpeg (optional, macOS `say` engine only)

