Профессиональное веб-приложение и desktop-клиент для комплексного анализа конкурентной среды с использованием искусственного интеллекта
- О проекте
- Основные функции
- Скриншоты интерфейса
- Быстрый старт
- Desktop приложение
- Структура проекта
- Технологический стек
- API Документация
- Особенности интерфейса
- Расширенные метрики
- Производительность и лимиты
- Безопасность
- Разработка
- Примеры использования
- Конфигурация
- Решение проблем
- FAQ
- Roadmap
Мониторинг конкурентов — это полнофункциональное приложение для анализа конкурентной среды, которое помогает бизнесу получать структурированную аналитику о конкурентах. Приложение использует передовые технологии искусственного интеллекта для анализа текстов, изображений и веб-сайтов конкурентов.
- 🤖 AI-анализ текста — глубокий анализ текстового контента конкурентов
- 🖼️ Анализ изображений — оценка визуального стиля, маркетинговых материалов и упаковки
- 🌐 Автоматический парсинг сайтов — извлечение и анализ контента конкурентов
- 📊 Расширенные метрики — комплексная оценка по множеству параметров
- 📋 История запросов — сохранение и просмотр всех анализов
- 💻 Desktop приложение — нативное приложение для Windows
- 🌐 Веб-интерфейс — современный и интуитивный веб-клиент
Анализирует текстовый контент конкурентов (описания продуктов, рекламные тексты, контент сайтов) и предоставляет:
- ✅ Сильные стороны — что делает конкурента успешным
⚠️ Слабые стороны — уязвимости и недостатки- ⭐ Уникальные предложения — отличительные особенности
- 💡 Рекомендации — практические советы по улучшению
- 📊 Расширенные метрики:
- Оценка дизайна (0-10)
- Уровень доверия (0-10)
- Восприятие зрелости AI (0-10)
- Ясность ценностного предложения (0-10)
- Готовность к enterprise (0-10)
- Риск AI washing (0-10)
- Области фокуса автоматизации
- Целевые лица, принимающие решения
- Потенциал анимации с рекомендуемыми элементами
- 📝 Общее резюме — краткое изложение анализа
Анализирует визуальные материалы конкурентов (баннеры, скриншоты сайтов, упаковку товаров) и предоставляет:
- 🖼️ Детальное описание — что изображено на картинке
- 💡 Маркетинговые инсайты — ключевые находки
- ⭐ Оценка визуального стиля (0-10) с детальным анализом
- 📊 Все расширенные метрики (как в анализе текста)
- 📋 Рекомендации по улучшению визуального контента
Автоматически извлекает и анализирует контент сайтов конкурентов:
- 🌐 Автоматический парсинг — извлечение title, H1, первого абзаца
- 📸 Скриншот страницы — визуальное представление сайта
- 🤖 AI-анализ — комплексный анализ на основе извлечённого контента и скриншота
- 📊 Все метрики и оценки — полный анализ как при работе с текстом
- 📋 Сохранение анализов — последние 10 запросов сохраняются автоматически
- 🔍 Просмотр истории — быстрый доступ к предыдущим анализам
- 📊 Полные данные — возможность просмотреть полный анализ из истории
- 🗑️ Очистка истории — управление сохранёнными данными
📸 Добавление скриншотов: Для добавления скриншотов разместите изображения в папке
docs/screenshots/с указанными именами. Подробные инструкции: docs/screenshots/README.md
Интерфейс для анализа текстового контента конкурентов с примером заполненного текста
Загрузка и анализ визуальных материалов через drag & drop или выбор файла
Автоматический парсинг и анализ веб-сайтов конкурентов
Детальные результаты анализа с расширенными метриками, оценками и рекомендациями
История всех выполненных анализов с возможностью просмотра полных результатов
Главное окно desktop приложения с нативным интерфейсом Windows
Отображение результатов анализа в desktop приложении
- Python 3.11+ (скачать)
- OpenAI API ключ или ProxyAPI ключ
- Google Chrome (для парсинга сайтов через Selenium)
- Интернет-соединение
git clone https://github.com/pslsp/competitor-monitor.git
cd competitor-monitorWindows:
python -m venv venv
venv\Scripts\activateLinux/Mac:
python3 -m venv venv
source venv/bin/activatepip install -r requirements.txtСоздайте файл .env в корне проекта на основе env.example.txt:
# ProxyAPI (OpenAI-совместимый API для России)
PROXY_API_KEY=your_proxy_api_key_here
# Модели OpenAI (опционально, есть значения по умолчанию)
OPENAI_MODEL=gpt-4o-mini
OPENAI_VISION_MODEL=gpt-4o-miniВажно: Если вы используете стандартный OpenAI API, измените
proxy_api_base_urlвbackend/config.pyнаhttps://api.openai.com/v1
Вариант 1: Через run.py (рекомендуется)
python run.pyВариант 2: Через uvicorn напрямую
uvicorn backend.main:app --reload --host 0.0.0.0 --port 8000Приложение будет доступно по адресу: http://localhost:8000
Проект включает полнофункциональное desktop приложение на PyQt6 для Windows.
cd desktop
pip install -r requirements.txt
python main.pycd desktop
python build.pyГотовый .exe файл будет в папке desktop/dist/CompetitorMonitor.exe
Подробная документация по desktop приложению: desktop/README.md
competitor-monitor/
├── backend/ # Backend приложение
│ ├── __init__.py
│ ├── main.py # FastAPI приложение и эндпоинты
│ ├── config.py # Конфигурация и настройки
│ ├── models/ # Pydantic модели
│ │ ├── __init__.py
│ │ └── schemas.py # Схемы данных для API
│ └── services/ # Бизнес-логика
│ ├── __init__.py
│ ├── openai_service.py # Работа с OpenAI/ProxyAPI
│ ├── parser_service.py # Парсинг веб-страниц (Selenium)
│ └── history_service.py # Управление историей запросов
│
├── frontend/ # Веб-интерфейс
│ ├── index.html # Главная страница
│ ├── styles.css # Стили (тёмная тема)
│ └── app.js # JavaScript логика
│
├── desktop/ # Desktop приложение
│ ├── main.py # PyQt6 приложение
│ ├── api_client.py # API клиент
│ ├── styles.py # Стили интерфейса
│ ├── build.py # Скрипт сборки .exe
│ ├── requirements.txt # Зависимости desktop приложения
│ └── README.md # Документация desktop приложения
│
├── data/ # Тестовые данные (опционально)
│ └── *.png, *.pdf # Примеры изображений и документов
│
├── requirements.txt # Python зависимости
├── env.example.txt # Пример .env файла
├── run.py # Скрипт запуска приложения
├── history.json # Файл истории (создаётся автоматически)
├── README.md # Этот файл
└── docs.md # Документация API
- FastAPI — современный веб-фреймворк для Python
- Uvicorn — ASGI сервер
- Pydantic — валидация данных и настройки
- OpenAI API / ProxyAPI — работа с AI моделями
- Selenium — автоматизация браузера для парсинга
- BeautifulSoup4 — парсинг HTML
- httpx — асинхронные HTTP запросы
- Vanilla JavaScript — без фреймворков, чистый JS
- CSS3 — современные стили с тёмной темой
- HTML5 — семантическая разметка
- PyQt6 — кроссплатформенный GUI фреймворк
- PyInstaller — упаковка в .exe файл
- OpenAI GPT-4o-mini — модель для анализа текста
- OpenAI Vision API — анализ изображений
После запуска сервера доступна интерактивная документация:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
Анализ текста конкурента
Запрос:
{
"text": "Текст для анализа..."
}Ответ:
{
"success": true,
"analysis": {
"strengths": ["..."],
"weaknesses": ["..."],
"unique_offers": ["..."],
"design_score": 8,
"trust_level": 7,
"ai_maturity_perception": 6,
"value_proposition_clarity": 8,
"enterprise_readiness_score": 7,
"ai_washing_risk": 3,
"automation_focus_areas": ["..."],
"decision_maker_targeting": ["..."],
"animation_potential": {
"score": 6,
"recommended_elements": ["..."]
},
"recommendations": ["..."],
"summary": "..."
}
}Анализ изображения
Запрос: multipart/form-data с файлом изображения
Ответ: Аналогичен /analyze_text, но с дополнительными полями:
description— описание изображенияmarketing_insights— маркетинговые инсайтыvisual_style_score— оценка визуального стиляvisual_style_analysis— анализ визуального стиля
Парсинг и анализ сайта
Запрос:
{
"url": "example.com"
}Ответ:
{
"success": true,
"data": {
"url": "https://example.com",
"title": "...",
"h1": "...",
"first_paragraph": "...",
"analysis": { /* полный анализ как в analyze_text */ }
}
}Получить историю запросов
Получить конкретную запись истории
Очистить историю
Проверка работоспособности сервиса
Подробная документация: docs.md
- 🌙 Тёмная тема — современный дизайн с тёмной цветовой схемой
- 📱 Адаптивный дизайн — работает на всех устройствах
- ⚡ Быстрая загрузка — оптимизированный код без лишних зависимостей
- 🎯 Интуитивная навигация — простое и понятное меню
- 📊 Визуализация метрик — прогресс-бары для оценок
- 🔄 Автоматическая очистка — результаты очищаются при переключении вкладок
- 💻 Нативный интерфейс — выглядит как стандартное Windows приложение
- 🖱️ Drag & Drop — перетаскивание изображений для анализа
- 📋 История с кликами — быстрый доступ к предыдущим анализам
- 🎨 Единый стиль — тот же дизайн, что и в веб-версии
Приложение предоставляет комплексную оценку конкурентов по следующим параметрам:
| Метрика | Описание | Диапазон |
|---|---|---|
| Оценка дизайна | Общая оценка визуального и UX дизайна | 0-10 |
| Уровень доверия | Насколько доверительно выглядит продукт/компания | 0-10 |
| Восприятие зрелости AI | Насколько зрелым выглядит AI-продукт | 0-10 |
| Ясность ценностного предложения | Насколько понятно УТП | 0-10 |
| Готовность к enterprise | Готовность продукта для корпоративного сегмента | 0-10 |
| Риск AI washing | Риск использования AI только для маркетинга | 0-10 |
| Области фокуса автоматизации | Список областей, на которых фокусируется автоматизация | - |
| Целевые лица, принимающие решения | Кто является целевой аудиторией (CEO, CTO и т.д.) | - |
| Потенциал анимации | Оценка потенциала использования анимации + рекомендации | 0-10 |
- Анализ текста: 5-15 секунд (зависит от длины текста)
- Анализ изображения: 10-30 секунд (зависит от размера изображения)
- Парсинг сайта: 15-45 секунд (зависит от скорости загрузки сайта)
Приложение использует внешние AI API, которые могут иметь свои лимиты:
- ProxyAPI: проверьте лимиты в личном кабинете на https://proxyapi.ru/
- OpenAI: стандартные лимиты OpenAI API (зависит от тарифа)
- Для больших объёмов текста (>5000 символов) анализ может занять больше времени
- Изображения автоматически оптимизируются перед отправкой
- Парсинг сайтов с защитой от ботов может не работать
- ✅ Валидация входных данных — все данные проверяются через Pydantic
- ✅ Обработка ошибок — корректная обработка всех исключений
- ✅ CORS настройки — безопасная работа с фронтендом
- ✅ Переменные окружения — API ключи хранятся в .env файле
⚠️ Не храните .env файл в Git — добавьте его в .gitignore
# С автоперезагрузкой при изменении кода
python run.py
# или
uvicorn backend.main:app --reload# Проверка работоспособности
curl http://localhost:8000/health
# Анализ текста
curl -X POST http://localhost:8000/analyze_text \
-H "Content-Type: application/json" \
-d '{"text": "Ваш текст для анализа"}'Все запросы логируются в консоль с подробной информацией:
- Время выполнения
- Статус ответа
- Использованные токены (если доступно)
- Откройте веб-интерфейс: http://localhost:8000
- Перейдите на вкладку "Анализ текста"
- Вставьте текст конкурента (например, описание продукта)
- Нажмите "Проанализировать"
- Изучите результаты: сильные/слабые стороны, метрики, рекомендации
- Перейдите на вкладку "Анализ изображений"
- Загрузите скриншот сайта конкурента или баннер
- Нажмите "Проанализировать"
- Получите оценку визуального стиля и маркетинговые инсайты
- Перейдите на вкладку "Парсинг сайта"
- Введите URL конкурента (например:
competitor.com) - Нажмите "Парсить и анализировать"
- Дождитесь автоматического парсинга и анализа
- Просмотрите комплексный анализ сайта
Основные настройки находятся в backend/config.py:
# API настройки
api_host: str = "0.0.0.0" # Хост сервера
api_port: int = 8000 # Порт сервера
# История
max_history_items: int = 10 # Максимум записей в истории
# Парсер
parser_timeout: int = 10 # Таймаут парсинга (секунды)Решение:
- Убедитесь, что порт 8000 свободен
- Проверьте, что все зависимости установлены:
pip install -r requirements.txt - Проверьте наличие файла
.envс корректными настройками - Убедитесь, что используется Python 3.11 или выше
Решение:
- Проверьте правильность API ключа в
.env - Убедитесь, что у вас есть доступ к интернету
- Проверьте баланс API ключа (для ProxyAPI)
- Для ProxyAPI: убедитесь, что ключ активен на https://proxyapi.ru/
Решение:
- Убедитесь, что установлен Google Chrome
- Проверьте, что ChromeDriver установлен (устанавливается автоматически через webdriver-manager)
- Увеличьте
parser_timeoutв конфигурации для медленных сайтов - Проверьте, что сайт доступен и не блокирует автоматизированные запросы
Решение:
- Убедитесь, что backend сервер запущен
- Проверьте, что сервер доступен на
http://localhost:8000 - Проверьте статус подключения в нижней части бокового меню
- Попробуйте перезапустить backend сервер
Решение:
- Убедитесь, что виртуальное окружение активировано
- Переустановите зависимости:
pip install -r requirements.txt - Для desktop приложения:
pip install -r desktop/requirements.txt
Решение:
- Убедитесь, что PyInstaller установлен:
pip install pyinstaller - Очистите артефакты:
python desktop/build.py clean - Проверьте, что все зависимости desktop приложения установлены
- Убедитесь, что вы находитесь в директории
desktop/при запуске сборки
Мы приветствуем вклад в развитие проекта! Пожалуйста:
- Fork проекта
- Создайте ветку для новой функции (
git checkout -b feature/AmazingFeature) - Закоммитьте изменения (
git commit -m 'Add some AmazingFeature') - Push в ветку (
git push origin feature/AmazingFeature) - Откройте Pull Request
Этот проект распространяется под лицензией MIT. См. файл LICENSE для подробностей.
- ОС: Windows 10/11, Linux, macOS
- Python: 3.11 или выше
- Память: минимум 2 GB RAM
- Диск: 500 MB свободного места
- Браузер: Chrome, Firefox, Edge (последние версии)
- Интернет: для работы с AI API
- ОС: Windows 10/11 (64-bit)
- Память: минимум 2 GB RAM
- Диск: 100 MB для приложения + место для истории
- Интернет: для работы с backend API
- Google Chrome: последняя версия (устанавливается автоматически)
- ChromeDriver: устанавливается автоматически через webdriver-manager
**PSLSP / Zerocoder © **
- GitHub: @pslsp
- Email: mail@spuzyrev.ru
- OpenAI за предоставление мощных AI моделей
- FastAPI за отличный веб-фреймворк
- PyQt6 за кроссплатформенный GUI
- Университету Zerocoder - за идею проекта
- Всем контрибьюторам проекта
Для ProxyAPI (рекомендуется для России):
- Зарегистрируйтесь на https://proxyapi.ru/
- Получите API ключ в личном кабинете
- Добавьте его в
.envфайл какPROXY_API_KEY
Для OpenAI:
- Зарегистрируйтесь на https://platform.openai.com/
- Создайте API ключ
- Измените
proxy_api_base_urlвbackend/config.pyнаhttps://api.openai.com/v1 - Добавьте ключ в
.envкакPROXY_API_KEY
Нет, приложение требует API ключ для работы с AI моделями. Без ключа анализ работать не будет.
Приложение работает с любыми OpenAI-совместимыми моделями:
- GPT-4o, GPT-4o-mini (рекомендуется)
- GPT-4-turbo
- GPT-3.5-turbo
- Другие модели через ProxyAPI
Да, измените api_port в backend/config.py или через переменную окружения.
История хранится в файле history.json в корне проекта. Файл создаётся автоматически при первом анализе.
Да, измените max_history_items в backend/config.py.
- Поддержка экспорта результатов в PDF/Excel
- Сравнительный анализ нескольких конкурентов
- Интеграция с другими AI моделями (Claude, Gemini)
- Мобильное приложение (iOS/Android)
- Расширенная аналитика и дашборды
- API для интеграции с другими системами
- Поддержка нескольких языков интерфейса
- Плагины и расширения
Если этот проект помог вам, пожалуйста, поставьте звезду ⭐ на GitHub!
Сделано с ❤️ для анализа конкурентной среды