Client
A client is an operator interface that connects to the gateway and participates in sessions. Clients are where humans read events, send requests, approve actions, and manage connected nodes.
Client forms
- Desktop app (Windows/Linux/macOS)
- Mobile app (iOS/Android)
- CLI/TUI
- Web app (SPA)
Responsibilities
- Establish a single WebSocket connection per client device identity (
role: client). - Authenticate a user and bind activity to a tenant membership (see Tenancy and Gateway authN/authZ).
- Send requests (commands, session interactions, configuration changes).
- Subscribe to events (status updates, audit evidence, approvals, pairing requests).
- Provide human approvals and explanations when the gateway escalates.
- Resume or cancel paused workflow runs (via resume tokens) when approvals are resolved.
- Initiate and manage node pairing (approve/deny, label devices, revoke access).
- Provide onboarding and diagnostics surfaces so hardened configuration is easy to reach (see Operations and onboarding).
- Support Admin Mode (time-bounded step-up) for tenant administration actions.
Operator UI expectations
Operator clients provide oversight and administration. At minimum they should expose:
- Session: a session-centric view rendered as a unified timeline that merges chat, runs/steps/attempts, approvals, and artifacts (reconstructible from durable state; live events stream updates). The UI supports lane filters and surfaces queue-mode semantics as pending input items.
- Approvals: an approval queue (approve/deny) with previews and linked evidence.
- Nodes/devices: pairing requests, connected capability providers, revoke controls.
- Instances: a presence view of connected gateway/client/node instances with TTL-based pruning (see Presence).
- Context/usage: context breakdown (
/context) and usage/quota panels (/usage) for operational transparency (see Observability). - Settings: policy defaults, tool allowlists, model config, secrets setup, and automation toggles.
- Onboarding/doctor: guided setup and diagnostics that detect footguns and recommend fixes (see Operations and onboarding).
What a client is not
- A client is not a capability provider. Capabilities live on nodes.
- A client is not required for automation to run, but it is the primary interface for oversight.