Расширение для Chrome: нажимаешь горячую клавишу, обводишь мышью область экрана с задачей — и ответ печатается в панели поверх страницы по мере генерации.
Что внутри
- Пять режимов — объясни, кратко, пошагово, переведи, найди ошибку. У первых четырёх свои хоткеи; пятый Chrome не даёт назначить автоматически — лимит в четыре клавиши, поэтому он назначается вручную.
- Захват без скриншотов на диск — область снимается через
captureVisibleTabи обрезается по координатам выделения, так что распознаётся ровно то, что человек обвёл. Выделение меньше 5×5 или Esc отменяет захват. - Стриминг — ответ приходит токенами по SSE и дописывается в панель, а не появляется целиком через несколько секунд.
- Markdown + формулы —
markedрендерит ответ,DOMPurifyего чистит, KaTeX рисует формулы. Вся обработка — в фоне, вкладка остаётся отзывчивой. - Голый JS, ~58 КБ собственного кода, без сборщика и без зависимостей из
npm: всё, что нужно (marked, DOMPurify, KaTeX с шрифтами), лежит в
lib/локально — расширение не грузит ничего с CDN.
Стек
Manifest V3 и чистый JavaScript: service worker в background.js, оверлей
выделения в content script, popup для настроек. API — OpenAI-совместимый Chat
Completions, ключ хранится в chrome.storage.
Установка
Расширение пока не опубликовано в Chrome Web Store: chrome://extensions →
режим разработчика → «Load unpacked» → папка проекта.