Skip to content

Syce Overview

Syce is a real-time terminal UI (TUI) for monitoring Horsies workers, tasks, and workflows. Built in Rust with ratatui, it connects directly to the Horsies PostgreSQL database and renders live cluster state in the terminal.

Terminal window
cargo install syce
Terminal window
cd syce
cargo build --release

The binary is at target/release/syce.

Syce needs the same PostgreSQL database URL used by Horsies workers.

Terminal window
export DATABASE_URL="postgresql://user:pass@localhost:5432/mydb"
syce
Terminal window
syce --database-url "postgresql://user:pass@localhost:5432/mydb"
.env
DATABASE_URL="postgresql://user:pass@localhost:5432/mydb"
FlagDefaultDescription
--database-url, -d$DATABASE_URLPostgreSQL connection string
--tick-rate, -t4.0Data refresh rate (ticks per second)
--frame-rate, -f60.0UI render rate (frames per second)

Syce organizes monitoring into five tabs, accessible via number keys 1-5.

Cluster-level overview:

Syce Dashboard

  • Cluster Capacity — Active workers, total capacity, utilization percentage, running tasks
  • Task Status Distribution — Breakdown by status (Pending, Claimed, Running, Completed, Failed)
  • Workflow Summary — Workflow counts by status
  • Utilization Trend — Braille line chart of cluster utilization over the past hour
  • Active Alerts — Overloaded workers and stale claim warnings

Per-worker monitoring:

Syce Workers Tab

  • Worker list with hostname, PID, process count, running/claimed tasks, CPU/memory usage, uptime
  • Select a worker to see detailed metrics and load charts
  • Adjustable time window for charts: 5m, 30m, 1h, 6h, 24h

Task distribution and inspection:

Syce Tasks Tab

  • Aggregated task breakdown by worker
  • Status filters (Pending, Claimed, Running, Completed, Failed)
  • Expand a worker row to see individual task IDs
  • Task detail modal with full JSON payload
  • Copy task data to clipboard

Workflow tracking:

Syce Workflows Tab

  • Workflow list with ID, name, status, task count, progress
  • Status filters (Pending, Running, Completed, Failed, Paused, Cancelled)
  • Workflow detail modal showing constituent tasks and their states
  • Copy workflow data to clipboard

Syce Workflow Detail

Operational health:

  • Snapshot age distribution (histogram of worker state freshness)
  • Dead worker detection
KeyAction
1-5Switch tab
/Search (context-aware)
?Toggle help overlay
rRefresh current tab
tCycle theme
q, EscQuit
Ctrl+zSuspend to background
KeyAction
Up/DownSelect worker
[, ]Cycle time window (5m / 30m / 1h / 6h / 24h)
KeyAction
Up/DownNavigate workers / task IDs
EnterExpand row / open task detail
EscCollapse expanded row
yCopy task JSON to clipboard (in detail view)
KeyAction
pToggle Pending
cToggle Claimed
uToggle Running
oToggle Completed
fToggle Failed
aSelect all statuses
nClear all statuses
KeyAction
Up/DownNavigate workflows
EnterOpen workflow detail
EscClose detail
yCopy workflow JSON to clipboard

Syce ships with Catppuccin color themes. Press t to cycle through available flavors (Latte, Frappe, Macchiato, Mocha) with automatic light/dark detection.

Syce reads from the same PostgreSQL tables Horsies workers write to:

TablePurpose
horsies_worker_statesWorker state snapshots (captured every 5s)
horsies_tasksTask records with status, arguments, results
horsies_heartbeatsTask liveness heartbeats
horsies_workflowsWorkflow definitions and status