Skip to content

Latest commit

 

History

History
91 lines (59 loc) · 2.76 KB

File metadata and controls

91 lines (59 loc) · 2.76 KB

Web UI

CAO includes a web dashboard for managing agents, terminals, and flows from the browser.

CAO Web UI

When you need Node.js

The pre-built Web UI is bundled inside the CAO wheel (at src/cli_agent_orchestrator/web_ui/), so a regular uv tool install ships everything you need. You do not need Node.js or npm install to use the Web UI.

Node.js 18+ is only required if you want to:

  • Run the frontend dev server for hot-reload development (Option A below), or
  • Rebuild the bundle from source.

Install Node only if one of those applies:

# macOS (Homebrew)
brew install node

# Ubuntu/Debian
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo bash -
sudo apt-get install -y nodejs

# Amazon Linux 2023 / Fedora
sudo dnf install nodejs20

# Verify
node --version   # 18 or higher

Starting the Web UI

Option A: Development mode (hot-reload, two terminals)

# Terminal 1 — start the backend server
cao-server

# Terminal 2 — start the frontend dev server
cd web/
npm install        # First time only
npm run dev        # Starts on http://localhost:5173

Open http://localhost:5173 in your browser.

Option B: Production mode (single server, no Vite needed)

The built Web UI is bundled into the CAO wheel, so a plain uv tool install ships everything you need. Just start the server:

cao-server

Open http://localhost:9889 in your browser.

To rebuild the frontend from source:

cd web/
npm install && npm run build   # Outputs to src/cli_agent_orchestrator/web_ui/
uv tool install . --reinstall

Custom host/port: cao-server --host 0.0.0.0 --port 9889 exposes the server to the network — see Security in the root README before doing this.

Remote machine access

If you are running CAO on a remote host (e.g. a dev desktop), forward the ports over SSH:

# Dev mode (proxy both frontend and backend)
ssh -L 5173:localhost:5173 -L 9889:localhost:9889 your-remote-host

# Production mode (backend serves UI directly)
ssh -L 9889:localhost:9889 your-remote-host

Then open the same URLs (localhost:5173 or localhost:9889) in your local browser.

Features

Manage sessions, spawn agents, create scheduled flows, configure agent directories, and interact with live terminals — all from the browser. Includes live status badges, an inbox for agent-to-agent messaging, output viewer, and provider auto-detection.

Related