# AI Chat

**Русский** | [English](./README.md)

AI-чат интерфейс для Timeline Studio с поддержкой нескольких AI провайдеров и 151 специализированного инструмента.

## Архитектура

### AI Провайдеры
- **Claude** (Anthropic) - Основной AI провайдер
- **OpenAI** - Модели GPT-4
- **DeepSeek** - Модели с улучшенным рассуждением
- **Ollama** - Локальные модели (Llama 2, Mistral, Code Llama)

### Основные компоненты

#### Сервисы
- `unified-ai-service.ts` - Единый AI роутер с автоматическим fallback
- `timeline-ai-service.ts` - Координация AI для Timeline
- `intent-recognition.ts` - Анализ намерений пользователя
- `chat-machine.ts` - XState машина для управления чатом

#### AI Инструменты (всего 151)
- **Timeline инструменты** (50) - Создание проектов, редактирование, анализ
- **Player инструменты** (10) - Управление воспроизведением и анализ
- **Browser инструменты** (8) - Навигация по файловой системе
- **Resource инструменты** (10) - Эффекты, фильтры, переходы
- **Управление экспортом** (12) - Оптимизация экспорта
- **Эффекты и фильтры** (10) - Визуальные эффекты
- **Обработка аудио** (12) - Анализ и редактирование аудио
- **Рендеринг и производительность** (8) - Оптимизация производительности
- **Шаблоны и макеты** (10) - Шаблоны и раскладки
- **Настройки и конфигурация** (8) - Настройки приложения
- **Цвет и стиль** (6) - Цветокоррекция и стилизация
- **Обработка медиа** (6) - Конвертация форматов

#### Специализированные системы
- **Content Intelligence** - AI-анализ контента
- **Person Identification** - Детекция и отслеживание лиц
- **Scene Analysis** - Автоматическая детекция сцен
- **FFmpeg интеграция** - Бэкенд для анализа видео

## Использование

### Чат интерфейс
```typescript
// Пользователи взаимодействуют через естественный язык
"Создай свадебное видео с романтичными переходами"
"Добавь все видео из браузера в ресурсы"
"Примени цветокоррекцию ко всем клипам"
```

### Программный API
```typescript
import { useTimelineAI } from './hooks/use-timeline-ai'

const { createTimelineFromPrompt } = useTimelineAI()
await createTimelineFromPrompt("Создай тревел-видео с энергичной музыкой")
```

## Возможности

### Потоковые ответы
- Потоковая передача ответов в реальном времени через Server-Sent Events
- Инкрементальное обновление UI с анимацией печати
- Поддержка отмены длительных запросов

### Управление контекстом
- Автоматическое сжатие контекста для больших диалогов
- Оценка токенов и обработка лимитов
- Умное сохранение контекста

### Поддержка нескольких провайдеров
- Автоматическое переключение между провайдерами
- Оптимизации для каждого провайдера
- Единая обработка ошибок

## Структура файлов

```
ai-chat/
├── services/         # AI сервисы и state machines
├── tools/           # 151 определение AI инструментов
├── hooks/           # React хуки
├── components/      # UI компоненты
├── types/           # TypeScript определения
└── utils/           # Вспомогательные функции
```

## Документация

- [Сервисы](./services/README.ru.md) - Реализации AI сервисов
- [Инструменты](./tools/README.ru.md) - Определения и использование AI инструментов
- [Компоненты](./components/README.ru.md) - React UI компоненты
- [Хуки](./hooks/README.ru.md) - React хуки для AI функциональности
- [Типы](./types/README.ru.md) - TypeScript определения типов
- [Утилиты](./utils/README.ru.md) - Вспомогательные функции
- [Примеры](./examples/README.ru.md) - Примеры использования и паттерны