Skip to content

Back to the catalog

Show HN: Apogee: Rebuilding Mozilla's Orbit, fully local and private
github.comrepo

Show HN: Apogee: Rebuilding Mozilla's Orbit, fully local and private

Apogee is a privacy-first browser extension (Chrome/Firefox) that summarizes articles, YouTube/Bilibili videos, PDFs, DOCX and pasted text entirely on-device, inspired by Mozilla's discontinued Orbit. It runs models via WebGPU or WebAssembly in the browser, or connects over loopback to a local Ollama or llama.cpp server, with local passage retrieval for Q&A, grounded sentence highlighting, and Opus-MT translation. It shows a practical no-backend, no-API-key architecture for local LLM apps, with a Node.js extractor test harness for contributors.

TL;DR Local-only browser extension that summarizes pages, videos and documents using in-browser WebGPU/WASM models or local Ollama/llama.cpp, with no cloud backend.
Document

What it claims

Apogee is a Chrome/Firefox extension that summarizes pages, videos, PDFs, DOCX files and pasted text with no account, API key, backend or telemetry. It states one exception to "nothing leaves the device": YouTube SponsorBlock lookups, which are on by default.

How it works

  • Inference backend. In-browser runs use WebGPU on Chromium browsers or WebAssembly on the CPU. WebAssembly is the default on Firefox and an opt-in fallback on Chromium. Ollama and llama-server connections are restricted to http://127.0.0.1, and the extension refuses any other host. That means you cannot point it at a LAN or remote GPU box.
  • Model caching. The first in-browser run downloads the selected model. Cached models then run offline.
  • Extraction. Pages go through Readability plus site-specific extractors for Wikipedia, GitHub, Reddit, Hacker News, Bluesky, Mastodon, Lemmy, Discourse, Stack Overflow, Lobsters and arXiv. Discussion threads become Markdown that keeps author, score and reply order.
flowchart LR
  P[Page / video / file] --> X[Extractors]
  X --> B{Backend}
  B -->|Chromium default| G[WebGPU]
  B -->|Firefox default / fallback| W[WebAssembly]
  B -->|127.0.0.1 only| L[Ollama / llama-server]
  B -.->|other hosts refused| R[Remote server]
  X -.->|YouTube, hash prefix| S[SponsorBlock API]

How to use it

  • Install. Get it from the Chrome Web Store or Firefox Add-ons. For larger models, configure Ollama or llama.cpp under Settings.
  • Selection. Requires at least 20 selected characters. Follow-up questions keep the selection as their source.
  • Focus field. Accepts up to 200 characters. It is hidden on video, discussion (HN, Reddit, Stack Overflow) and multi-tab pages.
  • Contributing extractors. This needs no browser, GPU or model. The fixture harness runs extractors against saved HTML on Node.js 22 or newer:
cd apogee-extension
npm install
npm test

Limits

  • SponsorBlock leaks a signal. Lookups send a k-anonymity hash prefix to SponsorBlock. Disable them under Settings → Privacy to be fully local.
  • Disk caching on non-excluded sites. Summaries are cached to disk except on a built-in list of excluded hosts: Gmail, Outlook, Proton Mail, Yahoo Mail, Google Messages, WhatsApp Web, Telegram Web, Slack, Discord and Teams. You can add custom domains. Any other sensitive site is cached unless you add it.
  • Chromium-only features. Sentence-level grounding (click a bullet to scroll to its source) and the persistent side panel work only on Chromium browsers.
  • Firefox speed. Troubleshooting lists "slow Firefox" as a common failure, consistent with Firefox's WebAssembly default.
  • Language count is inconsistent. The README says 32 translation targets, but the translation reference says 29.
  • Details not on this page. Model names, sizes, context windows, benchmarks and the licence are only linked from the README, not stated. Check the Models and License pages before adopting it.

Organisations named here

  • Mozilla
  • Helsinki-NLP
  • Ollama

Technologies named here

  • Helsinki-NLP Opus-MT
  • Apogee
  • Ollama
  • llama.cpp
  • WebGPU
  • WebAssembly
  • Readability
  • SponsorBlock
  • Node.js
  • Orbit
  • Opus-MT

Techniques named here

  • Ask Q&A with Smart Retrieval
  • Grounding and Sentence Highlighting
  • Per-Page Focus Keywords
  • Custom Standing Instructions
  • Local-first inference
  • k-anonymity hash prefix lookup
  • Multi-Language Translation