История сессий¶
История сессий — это система управления сессиями диалога с AI в Koda. Каждая сессия сохраняет полную историю переписки, контекст и результаты работы, позволяя вернуться к предыдущим обсуждениям.
Что такое сессия?¶
Сессия — это отдельный диалог с AI со своей историей сообщений, контекстом и настройками.
Характеристики сессии¶
| Параметр | Описание |
|---|---|
| ID | Уникальный идентификатор сессии |
| Заголовок | Автоматически генерируемое или пользовательское название |
| Дата создания | Время начала сессии |
| Режим | Chat, Agent, Edit, Plan |
| История | Все сообщения в диалоге |
| Контекст | Прикреплённые файлы и данные |
Навигация по истории¶
Просмотр всех сессий¶
Шаг 1: Откройте историю
- Нажмите на иконку History (📚) в боковой панели
- Или используйте переход на страницу
/history
Шаг 2: Просмотрите список
Сессии отображаются в хронологическом порядке:
- Today — сегодня
- This Week — эта неделя
- This Month — этот месяц
- Older — старые
Поиск сессий¶
Поиск по заголовку:
- Введите текст в поле поиска
- Используйте fuzzy-поиск (допускает ошибки)
- Результаты фильтруются автоматически
Примеры поиска:
"React компонент" → найдёт "Создание React компонента"
"API endpoint" → найдёт "Разработка REST API"
"база данных" → найдёт "Работа с PostgreSQL"
Очистка поиска:
- Нажмите X в поле поиска
- Или удалите текст вручную
Сортировка сессий¶
Сессии автоматически сортируются по дате:
- Новые сверху — последние сессии первыми
- Хронологически — в порядке создания
Группировка:
- Today — сессии за сегодня
- This Week — за последние 7 дней
- This Month — за последние 30 дней
- Older — всё остальное
Управление сессиями¶
Новая сессия¶
Создание через интерфейс:
- Нажмите
+(New Session) в верхней панели - Или перейдите в чат и начните новый диалог
Горячие клавиши: Ctrl/⌘ + L
Автоматическое создание:
- При перезапуске IDE создаётся новая сессия
- Предыдущая сессия сохраняется автоматически
Переключение между сессиями¶
Через историю:
- Откройте History (📚)
- Найдите нужную сессию
- Кликните на строку сессии
- Сессия загружается в чат
Через табы (если включено):
- Используйте переключатель табов
- Каждая вкладка — отдельная сессия
- Переключайтесь кликом
Переименование сессии¶
Автоматические заголовки:
По умолчанию Koda генерирует заголовки автоматически:
- На основе первого сообщения
- Использует AI для создания краткого описания
- Включает ключевые темы
Включение/выключение:
Управляется настройкой Заголовки сессий на странице Пользовательские настройки.
Эта настройка соответствует параметру disableSessionTitles в конфигурации.
Ручное переименование:
- Откройте сессию в истории
- Нажмите на заголовок
- Введите новое название
- Нажмите Enter
Удаление сессии¶
Удаление одной сессии:
- Откройте History
- Найдите сессию
- Нажмите 🗑️ Delete
- Подтвердите удаление
Через контекстное меню:
- Правый клик на сессии
- Выберите Delete
- Подтвердите
Очистка всей истории¶
Через интерфейс:
- Откройте History
- Прокрутите вниз
- Нажмите Clear session history
- Подтвердите удаление
Что удаляется:
- ✅ Все сохранённые сессии
- ✅ История переписки
- ✅ Контекстные данные
Что сохраняется:
- ✅ Текущая активная сессия
- ✅ Настройки Koda
- ✅ Навыки и MCP
Экспорт и импорт¶
Экспорт сессии¶
В JSON через интерфейс:
- Откройте Историю сессий
- Найдите нужную сессию
- Нажмите кнопку Экспорт JSON на строке сессии
- Выберите директорию для сохранения
Результат:
- JSON-файл с полным диалогом сессии
- Включает сообщения, вызовы инструментов и контекст
Резервная копия
Экспорт JSON — удобный способ сохранить важные сессии перед очисткой истории или переустановкой IDE.
Импорт сессии¶
Отдельной кнопки импорта в интерфейсе сейчас нет. Загрузка сессии выполняется автоматически из локального хранилища при выборе сессии в истории.
Автоматическое сохранение¶
Когда сохраняется¶
Автоматически:
- При каждом новом сообщении
- При завершении стриминга
- При переключении сессий
- При закрытии IDE
- При изменении режима
Вручную:
- При экспорте сессии в JSON через историю сессий
Хранение данных¶
Расположение:
- Windows:
%USERPROFILE%/.koda/sessions/ - Linux / MacOS:
$HOME/.koda/sessions/
Структура:
Размер:
- Зависит от длины истории
- В среднем 10-100 KB на сессию
- При большом контексте — до 1 MB
Синхронизация¶
Между устройствами¶
Telegram Remote:
При использовании Telegram:
- Сессии хранятся на сервере
- Доступны с любого устройства
- Синхронизируются автоматически
ID сессии:
- Уникальный для каждого remote request
- Сохраняется в метаданных
- Позволяет продолжить с другого устройства
В пределах IDE¶
Автосохранение:
- Локальное хранилище
- IndexedDB в браузере
- Файлы на диске в IDE
Восстановление:
- При перезапуске IDE
- После сбоя
- При переключении рабочей области
Сессии в режимах¶
Режим Chat¶
Особенности:
- Полная история диалога
- Контекстные файлы
- Вложения кода
Сохранение:
- Каждое сообщение
- Контекстные провайдеры
- Выделения кода
Режим Agent¶
Особенности:
- История вызовов инструментов
- Результаты выполнения
- Изменения файлов
Сохранение:
- Вызовы инструментов и результаты их работы
- Применённые диффы
- Состояние выполнения
Пример:
User: Создай компонент
Agent: [read_file: Component.tsx]
Agent: [edit_file: Component.tsx]
Agent: Компонент создан
Режим Edit¶
Особенности:
- Быстрые правки выделенного кода
- Короткие сессии
Сохранение:
- Запрос на редактирование
- Применённый дифф
Продвинутые возможности¶
Суммаризация истории¶
Автоматическая:
При длинной истории Koda автоматически суммаризирует:
- Старые сообщения
- Результаты вызовов инструментов
- Контекстные данные
Ручная:
Используйте команду /summarize:
Что делает:
- Анализирует историю
- Создаёт краткое описание
- Добавляет как summary message
- Уменьшает использование токенов
Результат:
[Summary: 15 сообщений сжато в 1 абзац]
Пользователь спрашивал о создании React компонента.
Агент предоставил код с хуками useState и useEffect.
Компонент включает валидацию формы и обработку ошибок.
Управление токенами¶
Контекстное окно:
Модели имеют лимит токенов:
- GPT-4: 8,000 - 128,000 токенов
- Claude: 100,000 - 200,000 токенов
- Llama: 4,000 - 32,000 токенов
Оптимизация:
- Суммаризация старых сообщений
- Удаление результатов вызовов инструментов
- Обрезка контекста
Индикатор использования:
Koda показывает использование контекста:
- 0-50% ✅ — достаточно места
- 50-80% ⚠️ — рекомендуется суммаризация
- 80-100% ❌ — начнутся обрезания
Ветвление сессий¶
Создание копии:
- Откройте сессию
- Сохраните как новую
- Продолжите в другом направлении
Use case:
- Разные варианты решения
- A/B тестирование подходов
- Сохранение альтернатив
Метаданные сессии¶
У каждой сессии есть служебные данные, которые сохраняются автоматически:
- идентификатор сессии;
- заголовок;
- дата создания;
- рабочая директория;
- режим (chat, agent, edit, plan).
Решение проблем¶
Сессия не сохраняется¶
Причины:
- Ошибка записи на диск
- Переполнено хранилище
- Проблема с правами доступа
Решения:
- Проверьте место на диске:
- Очистите старые сессии:
- Удалите ненужные сессии
- Используйте Clear session history
- Проверьте права:
Сессия не загружается¶
Причины:
- Повреждён файл
- Неправильный ID
- Ошибка формата JSON
Решения:
- Проверьте файл:
- Валидируйте JSON:
- Восстановите из backup:
- Найдите резервную копию
- Скопируйте в директорию сессий
Потеря контекста¶
Причины:
- Контекстные файлы удалены
- Пути изменились
- Рабочая область переключена
Решения:
- Проверьте файлы:
- Убедитесь, что файлы существуют
- Проверьте относительные пути
- Обновите контекст:
- Прикрепите файлы заново
- Используйте
@fileдля добавления - Переключите рабочую область:
- Убедитесь, что выбрана правильная рабочая область
- Перезагрузите сессию
Конфликты синхронизации¶
Причины:
- Одновременная запись
- Рассинхронизация устройств
- Сетевые проблемы
Решения:
- Остановите синхронизацию:
- Отключите Telegram Remote
- Работайте локально
- Разрешите конфликты:
- Выберите последнюю версию
- Или объедините вручную
- Пересоздайте сессию:
- Экспортируйте важную информацию
- Создайте новую сессию
Лучшие практики¶
1. Организация сессий¶
По задачам:
- Одна сессия — одна задача
- Логическое разделение
- Понятные заголовки
Примеры:
✅ "Auth Module - Login Component"
✅ "API Integration - User Endpoints"
✅ "Bug Fix - Memory Leak in WebSocket"
❌ "Session 1"
❌ "Test"
❌ "asdfgh"
2. Регулярная очистка¶
Еженедельно:
- Удаляйте завершённые сессии
- Архивируйте важные
- Очищайте тестовые
Ежемесячно:
- Ревизия всех сессий
- Удаление устаревших
- Экспорт важных
3. Использование закладок¶
Для важных сессий:
- Экспортируйте в JSON через историю сессий
- Храните файлы в отдельной директории проекта
Пример:
4. Суммаризация¶
Перед достижением лимита:
- Используйте
/summarize - Сжимайте старые сообщения
- Сохраняйте ключевые решения
Когда суммаризировать:
- При 70% использования токенов
- После завершения этапа
- Перед переключением задачи
5. Именование¶
Правила:
- Кратко и понятно
- Ключевые слова
- Дата или версия (если нужно)
Примеры:
Интеграция с другими функциями¶
С навыками¶
Сохранение контекста:
- Навыки загружаются в сессию
- Инструкции сохраняются
- Результаты применения
Пример:
Session: "React Component with Skills"
- Skill: react-component (applied)
- Generated: Component.tsx
- Context: Best practices from skill
С MCP¶
История вызовов:
- MCP tool calls сохраняются
- Результаты серверов
- Конфигурация подключений
Восстановление:
- При загрузке сессии
- MCP серверы переподключаются
- Контекст восстанавливается
С инструментами¶
История вызовов инструментов:
- Вызовы инструментов
- Результаты выполнения
- Применённые изменения
Откат изменений:
- Можно откатить вызовы инструментов
- Восстановить файлы
- Вернуть предыдущее состояние