You are on the hunt for interesting articles around the web, open 100 tabs and end up… not reading them. Sounds familiar?
Summary Helper allows to summarize articles with a custom prompt - so it can be as tailored to your language, profession or point of view as you define it. The summary gets inserted in the content area itself. This way you can easily forward the artice including the generated summary to your Kindle device e.g. using Reabbles Send-to-Kindle tool.
On the go I am way more likely to engage with the content I intentionally selected earlier. The tailored briefing then helps me to recall why I chose the article, suggests me books and other media related to it.
Variant A: Create your Bookmarklet
- Browser & OS-agnostic, even works on iOS
Variant B: Download Chrome Browser Plugin
This project includes two components:
- Chrome Extension: A browser plugin for generating AI summaries of web content.
- Bookmarklet Generator: A tool for creating bookmarklets that provide AI summaries.
| Bookmarklet | Browser Extension | |
|---|---|---|
| OpenAI | ✅ | ✅ |
| Mistral AI | ✅ | ✅ |
| Ollama (Local) | ❌ | ✅ |
| Custom Prompt | 🟠 Initially set base prompt | ✅ Base + custom prompt per request |
| Cross Platform | ✅ | ❌ |
chrome-extension/: Contains the files for the Chrome extension.bookmarklet-generator/: Contains the files for the bookmarklet generator.privacy.md: Privacy policy for the project.
- Navigate to the
chrome-extensiondirectory and follow the instructions in thereadme.md.
- Navigate to the
bookmarklet-generatordirectory and follow the instructions in thereadme.md.
Bookmarklet generator generally ships faster since it is faster to iterate on.
- Save API Key in Browser
- iOS compatibility
- Select dom element by clicking to make insertion-point be definable by user
- Add status state
- Support other providers (on-device? What are some local LLMs we could use for this / API through localhost?)
- Ollama
- Include update mechanism (make the bookmarklet check this repo for a newer script)
The privacy policy for this project is available in the Privacy section.
2024 Phil Wornath - MIT License
It looks like you've hit the classic CORS (Cross-Origin Resource Sharing) wall. Even though the configuration is correct, the browser blocks requests from websites (like arxiv.org) to your local Ollama instance for security reasons because Ollama isn't explicitly saying "I allow requests from this website."
Since the extension's content script runs directly on the page, its "Origin" is the website you are visiting, and Ollama rejects it by default.
To fix this, you need to set the OLLAMA_ORIGINS environment variable. Here is the breakdown based on your operating system:
- Quit Ollama entirely. Look for the Ollama icon in your System Tray (bottom right, near the clock), right-click it, and select Quit.
- Open the Start Menu, search for "Edit the system environment variables," and open it.
- Click Environment Variables.
- Under User variables, click New:
- Variable name:
OLLAMA_ORIGINS - Variable value:
*
- Variable name:
- Click OK on all windows.
- Crucial: Open a new Terminal or Command Prompt and type
ollama serve(or simply relaunch the Ollama app from the Start menu).
- Quit Ollama from the Menu Bar icon.
- Open Terminal and run:
launchctl setenv OLLAMA_ORIGINS "*" - Restart the Ollama application.
Note: To make this permanent, you usually need to add that line to your ~/.zshrc or ~/.bash_profile.
If you are running Ollama as a service:
- Run
sudo systemctl edit ollama.service. - Add these lines under the
[Service]section:[Service] Environment="OLLAMA_ORIGINS=*"
- Save and exit, then run:
sudo systemctl daemon-reload sudo systemctl restart ollama
🧐 Why is this happening?
Browsers follow a "Same-Origin Policy." When the extension tries to fetch localhost:11434, the browser sends a "Preflight" request (an OPTIONS check) to see if the server allows it. If OLLAMA_ORIGINS isn't set, Ollama doesn't include the Access-Control-Allow-Origin header in its response, and the browser kills the request. Setting it to * tells Ollama to accept requests from any origin.
If you are running Ollama on a remote server behind an HTTPS proxy (like Nginx, Apache, or Cloudflare), you normally do not need to set OLLAMA_ORIGINS on the server itself. Instead, ensure your proxy is configured to allow CORS headers:
- Why? Browsers block "Mixed Content" (requesting HTTP from an HTTPS site). Using an HTTPS endpoint for Ollama solves this.
- How? Add
Access-Control-Allow-Origin: *to your proxy configuration settings.
For more detailed guidance, refer to the comprehensive guide on handling CORS settings in Ollama here.
Tools that are compatible with AI Summary Helper. Feel free to add your own tool to the list.
| Name | Description | URL |
|---|---|---|
| Reabble Send to Kindle | Send your summarized articles to Kindle. | https://send.reabble.com/ |
| Web Clipper | Clip your summarized web pages to different places (e.g. OneNote, Notion, GitHub etc.) | https://clipper.website/ |
| Inoreader | RSS Feed Reader | https://www.inoreader.com/ |


