A Chrome extension that allows users to highlight text on any webpage and send it to an LLM for summarizing, paraphrasing, explaining, or translating via OpenRouter.
- Highlight text and trigger AI actions using the right-click context menu or keyboard shortcuts
- Supported actions:
- Summarize
- Paraphrase
- Explain
- Translate (to Spanish)
- LLM responses are displayed in a floating box injected into the page
- Commands are configurable via the manifest and routed through a modular provider system (currently OpenRouter)
- UI is currently handled directly in
content/content.js- A result box is created using
document.createElement - Styles are applied inline via JavaScript
- A result box is created using
- The
ui/folder exists but is not yet used - The LLM provider logic is modular, configured in
llm/ - The
background/folder registers context menus and shortcuts and forwards commands - The
commands.jsmodule maps actions to instructions and calls the LLM - The
llm/router.jsfile routes to the correct provider (OpenRouter) - Provider setup uses
llm/secrets.jsandllm/config.jsto handle keys and defaults
git clone https://github.com/andresgtn/ai-reading-assistant-chrome-plugin.git
cd ai-reading-assistant-chrome-plugincp llm/secrets.template.js llm/secrets.jsThen paste your OpenRouter API key into llm/secrets.js.
- Go to
chrome://extensions - Enable Developer Mode
- Click "Load unpacked"
- Select the
ai-reading-assistant-chrome-plugin/folder
Change shortcuts under chrome://extensions/shortcuts.
| Command | Shortcut |
|---|---|
| Summarize | Ctrl+Shift+X |
| Paraphrase | Ctrl+Shift+P |
| Explain | Ctrl+E / Cmd+E |
| Translate | Ctrl+Shift+T |
Replace ctrl with cmd for Mac. See or change shortcuts in manifest.json
- UI separation is planned but not yet implemented. All rendering is currently in
content.js. - The
ui/folder andutils/messaging.jsexist but are not wired into the current runtime.
- No user data is collected or tracked.
- All requests are made locally using your OpenRouter API key.