Skip to content

Console

The Console is a React/Vite app in console/ that talks only to /api. It is not served by sbx serve; run it next to the control plane.

Terminal window
cd console
npm ci
SBX_API_PROXY_TARGET=http://127.0.0.1:8800 npm run dev # http://localhost:5174
npm run typecheck && npm test && npm run build

Set SBX_PUBLIC_URL and SBX_ALLOWED_ORIGINS on the control plane to the origin you open in the browser; cookie mutations from other origins are rejected with csrf_failed.

  • Home: the setup checklist (account, Modal, GitHub, OpenCode Zen; Codex optional) and the composer for a new Session. It defaults to the OpenCode Harness, the preferred free model and Modal once a Modal Connection exists.
  • Sessions: the list and the Session view with Conversation, Activity, Changes (ChangeSets, Deliveries, merge eligibility), Files, Terminal, Services and Child Sessions tabs.
  • Projects: reusable repository and environment configuration.
  • Connections: add, validate, replace and disconnect, with write-only secret fields.
  • Settings: identity, API keys (plaintext shown once) and preferences.
  • It renders server fields and never re-derives turn outcomes, connection health, merge eligibility or review validity. Merge sends the server’s pins.
  • One store holds the snapshot and its watermark, replays events by sequence, dedupes by seq and resyncs on gaps.
  • Secrets never enter web storage; caches are purged on logout.
  • Compute is never started implicitly. When the executor is unavailable, Files, Terminal and Services show a diagnosis instead.
  • Retry buttons name what they retry: Turn, Delivery or validation.

The Terminal polls for output. Service preview is not available because no preview origin is configured.