Перейти к содержанию

История сессий

История сессий — это система управления сессиями диалога с AI в Koda. Каждая сессия сохраняет полную историю переписки, контекст и результаты работы, позволяя вернуться к предыдущим обсуждениям.


Что такое сессия?

Сессия — это отдельный диалог с AI со своей историей сообщений, контекстом и настройками.

Характеристики сессии

Параметр Описание
ID Уникальный идентификатор сессии
Заголовок Автоматически генерируемое или пользовательское название
Дата создания Время начала сессии
Режим Chat, Agent, Edit, Plan
История Все сообщения в диалоге
Контекст Прикреплённые файлы и данные

Навигация по истории

Просмотр всех сессий

Шаг 1: Откройте историю

  1. Нажмите на иконку History (📚) в боковой панели
  2. Или используйте переход на страницу /history

Шаг 2: Просмотрите список

Сессии отображаются в хронологическом порядке:

  • Today — сегодня
  • This Week — эта неделя
  • This Month — этот месяц
  • Older — старые

Поиск по заголовку:

  1. Введите текст в поле поиска
  2. Используйте fuzzy-поиск (допускает ошибки)
  3. Результаты фильтруются автоматически

Примеры поиска:

"React компонент"     → найдёт "Создание React компонента"
"API endpoint"        → найдёт "Разработка REST API"
"база данных"         → найдёт "Работа с PostgreSQL"

Очистка поиска:

  • Нажмите X в поле поиска
  • Или удалите текст вручную

Сортировка сессий

Сессии автоматически сортируются по дате:

  • Новые сверху — последние сессии первыми
  • Хронологически — в порядке создания

Группировка:

  • Today — сессии за сегодня
  • This Week — за последние 7 дней
  • This Month — за последние 30 дней
  • Older — всё остальное

Управление сессиями

Новая сессия

Создание через интерфейс:

  1. Нажмите + (New Session) в верхней панели
  2. Или перейдите в чат и начните новый диалог

Горячие клавиши: Ctrl/⌘ + L

Автоматическое создание:

  • При перезапуске IDE создаётся новая сессия
  • Предыдущая сессия сохраняется автоматически

Переключение между сессиями

Через историю:

  1. Откройте History (📚)
  2. Найдите нужную сессию
  3. Кликните на строку сессии
  4. Сессия загружается в чат

Через табы (если включено):

  1. Используйте переключатель табов
  2. Каждая вкладка — отдельная сессия
  3. Переключайтесь кликом

Переименование сессии

Автоматические заголовки:

По умолчанию Koda генерирует заголовки автоматически:

  • На основе первого сообщения
  • Использует AI для создания краткого описания
  • Включает ключевые темы

Включение/выключение:

Управляется настройкой Заголовки сессий на странице Пользовательские настройки. Эта настройка соответствует параметру disableSessionTitles в конфигурации.

Ручное переименование:

  1. Откройте сессию в истории
  2. Нажмите на заголовок
  3. Введите новое название
  4. Нажмите Enter

Удаление сессии

Удаление одной сессии:

  1. Откройте History
  2. Найдите сессию
  3. Нажмите 🗑️ Delete
  4. Подтвердите удаление

Через контекстное меню:

  1. Правый клик на сессии
  2. Выберите Delete
  3. Подтвердите

Очистка всей истории

Через интерфейс:

  1. Откройте History
  2. Прокрутите вниз
  3. Нажмите Clear session history
  4. Подтвердите удаление

Что удаляется:

  • ✅ Все сохранённые сессии
  • ✅ История переписки
  • ✅ Контекстные данные

Что сохраняется:

  • ✅ Текущая активная сессия
  • ✅ Настройки Koda
  • ✅ Навыки и MCP

Экспорт и импорт

Экспорт сессии

В JSON через интерфейс:

  1. Откройте Историю сессий
  2. Найдите нужную сессию
  3. Нажмите кнопку Экспорт JSON на строке сессии
  4. Выберите директорию для сохранения

Результат:

  • JSON-файл с полным диалогом сессии
  • Включает сообщения, вызовы инструментов и контекст

Резервная копия

Экспорт JSON — удобный способ сохранить важные сессии перед очисткой истории или переустановкой IDE.


Импорт сессии

Отдельной кнопки импорта в интерфейсе сейчас нет. Загрузка сессии выполняется автоматически из локального хранилища при выборе сессии в истории.


Автоматическое сохранение

Когда сохраняется

Автоматически:

  • При каждом новом сообщении
  • При завершении стриминга
  • При переключении сессий
  • При закрытии IDE
  • При изменении режима

Вручную:

  • При экспорте сессии в JSON через историю сессий

Хранение данных

Расположение:

  • Windows: %USERPROFILE%/.koda/sessions/
  • Linux Linux / Apple MacOS: $HOME/.koda/sessions/

Структура:

