Briglia CLI
GitHub
Guide

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 setup

Interrupted? 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 setup resumes 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 daemon is 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 & calendarNone (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.

Nothing half-saved

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 --online also probes every service.
  • briglia — chat. /quit to leave.