First setup
briglia setup is a resumable wizard of eight steps (nine on Linux), about five minutes. Every key is validated live as you paste it and stored in ~/.config/briglia/secrets.json with owner-only permissions.
briglia setupInterrupted? Run it again and it offers to resume from where you stopped. On a configured install it opens a section menu instead, so you can redo any single step (or “Show current configuration”). Pressing Enter on a question keeps the saved value.
1 · Main agent model
Briglia's main brain. You can configure several providers and hop between them any time with /provider in chat. Options:
- OpenCode Go (recommended) — one subscription key, a curated catalogue (default: GLM 5.3 Flash, vision-capable). Get a key at opencode.ai.
- OpenRouter — pay-per-token, any model id (suggested:
google/gemini-3-flash-preview); the wizard asks whether the model can see images. - Custom OpenAI-compatible endpoint — base URL + model id + API key.
- Local server — vLLM, Ollama, LM Studio; no key, default
http://localhost:1234/v1.
Pick a text-only model and Briglia will use the OCR preprocessor (your OpenAI key) for images and scanned PDFs. Full catalogue in Providers & models.
2 · OpenAI key
One OpenAI key powers four things: web research (planning, reading and writing answers), voice-message transcription, image generation, and OCR of scanned documents. Treat it as required — briglia doctor flags a missing one.
3 · Serper key (web search)
Gives Briglia Google search. Free tier of 2,500 queries at serper.dev.
4 · Jina key (page reading)
Lets Briglia read web pages cleanly. Free tier at jina.ai/reader.
5 · Your name
What Briglia should call you. (The assistant's own default name is Bree — you can pick another in this step; change your name later with /setname.)
6 · Permissions
- macOS: Briglia needs Full Disk Access, granted to the terminal app you run it from. The wizard opens the right System Settings pane and re-checks when you press Enter; macOS makes you relaunch the terminal, and
briglia setupresumes from this step. It also warns if the system (not just the display) is allowed to sleep — an unattended Briglia needs the machine awake (caffeinate -is briglia daemonis one option). - Linux: no Full Disk Access concept. The wizard checks automatic suspend and offers to disable it (GNOME
gsettings, no sudo) or to mask the systemd sleep targets (asks for sudo). - Ubuntu Touch: deferred to the last step — the phone's keep-awake.
7 · Toolchain & email (optional)
Media tools — poppler, ImageMagick, ffmpeg — are checked; on Linux the wizard offers the package-manager install command (on Ubuntu Touch the trio installs automatically into your userdata area). LibreOffice (~600 MB) is offered separately for DOCX/XLSX rendering. See Media toolchain.
Email & calendar — None (default), AgentMail (a dedicated inbox for Briglia, includes a calendar tool) or Google Workspace (your Gmail/Calendar via the gws CLI, requires your own OAuth client). See Email & calendar.
8 · Telegram (optional)
Message @BotFather → /newbot → copy the token; message @userinfobot for your numeric chat ID. The token is probed live. Briglia answers only that one chat ID and ignores everyone else. See Telegram.
9 · Always-on service (Linux only)
Runs briglia daemon as a systemd user service: starts at boot, restarts after crashes, keeps working after you log out. Ideal for a Raspberry Pi. It needs Telegram (the daemon has no local chat). On Ubuntu Touch it also offers the keep-awake unit (asks for the phone passcode). See Always-on service.
If a write to secrets.json ever fails, the wizard aborts and tells you nothing from that run was saved. Existing keys are never erased by a failed save.
Afterwards
briglia doctor— configuration, permissions and toolchain health;briglia doctor --onlinealso probes every service.briglia— chat./quitto leave.