Watch
0
0
Fork
You've already forked hyperhive
0
hyperhive/docs/web-ui
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-21 23:56:30 +02:00
..
agent.md rename claude.md to agents.md for agents and the repo 2026-10-18 02:33:06 +02:00
css-vars.md dashboard: remove the L0GS page and its journal backend 2026-10-12 01:26:33 +02:00
dashboard.md hive-c0re: hive warnings reach the operator as metrics and alerts, not a banner 2026-10-21 17:52:53 +02:00
design-guide.md swarm-ui: add CheckboxField and use it for the issue report toggle and the account delete option 2026-10-21 23:56:30 +02:00
README.md dashboard: serve the dashboard at /, fold kept state in as a tab, add a pages menu 2026-10-16 20:02:28 +02:00
shape.md dashboard: serve the dashboard at /, fold kept state in as a tab, add a pages menu 2026-10-16 20:02:28 +02:00
terminal-rendering.md swarm-ui: a hide debug output toggle in the header's settings menu 2026-10-12 21:41:23 +02:00

Dashboard & Web UI

The per-hive dashboard: container state and the rebuild queue for one hive. For swarm-wide day to day, see the swarm UI instead. If you want implementation detail — wire formats, DOM structure, event plumbing — see Dashboard layout, Per-agent page, Shape, and CSS theme variables below; this page only covers what you actually do here.

Where things are

Everything starts at the dashboard, served at /. A pages menu (the ☰ button at the left of the tab strip) links to the other surfaces — Flow, Stats, the API docs and the swarm UI — and each of those pages links back to the dashboard.

The dashboard is where you'll spend most of your time. It's a single page with five tabs:

  • 4G3NTS — every agent, live. This is the default tab and the one you'll check most.
  • R3BU1LD QU3U3, M3T4 1NPUTS and BUILD L0GS — the build lifecycle: the rebuild queue with a live log of whatever is building, the meta flake inputs you can bump, and the build log history.
  • K3PT ST4T3 — kept state from agents with no container (tombstones), with a purge button per entry.

Two things live on their own page instead, reached from the pages menu: Flow (/flow.html, the raw live message stream across the whole swarm) and Stats (/stats.html, swarm-wide usage stats).

Each agent also has its own page — a full terminal view of that agent's session, reachable by selecting its name anywhere in the dashboard, or directly at /agent/<name>/ (or http://<host>:<port>/ if the gateway isn't in front).

The things you'll actually do

Check on an agent. 4G3NTS shows every container as a row: name, whether it's running, what it's currently doing (a live status pill — rebuilding…, starting…, or similar — while something's in flight), and quick links (stats, screen, forge profile). Select the name to open its terminal and watch it work in real time.

Review a config change. Agent config changes (new packages, env vars, MCP servers) are pull requests on the agent's agent-configs repo. Review and merge them on the forge; the merge deploys the change. See config-changes.md.

Start, stop, restart, or rebuild an agent. Select one or more agents on 4G3NTS (select the icon) and use the selection bar, or use the per-agent ⋮ menu on a single row. Rebuilding re-applies that agent's current config; use it whenever an agent shows as "needs update."

Watch a build. The dashboard's R3BU1LD QU3U3 tab shows the rebuild queue live, plus a streaming log of whatever's currently building. Useful right after merging a config change or bumping a flake input.

Grant or revoke a permission. Not on the hive dashboard: an agent's permissions live in the swarm. Set them with swarmctl agent permissions, or on the swarm UI's create-agent screen when creating the agent; see process/conventions.md.

Read an agent's logs. Logs aren't in the hive dashboard. Every hive ships its agents', daemons' and infra containers' journals to the swarm's VictoriaLogs; read them in Grafana's Explore — see swarm/services.md.

Set up a schedule. Scheduled prompts are swarm-level: set them with swarmctl schedule (swarm/schedules.md) or on the swarm UI's schedules page (swarm/ui.md).

More depth

Both the dashboard and the per-agent pages are SPAs sharing one skeleton: GET / returns a static shell, /api/state returns JSON, JS renders — no full-page reloads.

  • Dashboard layout — every tab and standalone page, in full implementation detail: endpoint shapes, event wiring, exact badge-derivation rules.
  • Per-agent page — the per-agent terminal, composer, side panel, slash commands, and per-agent endpoints.
  • Shape (shared by both) — the SPA skeleton, SSE multiplexing, terminal pane, listener bind, per-agent relative paths, data-async form pattern, side panel, atomic repaint.
  • CSS theme variables — the Catppuccin Mocha custom properties declared once in base.css and the rule that per-page stylesheets reference (never redeclare) them.
  • swarm-ui design guide — visual language, motion, theming, error-UX, and component-first principles for the swarm-level Preact app specifically (not this page's dashboard/agent UIs). /components on a running swarm-ui is the companion living demo of every primitive it references.

Implementation reading paths

Task-oriented jumps straight to the relevant section, for when you're touching the code rather than using the UI:

  • "How does the dashboard SPA stay live without polling?" → shape.md (SSE multiplexing, Worker-death self-heal, atomic repaint).
  • "What does a container row contain?" → dashboard.md (Container row, Selection bar).
  • "What endpoints does the dashboard expose?" → dashboard.md (Dashboard endpoints, Dashboard event channel).
  • "How does the per-agent terminal render tool calls?" → terminal-rendering.md (full row taxonomy and dispatch walkthrough); for a high-level summary see agent.md (Per-stream rendering).
  • "What slash commands does the agent accept?" → agent.md (Terminal-embedded prompt).
  • "What are the per-agent HTTP endpoints?" → agent.md (Per-agent endpoints).
  • "Which CSS variable do I use / where are colours defined?" → css-vars.md (Palette, single-source base.css rule).