Собираем файлы и устанавливаем расширение

Выделяете абзац на странице, нажимаете правую кнопку мыши и выбираете "Сохранить цитату". Текст вместе с адресом страницы попадает в список. Позже открываете расширение и находите нужный фрагмент.

Собираем файлы и устанавливаем расширение

Соберём именно такой инструмент. Для моего блога это понятная задача - сохранять материалы для статьи вместе с адресами, по которым их можно проверить.

Нейросеть подготовит код. От вас потребуется создать файлы, установить расширение в Chrome и проверить его поведение. Начать можно с обычного чата, который умеет писать код.

Определяем первую версию

В расширении будет два основных действия. Сохранение выделенного текста через контекстное меню и просмотр записей через кнопку рядом с адресной строкой.

Каждая запись содержит цитату, адрес страницы, её название и время сохранения. В окне расширения нужны список записей, переход к источнику и удаление отдельного фрагмента.

Для добавления пункта в меню Chrome предоставляет contextMenus. При нажатии расширение может получить выделенный текст и адрес страницы. Разрешение activeTab даёт временный доступ к сведениям активной вкладки после действия пользователя.

По заданию цитаты будут храниться локально. Подключение к нейросети во время использования этому инструменту не требуется - ИИ помогает его написать.

Кстати, если вы хотите протестировать все самые свежие модели уровня Claude Sonnet 5, GPT-5.6 или Gemini 3 в одном удобном месте и сравнить их ответы без костылей с иностранными картами - на платформе Study AI это можно сделать за пару кликов.

Я оставляю поиск, папки и автоматические пересказы на следующий этап. Сначала нужно убедиться, что сохранённый абзац не исчезает после закрытия браузера.

Задание для нейросети

Создайте на компьютере папку quote-saver. Затем передайте модели описание проекта. Технические требования ниже можно скопировать целиком.

Напиши расширение для настольного Google Chrome на Manifest V3. Название расширения - "Мои цитаты". На обычных веб-страницах при выделении текста в контекстном меню должен появляться пункт "Сохранить цитату". После нажатия сохраняй выделенный текст, адрес страницы, название вкладки и дату добавления. Если название недоступно, используй адрес. Храни записи в chrome.storage.local. Каждую запись сохраняй под отдельным уникальным ключом, чтобы добавление нескольких цитат подряд не перезаписывало предыдущие. При нажатии на кнопку расширения открывай окно со списком записей. Новые записи показывай первыми. Добавь переход к источнику и удаление отдельной записи. Для пустого списка покажи понятное сообщение. Используй разрешения contextMenus, storage и activeTab. Не добавляй доступ ко всем сайтам, сетевые запросы и внешние библиотеки. Обработчик сохранения размести в service worker. JavaScript для окна расширения вынеси в отдельный файл. Выводи цитаты как текст через textContent. Подготовь пять полных файлов - manifest.json, background.js, popup.html, popup.js и popup.css. Сборка через npm не нужна. Иконки в первой версии не используй. Для каждого файла укажи имя и приведи всё содержимое. Не пропускай участки кода и не заменяй их комментариями.

Здесь задано достаточно подробностей, чтобы модель не начала строить отдельный сайт с регистрацией. При этом интерфейс остаётся небольшим, а результат можно проверить несколькими действиями.

Собираем файлы и устанавливаем расширение

Сохраните полученный код в папку проекта. Названия файлов должны точно совпадать с указанными в ответе.

Особенно проверьте расширения имён. Файл manifest.json.txt не подойдёт. Если система скрывает расширения файлов, включите их отображение перед сохранением.

manifest.json описывает конфигурацию расширения. background.js обрабатывает сохранение цитат. Файлы с названием popup отвечают за окно со списком и его оформление.

В Chrome откройте меню расширений и перейдите к управлению ими. Включите режим разработчика, нажмите "Загрузить распакованное расширение" и выберите папку quote-saver. Внутри неё должен находиться manifest.json. После установки закрепите расширение на панели браузера.

Теперь откройте обычную веб-страницу, выделите предложение и вызовите контекстное меню. После сохранения нажмите кнопку расширения.

В списке должны появиться сам текст и адрес страницы. Откройте источник из записи и убедитесь, что переход ведёт туда, откуда вы сохранили фрагмент.

Первая ошибка - уже конкретное задание

Если Chrome не загрузил расширение, скопируйте сообщение об ошибке целиком. Передайте его нейросети вместе с актуальными файлами.

Просьба "почини, ничего не работает" заставляет модель угадывать. Полезнее указать момент сбоя и ожидаемое поведение.

Например, расширение установилось, пункт меню появился, но окно осталось пустым. Сообщите именно эту последовательность. Дополнительно откройте карточку расширения и проверьте раздел ошибок, если он появился.

Для исправления подойдёт короткий запрос.

После сохранения цитаты окно расширения остаётся пустым. Прикладываю текущие файлы и текст ошибки. Найди причину. Верни полностью только изменённые файлы и объясни, какое действие теперь проверить.

После замены файлов перезагрузите расширение через его карточку. Проверьте тот же сценарий ещё раз.

Сохраняйте предыдущую версию папки перед существенными изменениями. Если новая правка ломает сохранение, можно вернуться к состоянию, в котором проблема ещё не возникала.

Проверка, которую нельзя заменить красивым окном

Добавьте три разные цитаты с двух сайтов. Затем закройте окно расширения и откройте снова. Все записи должны остаться.

Удалите одну цитату. Убедитесь, что исчезла именно она, а остальные доступны. После этого полностью закройте Chrome и запустите заново.

Для постоянного хранения в задании указан chrome.storage.local. Данные этого хранилища сохраняются между запусками браузера, но удаляются вместе с расширением. Поэтому переустановка не подходит в качестве обычного способа обновления.

Отдельно сохраните абзац с кавычками, переносами строк и символами вроде < и >. Они должны отображаться как часть цитаты. Это проверяет требование выводить сохранённое содержимое текстом.

Попробуйте добавить несколько записей подряд. Если осталась только последняя, передайте модели точную последовательность действий. В исходном задании предусмотрены отдельные ключи для записей, и нужно проверить, соблюдено ли это условие.

Не называйте сохранение успешным только потому, что пункт меню закрылся. Подтверждение - новая запись в списке.

Следующее улучшение выбираем по использованию

Когда базовая версия прошла проверку, добавляйте одну функцию за раз. Например, поиск по тексту цитат.

В задании опишите поведение конкретно. Поиск должен проверять текст и название страницы, не учитывать регистр и возвращать полный список после очистки поля.

После изменения повторите сохранение, удаление и перезапуск браузера. Новая строка поиска не должна ломать уже проверенные действия.

Для меня следующим дополнением будет выгрузка записей в файл. Локальный список удобен, но перед переносом на другой компьютер или удалением расширения цитаты нужно сохранить отдельно.

Оформление можно менять независимо от функций. Попросите увеличить ширину окна, сделать адрес менее заметным или сократить длинные цитаты до раскрываемого фрагмента. Заодно переписывать механизм хранения не требуется.

Создание расширения с помощью ИИ здесь заканчивается инструментом с понятной задачей. При подготовке статьи достаточно выделить нужный абзац, сохранить его и позже вернуться к оригинальной странице из списка цитат.

Собираем файлы и устанавливаем расширение
77