SnapSolve is a Manifest V3 Chrome extension that captures a selected region of the current page, sends the screenshot to your chosen AI provider, and shows a concise answer back on the page. It is built with plain JavaScript, HTML, and CSS, so there is no build step or package install required.
A quick demo of SnapSolve in action (hosted on Google Drive):
Watch the setup video (hosted on Google Drive). Click the image below to view the setup video.
SnapSolve combines three pieces into one workflow:
- A screen selector overlay for drawing a box around the question you want to solve.
- A smart settings page for choosing a provider, loading live models, saving API keys, and managing profiles.
- A lightweight background service worker that captures the screen, crops the selection, sends it to the provider, and returns the result.
The extension includes:
- Dynamic model discovery with caching and fallback lists.
- Support for OpenAI-compatible providers, Anthropic, Google Gemini, Ollama, OpenRouter, NVIDIA NIM, Groq, and custom providers.
- Saved profiles so you can switch between provider/model combinations quickly.
- A shortcut to activate the draw box.
- A shortcut to cycle through saved profiles.
- In-page status messages, fallback toasts, and toolbar badge feedback.
- You open the extension and select a region of the page.
- SnapSolve captures the visible tab and crops only the selected box.
- The background service worker sends the image to the configured AI provider.
- The answer is displayed back in the extension card.
- If you cycle profiles with a shortcut, the active provider/model changes instantly and the UI shows a confirmation.
Download the project as a ZIP file and extract it somewhere on your computer.
In Chrome, go to:
chrome://extensions/
Then enable:
Developer mode
Click:
Load unpacked
Then choose the extracted snap-solve folder that contains the manifest.json file.
After the extension is loaded, open its Details page and click:
Extension options
From there, configure:
- Provider
- Base URL, if your provider requires one
- API key
- Model
- Saved profile name is generated automatically from the provider and model
Click Save Configuration after entering the provider details. You can create multiple profiles and switch between them later.
Open Chrome’s shortcut manager:
chrome://extensions/shortcuts
Set or confirm these shortcuts:
- Draw box / activate SnapSolve:
Ctrl+Shift+Eon Windows/Linux,Cmd+Shift+Eon Mac - Switch saved profile:
Ctrl+Shift+Yon Windows/Linux,Cmd+Shift+Yon Mac
You can change either shortcut in Chrome if you want a different key combo.
- Activate the draw box:
Ctrl+Shift+E/Cmd+Shift+E - Cycle saved profiles:
Ctrl+Shift+Y/Cmd+Shift+Y
SnapSolve is designed to work with providers that expose either OpenAI-compatible chat endpoints or provider-specific APIs. The settings page includes preset support for:
- OpenAI
- Anthropic
- Google Gemini
- NVIDIA NIM
- Ollama
- OpenRouter
- Groq
- Custom / Other
snap-solve/manifest.json- extension manifest and commandssnap-solve/background.js- screen capture, API routing, and notification handlingsnap-solve/content.js- selection overlay, UI card, profile cycling, and response displaysnap-solve/content.css- in-page UI stylingsnap-solve/settings/settings.html- settings UIsnap-solve/settings/settings.js- settings logic, model discovery, and profile storagesnap-solve/icons/- packaged extension icons
- There is no build command. The extension runs directly from source.
- Chrome may require you to customize shortcuts manually if the suggested key is already in use.
- If a provider does not return models automatically, you can still use a custom model entry.
- On some pages, Chrome restricts content scripts. In those cases, reload the tab or open a normal webpage.
This project is licensed under the MIT License.