Fixly is a Chrome extension that fixes and improves selected text using OpenAI API or a locally running Ollama model.
- Works with selected text on web pages, inputs, textareas, and contenteditable editors
- Trigger from context menu:
Fix with Fixly - Trigger from shortcut:
Ctrl/Cmd + Shift + F - Uses OpenAI API or local Ollama
- Visual confirmation toasts for progress/success/error
- Configurable model selection for both OpenAI and Ollama
- Clone this repository
- Open Chrome:
chrome://extensions/ - Enable Developer mode
- Click Load unpacked and select the
srcfolder
- Open extension popup and configure provider/settings
- Select text on any page
- Trigger fix via:
- Right-click → Fix with Fixly
- or shortcut: Ctrl/Cmd + Shift + F
- Fixed text is inserted in place (or copied to clipboard if page blocks replacement)
The extension now uses a single, stable flow (no floating action button):
- Selection capture (content script)
- Captures selected text from normal page selection, textarea/input, or contenteditable.
- Trigger (background)
- Trigger comes from context menu or keyboard shortcut.
- Background sends
fixSelectioncommand to the active tab.
- LLM request (background service worker)
- Content script sends text to background (
fixText). - Background calls configured provider:
- OpenAI:
/v1/chat/completions - Ollama:
/api/chat(with fallback support for OpenAI-compatible/v1/chat/completionssetups)
- OpenAI:
- Content script sends text to background (
- Apply result (content script)
- Replaces selected text in-place when possible.
- If replacement is blocked by the page/editor, copies fixed text to clipboard.
- Visual feedback
- Toast notifications:
Fixing…,✅ Text fixed,📋 copied, or error.
- Toast notifications:
- Install Ollama: https://ollama.com/
- Pull model, e.g.:
ollama pull llama3
- Run with CORS allowed for extension:
Better security (recommended):
OLLAMA_ORIGINS="*" ollama serveOLLAMA_ORIGINS="chrome-extension://YOUR_EXTENSION_ID" ollama serve
- This is CORS. Re-run Ollama with
OLLAMA_ORIGINSas shown above.
- Reload extension in
chrome://extensions - Ensure extension has site access on target page
- Try context menu trigger first (most reliable on complex editors)
- Content script captures selection and applies replacement
- Background service worker performs API calls
- Local Ollama supports both
/api/chatand/v1/chat/completionsstyle endpoints
MIT