Notes for administrators
What a Félagi server needs for each part of Félagi Desktop. The server's own
reference is in Félagi's docs/reference/ (chat.md, api.md,
broadcasting.md, assistant.md, configuration.md).
Making the app available
Félagi Desktop comes with the Félagi licence, so it isn't on a public download
page: people signed in to your Félagi download it from Settings → Félagi
Desktop. Put a release on the server for that section to offer it — the signed
and notarized .dmg and the desktop.json beside it — in FELAGI_DESKTOP_PATH
(by default storage/app/private/desktop). Félagi's
docs/reference/operations.md has the steps. Until then, Settings tells people
no build is on the server yet.
Updates
The app updates itself from the same directory: each release also has a zip of
the app (Felagi-<version>-macos-aarch64.zip), listed in desktop.json under
updates. Copy all three files — the DMG, the zip and desktop.json, the last
one last — and every signed-in app is offered the new version within a day. The
app installs it only when the zip matches the SHA-256 in desktop.json and is
signed with Félagi Desktop's Developer ID; the person chooses when to restart.
Signing in
The app signs in with OAuth's device authorization grant against Félagi's
/api/desktop/* endpoints and gets one token per workspace the user approves,
named after their computer. Users can see and revoke them on the web like any
other API token. Signing out in the app revokes them.
The server must be reachable over https.
Real time
Live messages, typing, presence and issue updates use Félagi's broadcasting
(Reverb). The app reads the connection settings from
/api/desktop/broadcasting after sign-in. Without broadcasting the app still
works, but only shows changes when it reads again.
Scheduled messages and reminders
Both are sent by the server's scheduler, every minute:
felagi:scheduled-messagesfelagi:reminders
The scheduler (php artisan schedule:run every minute, or schedule:work) must
be running, or scheduled messages and reminders never go out.
The assistant
Off by default. When it's off, the app shows no assistant button and the server makes no calls to a model.
To switch it on, set in the server's environment:
| Variable | Default | |
|---|---|---|
FELAGI_ASSISTANT_PROVIDER |
(empty: off) | anthropic switches it on |
ANTHROPIC_API_KEY |
The key; it stays on the server | |
FELAGI_ASSISTANT_MODELS |
claude-opus-5-5,claude-sonnet-5-5 |
The models the app may ask for. The app asks for claude-opus-5-5 |
FELAGI_ASSISTANT_MAX_TOKENS |
16000 |
Larger requests are lowered to this |
FELAGI_ASSISTANT_PER_MINUTE |
30 |
Requests per person per minute |
FELAGI_ASSISTANT_STREAM |
false |
Stream answers through; leave off behind a buffering proxy |
FELAGI_ASSISTANT_FALLBACKS |
true |
Let the API answer a refusal with a fallback model |
Every request is made with the user's own token and checked as the user. Each
answered request fires an AssistantUsed event (user, workspace, model, tokens)
for your own accounting; request contents are not logged.
Meetings
The Meetings page needs meetings switched on for the workspace. Scheduling, invitations and circulating minutes happen on the web; the app reads meetings and lets organisers edit the agenda and notes.
Drafting meeting minutes
The organiser's Draft minutes and action items appears only when the server
drafts minutes (FELAGI_MINUTES_PROVIDER), and is limited per person per hour
(FELAGI_MINUTES_PER_HOUR). It sends the meeting's notes, agenda, title and
attendee names to the configured model; see Félagi's configuration reference.
Mirroring threads and issues
Mirroring is switched on per thread by its members. Replies in a mirrored thread become issue comments readable by everyone who can see the issue — including from private channels. Make sure your teams know this.
Several servers
Users can be signed in to several Félagi servers at once. Each server sees only its own tokens and requests; nothing passes between servers.