~/.koda/sessions/
├── session-uuid-1.json
├── session-uuid-2.json
└── ...

Размер:

  • Зависит от длины истории
  • В среднем 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:

/summarize

Что делает:

  1. Анализирует историю
  2. Создаёт краткое описание
  3. Добавляет как summary message
  4. Уменьшает использование токенов

Результат:

[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% ❌ — начнутся обрезания

Ветвление сессий

Создание копии:

  1. Откройте сессию
  2. Сохраните как новую
  3. Продолжите в другом направлении

Use case:

  • Разные варианты решения
  • A/B тестирование подходов
  • Сохранение альтернатив

Метаданные сессии

У каждой сессии есть служебные данные, которые сохраняются автоматически:

  • идентификатор сессии;
  • заголовок;
  • дата создания;
  • рабочая директория;
  • режим (chat, agent, edit, plan).

Решение проблем

Сессия не сохраняется

Причины:

  • Ошибка записи на диск
  • Переполнено хранилище
  • Проблема с правами доступа

Решения:

  1. Проверьте место на диске:
    df -h ~/.koda
    
  2. Очистите старые сессии:
  3. Удалите ненужные сессии
  4. Используйте Clear session history
  5. Проверьте права:
    ls -la ~/.koda/sessions/
    

Сессия не загружается

Причины:

  • Повреждён файл
  • Неправильный ID
  • Ошибка формата JSON

Решения:

  1. Проверьте файл:
    cat ~/.koda/sessions/session-id.json
    
  2. Валидируйте JSON:
    jq . ~/.koda/sessions/session-id.json
    
  3. Восстановите из backup:
  4. Найдите резервную копию
  5. Скопируйте в директорию сессий

Потеря контекста

Причины:

  • Контекстные файлы удалены
  • Пути изменились
  • Рабочая область переключена

Решения:

  1. Проверьте файлы:
  2. Убедитесь, что файлы существуют
  3. Проверьте относительные пути
  4. Обновите контекст:
  5. Прикрепите файлы заново
  6. Используйте @file для добавления
  7. Переключите рабочую область:
  8. Убедитесь, что выбрана правильная рабочая область
  9. Перезагрузите сессию

Конфликты синхронизации

Причины:

  • Одновременная запись
  • Рассинхронизация устройств
  • Сетевые проблемы

Решения:

  1. Остановите синхронизацию:
  2. Отключите Telegram Remote
  3. Работайте локально
  4. Разрешите конфликты:
  5. Выберите последнюю версию
  6. Или объедините вручную
  7. Пересоздайте сессию:
  8. Экспортируйте важную информацию
  9. Создайте новую сессию

Лучшие практики

1. Организация сессий

По задачам:

  • Одна сессия — одна задача
  • Логическое разделение
  • Понятные заголовки

Примеры:

✅ "Auth Module - Login Component"
✅ "API Integration - User Endpoints"
✅ "Bug Fix - Memory Leak in WebSocket"

❌ "Session 1"
❌ "Test"
❌ "asdfgh"

2. Регулярная очистка

Еженедельно:

  • Удаляйте завершённые сессии
  • Архивируйте важные
  • Очищайте тестовые

Ежемесячно:

  • Ревизия всех сессий
  • Удаление устаревших
  • Экспорт важных

3. Использование закладок

Для важных сессий:

  • Экспортируйте в JSON через историю сессий
  • Храните файлы в отдельной директории проекта

Пример:

# После экспорта сессии в выбранную директорию
cp ~/Downloads/session-uuid.json ./docs/decisions/

4. Суммаризация

Перед достижением лимита:

  • Используйте /summarize
  • Сжимайте старые сообщения
  • Сохраняйте ключевые решения

Когда суммаризировать:

  • При 70% использования токенов
  • После завершения этапа
  • Перед переключением задачи

5. Именование

Правила:

  • Кратко и понятно
  • Ключевые слова
  • Дата или версия (если нужно)

Примеры:

✅ "React Form Validation - 2026-01"
✅ "PostgreSQL Schema Design"
✅ "Unit Tests - Auth Module"

Интеграция с другими функциями

С навыками

Сохранение контекста:

  • Навыки загружаются в сессию
  • Инструкции сохраняются
  • Результаты применения

Пример:

Session: "React Component with Skills"
- Skill: react-component (applied)
- Generated: Component.tsx
- Context: Best practices from skill

С MCP

История вызовов:

  • MCP tool calls сохраняются
  • Результаты серверов
  • Конфигурация подключений

Восстановление:

  • При загрузке сессии
  • MCP серверы переподключаются
  • Контекст восстанавливается

С инструментами

История вызовов инструментов:

  • Вызовы инструментов
  • Результаты выполнения
  • Применённые изменения

Откат изменений:

  • Можно откатить вызовы инструментов
  • Восстановить файлы
  • Вернуть предыдущее состояние