Web UI

elasticclaw-web is an optional real-time dashboard for managing agents, streaming conversations, and accessing terminals.

Overview

The web UI provides a browser-based interface for everything you can do with the CLI — plus real-time streaming of agent output, an in-browser SSH terminal, and a conversation history view.

Features:

  • List and manage all running agents
  • Stream agent conversations in real time (WebSocket)
  • In-browser SSH terminal via xterm.js
  • View agent logs and status
  • Create and destroy agents via the UI

Installation

bash
brew install elasticclaw/elasticclaw/elasticclaw-web

# or via npm
npm install -g @elasticclaw/web

Configuration

Enable the web server in your hub.yaml:

yaml
web:
  enabled: true
  port: 8080
  host: 0.0.0.0          # bind address
  auth_token: ${ELASTICCLAW_WEB_TOKEN}
  tls:
    enabled: false         # set true + provide cert/key for HTTPS
    cert: ./tls/cert.pem
    key: ./tls/key.pem

Set the auth token:

bash
export ELASTICCLAW_WEB_TOKEN=$(openssl rand -hex 32)

Starting the Server

bash
# Start with hub config in current directory
elasticclaw-web start

# Or point to a specific hub config
elasticclaw-web start --hub /path/to/hub.yaml

# With the main CLI (if web is enabled in hub.yaml)
elasticclaw serve

Open http://localhost:8080 and authenticate with your token.

Do not expose the web UI publicly without TLS and a strong auth token. The terminal access is equivalent to SSH into your agent VMs.