WIP Summarizer + Chat AI extension#
A browser extension for Chrome and Firefox that lets you ask questions and summarize any webpage using AI (using Ollama or any OpenAI-compatible API). Works best with the GPT-OSS-20b model.
In Beta. Not yet in the Chrome Web Store or Firefox Addons.
Features#
- 📄 One-Click Summaries - Summarize page content efficently
- 🤖 Follow Up Questions - Ask questions about the current webpage and summary
- 🔌 OpenAI-Compatible - Works with Ollama, OpenAI, Groq, and LM Studio
- ⚙️ Configurable - Choose your own model and API endpoint
- 🔒 Privacy-first - Keep summaries local with Ollama, or use a cloud provider when you choose one.
- ⌨️ Quick access - Keyboard shortcut of
Ctrl/Cmd+Shift+U, use the right click menu, or click the extension icon.
About#
Made to solve a very simple problem I had as a user of the Helium web browser.
Installation (in dev mode)#
Chrome#
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked
- Select the
webai-summarizerfolder - The extension icon should appear in your toolbar
- Optionally set up the keyboard shortcut at
chrome://extensions/shortcuts
Firefox#
- Open Firefox and navigate to
about:debugging#/runtime/this-firefox - Click Load Temporary Add-on
- Select the
manifest.jsonfile in thewebai-summarizerfolder - The extension icon should appear in your toolbar
Note: Firefox requires you to manually enable the keyboard shortcut:
- Type
about:addonsin the address bar - Click the gear icon (⚙️) → Manage Extension Shortcuts
TODO#
- Better branding / icon / logo
- Publish to Chrome Web Store
- Publish to Firefox Add-ons
Build for Specific Browser#
If needed, you can build for a specific browser:
# For Chrome
./build.sh chrome
# For Firefox
./build.sh firefox
Usage#
- Navigate to any webpage
- Click the extension icon in your toolbar, or press
Ctrl/Cmd+Shift+U - Click "Summarize Page" for an instant summary, or
- Type a question about the page content and press Enter
API Mode Explained#
Ollama Native Mode#
- Uses Ollama's native
/api/generateendpoint - Works out of the box if Ollama is installed
- Recommended for local Ollama installations
- Base URL should NOT include
/v1
OpenAI-Compatible Mode#
- Uses the
/v1/chat/completionsendpoint - Required for OpenAI, Groq, and other cloud providers
- Can work with Ollama if you set the
OPENAI_API_BASEenvironment variable - Base URL MUST include
/v1for Ollama compatibility mode
Privacy Notes#
- In Ollama Native mode, your content stays on your machine (local model/server).
- In OpenAI-compatible mode, page content is sent to the provider endpoint you configure.
- The extension now extracts page text on-demand when you trigger summarize/chat, rather than running a persistent content script on all pages.
Troubleshooting#
"Cannot connect to localhost:11434"#
- Make sure Ollama is running:
ollama serve - Check that you pulled the model:
ollama list - If using Ollama, make sure your URL doesn't have
/v1in Native mode - Check browser console for detailed error messages
"HTTP 403" or "HTTP 405"#
This means the API endpoint is wrong. Try:
- Switch API Mode from settings
- For Ollama Native: use
http://localhost:11434(no /v1) - For OpenAI mode: use
http://localhost:11434/v1(with /v1)
File Structure#
webai-summarizer/
├── manifest.json # Extension configuration (active)
├── manifest-chrome.json # Chrome-specific manifest
├── manifest-firefox.json # Firefox-specific manifest
├── build.sh # Build script for browser switching
├── BROWSER_SUPPORT.md # Browser compatibility documentation
├── popup/
│ ├── popup.html # Chat interface
│ ├── popup.css # Styling
│ ├── popup.js # Popup logic
│ └── marked.min.js # Markdown parser
├── scripts/
│ ├── content.js # Webpage text extraction
│ └── background.js # API communication
├── options/
│ ├── options.html # Settings page
│ ├── options.css
│ └── options.js
└── icons/
├── icon16.png
├── icon32.png
├── icon48.png
└── icon128.png