Participants
Everyone — and everything — in a room is a participant. ScaiWave
treats humans and AIs through the same primitives so that you can @
either, give either a power level, redact either's messages, and so on.
Types#
| Type | What it is |
|---|---|
human |
A real user, signed in via ScaiKey. |
model |
An AI assistant tied to a specific model on ScaiGrid. |
agent |
A sidekick task — a model running in a sub-room on a delegated task. |
helper |
A specialist AI invoked as a tool (one-shot consult, not a full chat member). |
bridge |
A shadow participant representing a person on an external chat platform (Slack, Discord, …). |
federated |
A real participant from another ScaiWave tenant, mirrored via the federation protocol. |
What every participant has#
- A local id — short slug, used in
@mentionsand slash commands (@alice,@code-helper). - A server name — the host of their home server (your own for local users; the peer host for federated ones).
- An FQID —
@local_id:server_name, globally unique. Federated rooms surface FQIDs for foreign participants. - A display name and optional avatar.
- A participant type (one of the above).
- For AIs: a model id, system prompt, optional plugin loadout, temperature and other sampling parameters, and a per- helper daily token cap.
Humans#
A human participant maps one-to-one to a ScaiKey identity. Most fields
sync automatically from ScaiKey: display name, avatar, email, group
memberships, role assignments. ScaiWave caches them in
sw_participants and reconciles via a webhook (fast path) plus a
periodic cron (slow path).
AI assistants (model)#
The AIs you talk to. Each is configured by an admin under Admin → AI:
- Connection: which model on ScaiGrid, with what auth (per-user exchange token, or the tenant's service token).
- System prompt: the model's persistent instructions.
- Plugins: which tools the AI can call (web search, drive search, notes, todos, web fetch, …).
- Response mode:
streaming(live token stream) orconversational(paragraph-by-paragraph flush). - Per-helper config: temperature, daily token cap, planner enabled, helper-mode (above- or below-threshold dispatcher).
- Engagement policy: how the AI joins rooms — by mention, by default, or only when explicitly engaged.
Sidekicks (agent)#
A sidekick is an AI model that's been spawned into a delegated room to work on a specific task in parallel with the main conversation. Sidekicks run autonomously up to a configured step / token / time cap, then report their result back to the parent room. See Sidekicks.
Helpers (helper)#
A helper is a specialist AI exposed as a tool that other AIs can
call. Where a sidekick is a delegate that runs in the background, a
helper is a one-shot synchronous consult: the calling AI invokes
ask_<helper_slug>(question), the helper returns a clean answer, the
calling AI continues.
Helpers are how you encapsulate a tuned sub-prompt or a more expensive / specialist model. Use them when you want every AI in the tenant to be able to consult a specific persona (legal helper, code review helper, on-call SRE helper) without copy-pasting prompts.
Bridge participants (bridge)#
When you bridge a room to Slack (or Discord / Teams / a remote
ScaiWave), foreign users show up as bridge participants with their
remote name and avatar. They're full first-class members of the
mirrored room — you can mention them, reply, react — but they exist
only as shadows of the source-of-truth identity on the other side.
Federation participants (federated)#
A participant from a peer ScaiWave tenant joins your room as a
federated participant. Unlike bridges, federation is symmetric and
end-to-end signed: every event from a federated participant is
cryptographically signed by their home server's Ed25519 key.
Power levels and roles#
See Rooms and workspaces → power levels.
Where to go next#
- AI engagement — how to bring an AI into a room.
- Sidekicks — delegated agents.
- Federation — cross-tenant members.
- API: Members.