История сессий¶
История сессий — это система управления сессиями диалога с AI в Koda. Каждая сессия сохраняет полную историю переписки, контекст и результаты работы, позволяя вернуться к предыдущим обсуждениям.
Что такое сессия?¶
Сессия — это отдельный диалог с AI со своей историей сообщений, контекстом и настройками.
Характеристики сессии¶
| Параметр | Описание |
|---|---|
| ID | Уникальный идентификатор сессии |
| Заголовок | Автоматически генерируемое или пользовательское название |
| Дата создания | Время начала сессии |
| Режим | Chat, Agent, 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
Синхронизация¶
Между устройствами¶
Отдельной синхронизации между устройствами нет: сессии хранятся локально в каталоге ~/.koda/sessions/ на той машине, где работает IDE.
Telegram Remote:
При использовании Telegram Remote бот работает с теми же сессиями, что открыты в IDE:
- сессии остаются в локальном хранилище на машине с IDE, а не на сервере;
- Telegram служит удалённым пультом к этому окну, а не отдельным хранилищем;
- пока окно IDE закрыто, работать с сессиями из Telegram нельзя.
В пределах IDE¶
Автосохранение:
- Сессии сохраняются в файлы на диске;
- Часть состояния интерфейса хранится в локальном хранилище webview.
Восстановление:
- При перезапуске IDE
- После сбоя
- При переключении рабочей области
Сессии в режимах¶
Режим Chat¶
Особенности:
- Полная история диалога
- Контекстные файлы
- Вложения кода
Сохранение:
- Каждое сообщение
- Контекстные провайдеры
- Выделения кода
Режим Agent¶
Особенности:
- История вызовов инструментов
- Результаты выполнения
- Изменения файлов
Сохранение:
- Вызовы инструментов и результаты их работы
- Применённые диффы
- Состояние выполнения
Просмотр diff правки из истории:
Клик по имени файла в заголовке завершённой правки edit_file открывает diff именно этой правки — содержимое файла до и после неё, только для чтения.
Снимки правок хранятся 7 дней; если снимок уже удалён, вместо diff откроется сам файл.
Пример:
User: Создай компонент
Agent: [read_file: Component.tsx]
Agent: [edit_file: Component.tsx]
Agent: Компонент создан
Режим План¶
Особенности:
- План работ без изменений в коде
- Пункты плана и их статусы
Сохранение:
- Текст плана и статусы пунктов
- Связь плана с последующей реализацией
Продвинутые возможности¶
Суммаризация истории¶
Автоматическая:
В агентском режиме при приближении к порогу использования контекста Koda автоматически суммаризирует:
- Старые сообщения
- Результаты вызовов инструментов
- Контекстные данные
Ручная:
Используйте команду /summarize:
Что делает:
- Анализирует историю
- Создаёт краткое описание
- Добавляет как summary message
- Уменьшает использование токенов
Результат:
[Summary: 15 сообщений сжато в 1 абзац]
Пользователь спрашивал о создании React компонента.
Агент предоставил код с хуками useState и useEffect.
Компонент включает валидацию формы и обработку ошибок.
Управление токенами¶
Контекстное окно:
У каждой модели свой лимит токенов — контекстное окно. Чем оно больше, тем длиннее диалог помещается без сжатия; точный размер указан в описании модели. Доступный контекст можно уменьшить для каждой модели в настройках — см. Контекст модели.
Счётчик контекста уточняется по мере работы: Koda сверяет локальную оценку с фактическим расходом входных токенов из ответов модели и сохраняет эту калибровку между перезапусками, поэтому индикатор показывает близкое к реальному значение.
Оптимизация:
- Суммаризация старых сообщений
- Ограничение размера результатов инструментов
- Обрезка контекста
Индикатор использования:
В панели ввода Koda показывает кольцо с процентом занятого контекста:
- при наведении видно процент и число токенов;
- при достижении 90% кольцо сменяется предупреждающим значком и появляется подсказка о сжатии;
- сжать историю вручную можно командой
/summarize.
Ветвление сессий¶
Создание копии:
- Откройте сессию
- Сохраните как новую
- Продолжите в другом направлении
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 серверы переподключаются
- Контекст восстанавливается
С инструментами¶
История вызовов инструментов:
- Вызовы инструментов
- Результаты выполнения
- Применённые изменения
Откат изменений:
- Можно откатить вызовы инструментов
- Восстановить файлы
- Вернуть предыдущее состояние