Skip to content

Open the dashboard

After hivecast install finishes, the Host is already serving a set of webapps. This page is a tour: which URL does what, what to look for in each, and what proves the whole setup is healthy.

The default webapps and their roles

The default install brings up ten runtimes (hivecast.mjs:28-39); seven of them serve a webapp:

URLWebappRole
http://127.0.0.1:3100/apps/web/matrix-webAccount/platform shell. Plays the HiveCast-platform role in the two-runtime dev topology
http://127.0.0.1:3100/apps/edge/matrix-edgeLocal-Device shell. Plays the personal-Device role
http://127.0.0.1:3100/apps/director/DirectorThe cognitive-infrastructure dashboard, agent inspection, workstream view
http://127.0.0.1:3100/apps/chat/ChatHuman/agent chat with inference
http://127.0.0.1:3100/apps/flowpad/FlowPadA scratchpad surface
http://127.0.0.1:3100/apps/smithers/SmithersSmithers — the cognitive infrastructure assistant
http://127.0.0.1:3100/apps/inference-settings/Inference SettingsConfigure inference providers (Anthropic OAuth, Codex, OpenAI, Ollama, etc)

If you want a different host:port (e.g. you pinned --http-port 3101), substitute it.

The wrapper computes the Edge URL from host.status.json if present, else from host.json's http.host and http.port, falling back to 127.0.0.1:3100 (localEdgeUrlForStatus in hivecast.mjs:735-747).

What to verify in each shell

matrix-edge — /apps/edge/

The Device shell. Should show:

  • this Device's hostName (or installId if unlinked) at the top
  • a runtimes list — one card per runtime in system.runtimes
  • a packages list — what's in <MATRIX_HOME>/packages/global/node_modules/
  • a Connect / Link control if not yet paired

The browser opens a WebSocket to /nats-ws (same origin), connects to the local NATS, and subscribes to system.runtimes and system.devices. If the runtimes list stays empty, the WebSocket isn't connecting — see Troubleshooting → NATS connection failed.

matrix-web — /apps/web/

The platform shell. In the two-runtime dev topology this plays the role hivecast.ai plays in production. Should show:

  • the navbar, status bar, auth gate
  • a "no auth required" path on a local-client Host (loopback session is the local owner)
  • a Devices list (when you have any)
  • a "Connect to HiveCast" dashboard button (the wiring for this is target state — see WORKSTREAMS/product-launch/STATUS.md)

Director — /apps/director/

The cognitive-infrastructure dashboard. Should show a session list, agent inventory, and a chat-style interaction surface.

Chat — /apps/chat/

The chat surface. Sends to one of the configured inference providers. Will not work unless inference is configured (see Inference Settings).

Inference Settings — /apps/inference-settings/

Configure the inference providers used by Chat / Director. Choices: Anthropic OAuth, Codex, OpenAI, Ollama. All credentials stay local — Factotum is the only actor that reads/writes them, and they never leave the Device.

The auth flows are local:

ProviderMethodWhere credentials end up
Anthropic OAuthBrowser → 127.0.0.1 callback → Factotum<host-home>/credentials/factotum/*
CodexBrowser → 127.0.0.1 callback → FactotumSame
OpenAIAPI key pasteSame
OllamaURL + optional model<host-home>/credentials/factotum/*

Source: CLAUDE.md Rule 4: "Credentials go through Factotum ONLY. Inference credentials NEVER leave the local machine."

What proves the install is healthy

You should be able to:

  1. Open /apps/edge/ and see a list of runtimes
  2. Open /apps/director/ and see the dashboard render (no perpetual spinner)
  3. Run hivecast doctor and get ok: true
  4. Run hivecast invoke system.runtimes runtimes.list '{}' and get a list with the same runtimes

Concrete invoke check:

bash
hivecast invoke system.runtimes runtimes.list '{}' --home /tmp/matrix-home
hivecast invoke system.devices devices.list '{"includeOffline":true}' --home /tmp/matrix-home

If the actor surface returns successfully, the bus path is healthy. If invoke errors with "Matrix Host Service is not running" or ECONNREFUSED, the bus path is broken — see Troubleshooting → NATS connection failed.

Common confusions

  • "The page loads but spinner never resolves." → almost always the browser-to-NATS WebSocket. Check <host-home>/logs/runtimes/RUNTIME-HOST-...-GATEWAY.stderr.log and the browser console for nats-ws connection errors.
  • "I see a 404." → the gateway runtime didn't pick up the route. Check hivecast runtimes for the gateway and the webapp runtime; if the webapp has --serve but no record of routePrefix, the runtime didn't register the route. Restart it.
  • "It works at 127.0.0.1 but not from another machine." → the Host bound to 127.0.0.1, not 0.0.0.0. By default that's correct; containers detected via /proc/1/cgroup automatically bind to 0.0.0.0. To change explicitly, edit host.json http.host and restart.

See also

Source: projects/matrix-3/packages/hivecast/bin/hivecast.mjs lines 28-39 (default runtimes that produce the webapps) and 735-747 (localEdgeUrlForStatus); CLAUDE.md Rule 4 (Factotum / credentials boundary).