Skip to main content

alphaswarm-client

The frontend for local power users — operators running AlphaSwarm on a laptop, in a tower cluster, or inside a self-hosted cell. It bundles a React 19 + Vite SPA, the legacy Solara research UI, and a thin FastAPI gateway that proxies to alphaswarm-core and alphaswarm-cp.

This is not the cloud customer dashboard — that is alphaswarm-ui, which targets app.alpha-swarm.ai.

Identity

FieldValue
Service idalphaswarm-client
Rolefrontend
Packagealphaswarm_client/
Image (key)frontend
Built fromalphaswarm_client/Dockerfile (3-stage: ui-builder → solara-builder → production) and Dockerfile.tf (Terraform-built variant)

Wire

FieldValue
ProtocolHTTP/1.1 + WebSocket
Port80 (container) → 3000 (host, local dev)
HealthGET /
Public URLper-cell ingress (e.g. https://aqp.<cell>.alpha-swarm.ai); local dev http://localhost:3000

Deployment surfaces

SurfaceWhere
Composeservice client in alphaswarm_platform/compose/docker-compose.yml; alphaswarm-client in deployments/compose/docker-compose.local.yml
Kustomizedeployments/kubernetes/base/alphaswarm-client/ — Deployment + Service + HPA + PDB
AQP CRAQPClient

Dependencies

Upstream (HTTP):

  • alphaswarm-core (/api/*, /ws/*) — every business call.
  • alphaswarm-cp (/manage/*, /auth/*) — workload lifecycle and identity.

Downstream:

  • Browser tabs on operator workstations.

Frontend conventions

  • Vite + React 19 + TanStack Query + zustand for state.
  • WebSocket pipeline is throttled (50ms coalescing) per the frontend rule.
  • Solara legacy routes mounted at /legacy/*; sunset window per alphaswarm-client/AGENTS.md.

Operations

  • Scaling: HPA cpu=70%, min=2 / max=8 in prod.
  • Bundle size budget: the Vite build fails CI when the gzipped bundle exceeds 1.5 MiB.
  • CSP: strict — only manage.alpha-swarm.ai, app.alpha-swarm.ai, and the per-cell *.alpha-swarm.ai hostnames are allowlisted.

See also