← К проектам

StudyLens

Расширение для Chrome — выделяешь область экрана с задачей, получаешь разбор. Пять режимов ответа на хоткеях, стриминг, KaTeX.

  • JavaScript
  • Chrome Extension
  • Manifest V3
  • OpenAI API

JavaScript2026-10-08Исходники

5режимов ответа

Расширение для 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» → папка проекта.