# Changelog

Все изменения в проекте Qwen Alpha.

## [2.0.0] — 2026-03-02

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

- **Системные промпты** — кастомизация поведения бота под разные задачи
  - Команда `/setSystemPrompt <промт>` — установка промпта
  - Команда `/getSystemPrompt` — просмотр текущего промпта
  - Команда `/resetSystemPrompt` — сброс к промпту по умолчанию
  - Промпт сохраняется в БД и переживает перезапуск бота
  - Автоматическая инициализация при первом запуске

- **Команда `/instructions`** — подробные инструкции по настройке
  - Для супер-админа: настройка промпта, примеры, управление админами
  - Для всех: работа с кодом, контекст, безопасность

- **Система безопасности**
  - `DANGEROUS_PATTERNS` — блокировка опасных запросов (shell, файлы, секреты)
  - `SENSITIVE_PATTERNS` — скрытие чувствительной информации в ответах
  - Middleware `securityMiddleware` — проверка запросов ДО отправки в Qwen
  - Фильтр `filterResponse` — очистка ответов ПОСЛЕ получения от Qwen
  - Супер-админ обходит все проверки

- **Интеграция с Qwen Code**
  - Передача ID пользователя в запросе
  - Добавление информации о правах в системный промпт
  - Разные промпты для супер-админа и обычных пользователей

- **Улучшенное форматирование**
  - Переход на HTML вместо Markdown (стабильнее)
  - Обработка заголовков: `#` → `**🔸 Заголовок**`
  - Обработка цитат: `>` → обычный текст
  - Предобработка `preprocessMarkdown()` для неподдерживаемых элементов

- **Приветствие супер-админа**
  - Расширенное сообщение при первом `/start`
  - Пошаговые инструкции по настройке
  - Примеры системных промптов

### 🔧 Исправления

- Исправлены ошибки парсинга Markdown (незакрытые теги)
- Исправлено форматирование Prettier
- Увеличен таймаут Qwen: 120с → 300с (5 минут)
- Увеличен таймаут Telegraf: 120с → 360с (6 минут)
- Удалена функция `escapeMarkdownV2()` (не нужна с HTML)

### 📦 Изменения

- Версия: `1.0.20` → `2.0.0`
- Обновлён README.md с полным описанием v2.0
- Обновлён `.env.example` с новыми опциями
- Создан `CHANGELOG.md`
- Обновлён `PUBLISH.md` с инструкциями для v2.0

### 🎯 Сценарии использования

1. **Консультант магазина**

   ```
   /setSystemPrompt Ты — консультант магазина электроники...
   ```

2. **Техподдержка SaaS**

   ```
   /setSystemPrompt Ты — техподдержка CRM-системы...
   ```

3. **Юридический бот**

   ```
   /setSystemPrompt Ты — юридический консультант по праву РФ...
   ```

4. **AI-ассистент кода**
   ```
   /setSystemPrompt Ты — AI-ассистент для работы с кодом...
   ```

---

## [1.0.20] — 2026-03-01

### Добавлено

- Базовая функциональность Telegram-бота
- Интеграция с Qwen Code (headless режим)
- Code review, генерация кода, объяснение
- Сессии и контекст диалога
- Админ-панель (`/admin`)
- Статистика пользователей
- Rate limiting
- Логирование (pino)
- JSON хранилище (~/.qwen-alpha/)

### Исправлено

- Ошибки обработки сообщений
- Проблемы с таймаутами
- Форматирование ответов

---

## Формат

Следуем [Semantic Versioning](https://semver.org/lang/ru/).

Формат версий: `[MAJOR.MINOR.PATCH]`

- **MAJOR** — несовместимые изменения API
- **MINOR** — новые возможности (обратная совместимость)
- **PATCH** — исправления багов (обратная совместимость)
