Briefen is a local-first article summarizer. Paste a URL, Jsoup fetches the article, and a local or cloud LLM summarizes it — cached in SQLite. No cloud dependencies by default. Everything runs on your server.
Free and open source — MIT license — no account required
Paste any URL or raw text. Jsoup extracts the article, PDFBox handles PDFs — then your chosen LLM summarizes it instantly.
Powered by Ollama out of the box — runs Gemma, Llama, and others entirely on your machine. No API key, no data leaving your server.
Plug in OpenAI or Anthropic with an API key when you want faster or higher-quality results. Switch models per summary.
Every summary is saved. Filter by read/unread, search, add notes and tags, and export the full list to Markdown.
Flutter app for Android and iOS. Share URLs directly from any browser, summarize in the background, and get a push notification when it's ready.
One-click summarize from Firefox or Chrome/Edge/Brave (both Manifest V3). Sends the current tab's URL to your Briefen instance — with password or access-token auth for SSO setups.
Password login on every route, plus opaque bearer-token sessions. First-run browser setup creates the admin account. Multi-user with admin-managed accounts and personal access tokens.
Optional OpenID Connect login with any provider — Keycloak, Authentik, Auth0, Okta, Google, Entra ID. Authorization-code + PKCE, just-in-time provisioning, and admin-group mapping. Coexists with password login.
Single Docker image with embedded frontend. SQLite by default — no external services required. PostgreSQL available for larger deployments.
Browse and summarize your Readeck bookmarks directly from the app. Configure once, access your full bookmark library.
Requires Docker with Compose v2 (docker compose).
curl -o docker-compose.yml https://raw.githubusercontent.com/lucaslra/briefen/main/docker-compose.sample.yml
docker compose up -d
Open http://localhost:8080 — on first access you'll be prompted to create the admin account.
docker pull ghcr.io/lucaslra/briefen:latest