Chrome-расширение для автоматического анализа задач программирования с помощью Google Gemini AI
Code Helper - это умное Chrome-расширение, которое автоматически обнаруживает код на веб-страницах и предоставляет подсказки, объяснения и рекомендации через Google Gemini AI. Расширение работает полностью на фронтенде, без необходимости в backend-сервере.
- 🔍 Автоматическое обнаружение кода - детектирует блоки кода на любых веб-страницах
- 🤖 AI-анализ с Gemini - получайте мгновенные подсказки и объяснения
- 💡 Множество режимов анализа:
- Объяснение кода
- Оптимизация
- Поиск ошибок
- Решение задач
- 🎨 Современный UI - React + TailwindCSS
- 🔒 Безопасность - работает только в popup, не вмешивается в страницы
- 🌐 Поддержка множества языков - JavaScript, Python, Java, C++, и другие
- Frontend: React 18 + TypeScript
- Styling: TailwindCSS
- Build Tool: Vite
- AI API: Google Gemini Pro
- Icons: Lucide React
- Chrome APIs: Manifest V3
- Node.js 18+
- npm или yarn
- Google Chrome браузер
- Gemini API ключ (получить здесь)
- Клонируйте проект
cd code-helper-chrome-extension- Установите зависимости
npm install- Соберите проект
npm run build-
Загрузите расширение в Chrome
- Откройте
chrome://extensions/ - Включите "Режим разработчика" (Developer mode)
- Нажмите "Загрузить распакованное расширение" (Load unpacked)
- Выберите папку
distв проекте
- Откройте
-
Настройте API ключ
- Кликните на иконку расширения
- Введите ваш Gemini API ключ
- Готово!
- Откройте любую страницу с кодом (LeetCode, GitHub, StackOverflow и т.д.)
- Расширение автоматически обнаружит код на странице
- Кликните на иконку расширения
- Выберите блок кода для анализа
- Выберите тип анализа:
- Объяснить - получите подробное объяснение кода
- Оптимизировать - узнайте, как улучшить код
- Дебаг - найдите возможные ошибки
code-helper-chrome-extension/
├── src/
│ ├── components/ # React компоненты
│ │ ├── ApiKeySetup.tsx # Настройка API ключа
│ │ └── CodeAnalyzer.tsx # Анализатор кода
│ ├── content_scripts/ # Content scripts
│ │ └── index.js # Детектор кода на странице
│ ├── background/ # Background service worker
│ │ └── index.js # Обработчик фоновых задач
│ ├── services/ # Сервисы
│ │ └── gemini.js # Gemini API клиент
│ ├── hooks/ # React hooks
│ │ ├── useGemini.js # Hook для работы с AI
│ │ └── usePageAnalysis.js # Hook для анализа страницы
│ ├── utils/ # Утилиты
│ │ ├── codeFormatter.js # Форматирование кода
│ │ └── storage.js # Работа с Chrome Storage
│ ├── types/ # TypeScript типы
│ │ └── index.ts # Определения типов
│ └── popup/ # Popup окно
│ ├── App.tsx # Главный компонент
│ ├── main.tsx # Точка входа
│ └── index.css # Стили
├── public/ # Публичные файлы
│ └── icons/ # Иконки расширения
├── manifest.json # Chrome extension manifest
├── vite.config.js # Конфигурация Vite
├── tailwind.config.js # Конфигурация Tailwind
├── tsconfig.json # TypeScript конфигурация
├── package.json # Зависимости проекта
└── README.md # Документация
npm run devnpm run buildnpm run watch- Внедряется на все веб-страницы
- Детектирует блоки кода через DOM
- Анализирует CodeMirror, Monaco Editor и обычные
<code>теги - Определяет язык программирования
- Отправляет данные в popup через Chrome API
- React приложение с современным UI
- Отображает найденные блоки кода
- Взаимодействует с Gemini API
- Показывает результаты анализа
- Управляет API ключом
- Управляет иконкой расширения
- Обрабатывает установку/обновление
- Координирует обмен сообщениями
- Прямые вызовы Gemini API
- Обработка ошибок и retry логика
- Кэширование API ключа
- Различные типы промптов для анализа
- API ключ хранится в
chrome.storage.sync(зашифрован Chrome) - Расширение не внедряет код в поля ввода сайтов
- Все подсказки отображаются только в popup
- Работает по принципу "read-only" на страницах
- Соответствует Chrome Web Store политикам
Расширение оптимизировано для Chrome Web Store:
- Полное описание функционала
- Ключевые слова: code assistant, programming helper, AI coding
- Screenshots в высоком разрешении
- Детальная документация
- Примеры использования
Каждый файл содержит подробные комментарии:
- Описание назначения файла
- JSDoc комментарии для функций
- Объяснение сложной логики
- TypeScript типы для всех данных
Приветствуются pull requests! Для крупных изменений:
- Откройте issue для обсуждения
- Создайте feature branch
- Напишите тесты (если применимо)
- Отправьте pull request
MIT License - свободное использование
- Некоторые динамические редакторы кода могут требовать обновления анализа
- API ключ должен быть настроен перед первым использованием
- Ограничения Gemini API (RPM/TPM) могут влиять на скорость
- Поддержка side panel API
- История анализов
- Экспорт результатов
- Настройки промптов
- Темная тема
- Мультиязычность интерфейса
Если у вас возникли проблемы или вопросы:
- Проверьте Issues
- Создайте новый Issue с описанием проблемы
- Приложите скриншоты (если возможно)
Создано с ❤️ для разработчиков, разработчиками