Understory di Noah Albert
Ask your own local AI about the page you are reading. It shows you the exact text it extracted first, and refuses when a page has no article, so you never get a confident answer about a navigation menu.
Metadâts de estension
Informazions su la estension
Understory puts a sidebar on any page and answers questions about it using a model running on your own machine through Ollama. There is no server, no account and no telemetry. It talks to localhost and nowhere else, and its manifest declares that it collects no data at all.
WHAT MAKES IT DIFFERENT
Most page assistants fail the same way: they grab the wrong part of the page, hand a navigation menu or a cookie banner to the model, and the model answers fluently about it. You cannot tell that happened, because you never see what it read.
Understory is built around that problem.
It reads the article, not the furniture. Navigation, cookie walls, share rails, newsletter interstitials and footers are stripped, and what remains is scored by text density, punctuation, link density and structure. It was checked against live pages, not just test cases: it pulls the body out of a BBC news article, a Wikipedia entry, the Python documentation, a GitHub README, and a 718,000 character book on Project Gutenberg.
When there is no article, it says so. The BBC News front page, The Verge's tech index and the Ars Technica home page all get a plain refusal instead of a plausible looking fragment. A guess is not an answer, and quietly guessing is the failure this extension exists to remove.
You always see what the model was given. Before any answer appears, the panel names the part of the page it chose, how many characters it found and how confident it is, with the full extracted text one click away. If it still picks wrong, highlight the text you care about and press Read page: your selection wins.
It does nothing when you are not using it. There is no content script running on your tabs, no timer and no navigation listener. The reader is injected into a page only when you ask for it. A page you never point Understory at is never touched, so it costs nothing while it sits there.
WHAT YOU NEED
Ollama running locally with at least one model pulled, for example: ollama pull llama3.2
Open the settings, press Refresh models, choose one, and save. If the list stays empty while Ollama is running, Ollama is refusing the extension's origin: start it with OLLAMA_ORIGINS set to moz-extension://* and restart it. The settings page tells you this too, at the moment it becomes relevant.
PRIVACY
The only network address Understory ever contacts is the Ollama address you set, which defaults to http://localhost:11434. Page text goes to your own model on your own machine. Nothing is sent anywhere else, stored remotely, or logged.
WHAT MAKES IT DIFFERENT
Most page assistants fail the same way: they grab the wrong part of the page, hand a navigation menu or a cookie banner to the model, and the model answers fluently about it. You cannot tell that happened, because you never see what it read.
Understory is built around that problem.
It reads the article, not the furniture. Navigation, cookie walls, share rails, newsletter interstitials and footers are stripped, and what remains is scored by text density, punctuation, link density and structure. It was checked against live pages, not just test cases: it pulls the body out of a BBC news article, a Wikipedia entry, the Python documentation, a GitHub README, and a 718,000 character book on Project Gutenberg.
When there is no article, it says so. The BBC News front page, The Verge's tech index and the Ars Technica home page all get a plain refusal instead of a plausible looking fragment. A guess is not an answer, and quietly guessing is the failure this extension exists to remove.
You always see what the model was given. Before any answer appears, the panel names the part of the page it chose, how many characters it found and how confident it is, with the full extracted text one click away. If it still picks wrong, highlight the text you care about and press Read page: your selection wins.
It does nothing when you are not using it. There is no content script running on your tabs, no timer and no navigation listener. The reader is injected into a page only when you ask for it. A page you never point Understory at is never touched, so it costs nothing while it sits there.
WHAT YOU NEED
Ollama running locally with at least one model pulled, for example: ollama pull llama3.2
Open the settings, press Refresh models, choose one, and save. If the list stays empty while Ollama is running, Ollama is refusing the extension's origin: start it with OLLAMA_ORIGINS set to moz-extension://* and restart it. The settings page tells you this too, at the moment it becomes relevant.
PRIVACY
The only network address Understory ever contacts is the Ollama address you set, which defaults to http://localhost:11434. Page text goes to your own model on your own machine. Nothing is sent anywhere else, stored remotely, or logged.
No build step, no bundler and no dependencies: the reviewed source is the shipped source. src/extract.js is a pure function over a Document with no browser globals, which is what lets the test suite run it under jsdom; 31 assertions cover navigation-heavy news pages, link directories, article bodies split across sibling divs, a promo header longer than the article, unrendered SPA shells, documentation pages, teaser card grids, and malformed or null documents. Host permissions are limited to localhost and 127.0.0.1. Page access uses activeTab and scripting.executeScript on user action only, with no declared content scripts.
Valutât 0 di 0 recensôrs
Permès e dâts
Permès facoltatÎfs:
- Acedi ai dâts utent di localhost
- Acedi ai dâts utent di 127.0.0.1
Racuelte dâts:
- Il svilupadôr al declare che cheste estension no domande la racuelte di dâts.
Altris informazions
- Colegaments component adizionâl
- Version
- 1.0.0
- Dimension
- 28,13 kB
- Ultin inzornament
- 4 dager siden (9. sep. 2026)
- Categoriis coreladis
- Licence
- Licence MIT
- Cronologjie versions
- Zonte ae racuelte