Skip to main content
vigie docs GitHub ↗

How it works

One local Bun daemon spawns your agent, captures every event, and streams it to a local dashboard.

vigie runs a single Bun daemon process on your machine. No remote servers, no cloud, no external dependencies. Everything stays local.

The single-process architecture

When you start vigie daemon start, a Bun process wakes up and does three things:

  1. Embeds an HTTP + WebSocket server on localhost:19191 that serves the dashboard (React SSR)
  2. Listens for CLI commands over a Unix socket at ~/.vigie/daemon.sock
  3. Spawns and supervises agent sessions via PTY (pseudo-terminal)

Event capture

Every time your agent runs, vigie captures:

All events stream through WebSocket to the dashboard instantly.

Data storage

Sessions, terminal chunks, and input history live in SQLite at ~/.vigie/data.db — a single local file. No network sync, no cloud backup, no telemetry.

The flow

Browser (localhost:19191)
    ↓↑ HTTP + WebSocket
Daemon (single Bun process)
    ↓↑ PTY spawn
Agent (Claude Code, aider, codex, ...)
    ↓↑ stdin/stdout/stderr
Your project files

Your CLI command → Unix socket → Daemon → spawns agent → captures output → stores in SQLite → streams to browser.

Nothing leaves your machine.

Where to next