hyperhive/docs/web-ui.md
iris 5c2cae41a2 feat: rename matrix-accounts page to credentials, add github PAT tab
Part 2 of hyperhive#1970 (backend/CLI landed in PR #2378). Renames
/matrix-accounts.html -> /credentials.html and restructures it with a
sub-tab strip (MATRIX / GITHUB), reusing the shared @hive/shared/tabs.js
tab strip already used by /logs.html.

MATRIX tab carries over the existing account list + login form
unchanged. GITHUB tab adds a single-PAT provisioning form: status line
(present/absent, read from GET /api/github-account), a security-warning
banner (dedicated bot account + minimally-scoped token), a link to
generate a PAT at github.com/settings/tokens, and a paste-token form
posting to POST /api/github-account. Both tabs share one agent picker.

Updated docs/web-ui.md + docs/web-ui/dashboard.md to describe the new
page shape, and the H0M3 hub tile (index.html) to point at the renamed
page.
2026-07-11 12:40:13 +02:00

2.3 KiB

Web UI

Two web surfaces share the same skeleton: the dashboard (port 7000) and the per-agent UIs (every container hashes into :8100-8999 via lifecycle::agent_web_port's FNV-1a). Both are SPAs — GET / returns a static shell, /api/state returns JSON, JS renders. No full-page reloads.

This doc has been split for readability. Pick the section you need:

  • Shape (shared by both) — shared SPA skeleton, SSE multiplexing, terminal pane, listener bind, per-agent relative paths, data-async form pattern, side panel, atomic repaint.
  • Dashboard layout — tab contents (SW4RM, Y3R C4LL, P3RM1SS10NS, SCH3DUL3S) + standalone pages (C0R3 /core.html, BU1LDS /builds.html, L0GS /logs.html, CR3D3NTIALS /credentials.html), container row, topology tree, selection bar, approval card, browser notifications, dashboard endpoints + event channel.
  • Per-agent page — header, main terminal, composer, side panel + inbox, live view, slash commands, per-agent endpoints, stats page.
  • CSS theme variables — the Catppuccin Mocha custom properties declared once in base.css and the rule that per-page stylesheets reference (never redeclare) them.

Reading paths

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