code-review-agent/CHANGELOG.md
Primakov Alexandr Alexandrovich 09cdd06307 init
2025-10-12 23:15:09 +03:00

6.8 KiB
Raw Permalink Blame History

Changelog

2025-10-10 - Улучшения UI и функционала

Новые возможности

1. Модальные окна

  • Создан компонент Modal - универсальное модальное окно с типами: info, success, error, warning
  • Создан компонент ConfirmModal - модальное окно подтверждения с кнопками действий
  • Заменены все alert() и confirm() на красивые модальные окна
  • Добавлена анимация появления модалок

2. Повторное ревью

  • Добавлена кнопка "🔄 Повторить ревью":
    • Отображается для завершенных ревью
    • Отображается для упавших ревью (с ошибками)
  • Backend endpoint для повторного запуска: POST /api/reviews/{review_id}/retry
  • Модальное подтверждение перед повторным запуском

3. Улучшенные промпты AI

  • Более строгий системный промпт - агент теперь внимательнее к деталям
  • Детальный diff review промпт с конкретными примерами:
    • Находит опечатки (например, 'shmapplication/json')
    • Находит незакрытые скобки в JSX
    • Находит неправильное использование React key
    • Находит нарушения синтаксиса

4. Улучшенные комментарии в PR

  • Агент ВСЕГДА оставляет комментарий в PR:
    • Если нашел проблемы: подробный список с severity
    • Если не нашел: " Серьезных проблем не найдено!"
  • Красивый summary с подсчетом:
    🤖 AI Code Review завершен
    
    Найдено проблем: 3
    - ❌ Критичных: 2
    - ⚠️ Важных: 1
    
    Проанализировано файлов: 2
    

🐛 Исправления

1. Исправлена критическая ошибка с токенами

  • Проблема: API токены передавались в зашифрованном виде в Git сервисы
  • Решение: Добавлена расшифровка токенов перед использованием в ReviewerAgent._get_git_service()
  • Результат: Gitea/GitHub/Bitbucket API теперь принимают токены (401 ошибка исправлена)

2. Исправлена ошибка парсинга CORS

  • Проблема: pydantic-settings не мог распарсить cors_origins
  • Решение: Добавлен validator для поддержки разных форматов:
    • Через запятую: http://localhost:5173,http://localhost:3000
    • JSON массив: ["http://localhost:5173"]
    • Одиночная строка: http://localhost:5173

📁 Новые файлы

  • frontend/src/components/Modal.tsx - Компоненты модальных окон
  • START_PROJECT.md - Упрощенная инструкция по запуску
  • CHANGELOG.md - Этот файл

🔄 Измененные файлы

Backend:

  • backend/app/config.py - Добавлен validator для cors_origins
  • backend/app/utils.py - Добавлена обработка ошибок расшифровки
  • backend/app/agents/reviewer.py - Расшифровка токенов, улучшенная логика комментариев
  • backend/app/agents/prompts.py - Улучшенные промпты для AI
  • backend/app/api/repositories.py - Обработка ошибок расшифровки
  • backend/.env - Правильный формат конфигурации

Frontend:

  • frontend/src/index.css - Анимация для модалок
  • frontend/src/pages/Repositories.tsx - Использование модалок
  • frontend/src/pages/Reviews.tsx - Функционал повторного ревью + модалки
  • frontend/src/components/ReviewList.tsx - Кнопка "Повторить ревью"
  • frontend/src/api/client.ts - Добавлен метод retryReview()

🎨 UI/UX улучшения

  1. Модальные окна вместо системных alert/confirm
  2. Индикаторы загрузки в модалках подтверждения
  3. Кнопка повторного ревью для упавших/завершенных ревью
  4. Анимированное появление модалок
  5. Цветовая индикация типа модалки (success/error/warning/info)

🧪 Как протестировать

Модальные окна:

  1. Добавьте репозиторий - увидите success модалку
  2. Удалите репозиторий - появится confirm модалка
  3. Попробуйте сканировать - появится confirm модалка

Повторное ревью:

  1. Перейдите в Ревью
  2. Найдите завершенное или упавшее ревью
  3. Нажмите 🔄 Повторить (или 🔄 Повторить ревью)
  4. Подтвердите в модалке
  5. Ревью запустится заново

Улучшенный AI:

  1. Создайте PR с ошибками:
    • Опечатка в строке (например, 'shmapplication/json')
    • Незакрытая скобка в JSX
    • Неправильный key в React списке
  2. Запустите ревью
  3. Агент должен найти ВСЕ эти проблемы и прокомментировать

📊 Метрики

  • Добавлено: ~500 строк кода
  • Изменено: ~15 файлов
  • Новых компонентов: 2 (Modal, ConfirmModal)
  • Новых API методов: 1 (retryReview)
  • Исправлено критических багов: 2

🚀 Следующие шаги

Потенциальные улучшения:

  • Добавить настройки агента (temperature, model)
  • Webhook автоматическое создание при добавлении репозитория
  • Фильтрация файлов для ревью (ignore patterns)
  • Кастомные правила ревью
  • История изменений репозитория
  • Email уведомления о завершении ревью