alphaswarm-client
Catalog date: 2026-08-07.
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
| Field | Value |
|---|---|
| Service id | alphaswarm-client |
| Role | frontend |
| Package | alphaswarm_client/ |
| Image (key) | frontend |
| Built from | alphaswarm_client/Dockerfile (3-stage: ui-builder → solara-builder → production) and Dockerfile.tf (Terraform-built variant) |
Wire
| Field | Value |
|---|---|
| Protocol | HTTP/1.1 + WebSocket |
| Port | 8080 (container, EXPOSE 8080 in the Dockerfile) → 80 (ClusterIP Service port, targetPort back to the container's 8080) → 3000 (host, local dev) |
| Health | GET /health (Docker HEALTHCHECK + k8s liveness/readiness probes) |
| Public URL | per-cell ingress (e.g. https://alphaswarm.<cell>.alpha-swarm.ai); local dev http://localhost:3000 |
Deployment surfaces
| Surface | Where |
|---|---|
| Compose | service client in alphaswarm_platform/compose/docker-compose.yml; alphaswarm-client in deployments/compose/docker-compose.local.yml |
| Kustomize | deployments/kubernetes/base/alphaswarm-client/ — Deployment + Service + HPA + PDB |
| AlphaSwarm CR | AlphaSwarmClient |
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.
- Backend targets are build-time variables:
VITE_API_URL,VITE_WS_URL,VITE_OBSERVE_URL,VITE_OTEL_URL, andVITE_JAEGER_URL. Local development proxies/alphaswarm-api,/alphaswarm-ws,/alphaswarm-observe, and/alphaswarm-otelto those targets. - WebSocket pipeline is throttled (
50mscoalescing) per thefrontendrule in the privatealphaswarm_internalrepo. (As of 2026-07-19,alphaswarm/.cursor/rules/only carries a pointer to this SSoT repo.) - Solara legacy routes mounted at
/legacy/*; sunset window peralphaswarm-client/AGENTS.md.
Operations
- Scaling: base HPA (
deployments/kubernetes/base/alphaswarm-client/hpa.yaml) targetscpu=60%/memory=70%,min=1 / max=10; theprodoverlay patches this tomin=3 / max=20. - Bundle size budget: could not verify —
alphaswarm_client/.github/workflows/ci.ymlruns typecheck / lint / Vitest coverage / Playwright E2E, but does not runpnpm buildor any bundle-size check at all today. No size-limit/bundlesize tooling or budget was found inpackage.jsonorvite.config.tseither. - CSP: could not verify — no
Content-Security-Policyconfiguration was found inalphaswarm_client(Dockerfile, source) or in itsdeployments/kubernetes/base/alphaswarm-client/kustomize base.
See also
alphaswarm-client/AGENTS.md— boundary rules.alphaswarm-ui.md— the cloud-hosted sibling.alphaswarm-ide.md— Theia IDE for code-first workflows.