8 февраля 2026
Сессия в OpenCode представляет собой автономную единицу работы с AI-ассистентом. Каждая сессия начинается в момент запуска OpenCode и завершается при его закрытии. Внутри одной сессии происходит всё взаимодействие: от простых вопросов до сложных многошаговых задач по разработке программного обеспечения.
Сессия хранит полную историю взаимодействия. Это включает все сообщения пользователя и ответы ассистента, все созданные и изменённые файлы с указанием конкретных действий, выполненные команды в терминале с их результатами, а также метаданные о времени создания, обновления и использованной модели. Такой подход позволяет восстановить контекст работы в любой момент времени.
Система сессий решает несколько важных задач. Во-первых, она обеспечивает преемственность работы — можно закрыть OpenCode, вернуться на следующий день и продолжить с того же места. Во-вторых, сессии формируют историю проекта, по которой можно отследить принятые решения и ход разработки. В-третьих, экспорт сессий позволяет делиться контекстом с коллегами или сохранять важные этапы работы для архива.
Для просмотра всех сохранённых сессий используется команда opencode session list. Эта команда доступна только в терминале, а не внутри чата OpenCode. При выполнении отображается таблица со всеми сессиями, включающая уникальный идентификатор Session ID, название или тему сессии, а также дату и время последнего обновления.
opencode session list
Результат выполнения команды представляет собой структурированный список. Первое поле — Session ID — это уникальный идентификатор, который потребуется для экспорта или импорта конкретной сессии. Второе поле — Title — содержит автоматически сгенерированное название на основе первого сообщения в сессии или темы обсуждения. Третье поле — Updated — показывает время последнего изменения в сессии.
Идентификатор сессии имеет формат ses_XXXXXXXXXXXXXXX и состоит из 24 символов. Этот идентификатор уникален для каждой сессии и не изменяется со временем. При экспорте или импорте необходимо использовать полный идентификатор, включая префикс ses_. Рекомендуется копировать идентификатор прямо из вывода команды, чтобы избежать ошибок при вводе.
Экспорт сессии в формат JSON позволяет сохранить её для последующего использования. Команда opencode export <SESSION_ID> извлекает все данные сессии и выводит их в структурированном формате JSON. Результат можно перенаправить в файл для долгосрочного хранения или анализа.
opencode export ses_3c3700d2cffem1qKQwRMduXO2N > session.json
Структура JSON-файла содержит несколько ключевых разделов. Корневой объект включает sessionId — уникальный идентификатор, title — название сессии, timestamps для отслеживания времени, messages — массив всех сообщений с ролями и содержанием, files — информацию о созданных и изменённых файлах, commands — выполненные команды и их результаты, а также model — использованную языковую модель.
Импорт сессии выполняется командой opencode import <FILE>. Эта команда загружает данные из JSON-файла и создаёт новую сессию на их основе. Важно понимать, что импорт не восстанавливает старую сессию, а создаёт новую с идентичным содержанием. Это полезно для продолжения работы или экспериментов с различными сценариями на основе существующего контекста.
opencode import session.json
opencode import https://example.com/session.json
Формат JSON также поддерживает импорт из URL, что удобно для обмена сессиями через интернет. При этом файл должен быть доступен по прямой ссылке и возвращать корректный JSON без дополнительного форматирования.
Возврат к прерванной работе — один из наиболее частых сценариев использования сессий. Представим ситуацию: вы работали над настройкой сервера, но вынуждены были прерваться. На следующий день достаточно выполнить несколько простых действий для восстановления контекста.
Сначала просмотрите список сессий и найдите нужную по названию или дате. Затем экспортируйте её в файл для изучения содержания. После анализа последних сообщений можно продолжить работу, обратившись к OpenCode с просьбой продолжить с того же места. Система примет контекст и адаптируется к текущему состоянию проекта.
Ведение истории проекта требует систематического подхода. Рекомендуется экспортировать все сессии, связанные с ключевыми этапами разработки, и хранить их в отдельной директории в репозитории проекта. Такой подход создаёт полную историю принятых решений и позволяет вернуться к любому этапу разработки при необходимости.
# Создание структуры для хранения сессий
mkdir -p docs/sessions
# Экспорт после важной работы
opencode session list
opencode export ses_XXX > docs/sessions/project-setup-$(date +%Y-%m-%d).json
# Коммит в Git
git add docs/sessions/
git commit -m "docs: Add session export $(date +%Y-%m-%d)"
Совместная работа с коллегами также упрощается благодаря экспорту сессий. Вместо длительных объяснений достаточно экспортировать релевантную сессию, передать файл коллеге и попросить его импортировать её. После импорта OpenCode будет обладать полным контекстом обсуждения и сможет продолжить работу с той же точки.
Анализ принятых решений становится проще с возможностью поиска по экспортированным сессиям. JSON-формат позволяет использовать стандартные инструменты поиска для извлечения важной информации: когда было принято решение, какие альтернативы рассматривались, какие выводы были сделаны.
# Экспорт и поиск
opencode export ses_XXX > session.json
# Поиск по ключевым словам
grep -i "решение\|решили\|итог\|вывод" session.json
Команда /init часто вызывает путаницу у новых пользователей OpenCode. Важно понимать, что это не команда терминала, а запрос, который вводится внутри чата OpenCode. При выполнении /init происходит сканирование структуры проекта, анализ файлов и зависимостей, создание или обновление файла AGENTS.md с инструкциями для ассистента.
AGENTS.md — это файл документации проекта. В отличие от сессий, которые хранят историю диалога, AGENTS.md содержит статическую информацию о структуре проекта: какие файлы существуют, какие агенты настроены, какие правила применяются. Этот файл генерируется автоматически при выполнении /init и обновляется при изменении структуры проекта.
Сессии и AGENTS.md выполняют разные функции и дополняют друг друга. Сессии хранят динамическую историю работы — что обсуждали, какие решения приняли, какие файлы создали. AGENTS.md хранит статическую информацию — структуру проекта, настройки агентов, правила работы. Для полного контекста необходимо использовать оба механизма.
| Аспект | Сессии | AGENTS.md |
|---|---|---|
| Тип информации | Динамическая история | Статическая документация |
| Формат хранения | JSON в ~/.opencode/sessions/ | Markdown файл в корне проекта |
| Обновление | Автоматически при работе | Только при выполнении /init |
| Цель | Возврат к диалогу | Понимание структуры проекта |
Рекомендуется выполнять /init при первом запуске в новом проекте или после значительных изменений в структуре файлов. Это обеспечит ассистента актуальной информацией о проекте и позволит давать более релевантные ответы.
Для эффективного использования OpenCode в долгосрочных проектах предлагается следующий workflow. Начинайте работу с выполнения /init в чате OpenCode для инициализации контекста проекта. Эта команда просканирует структуру файлов и создаст необходимую документацию.
После завершения основной работы переключитесь в терминал для сохранения сессии. Выполните opencode session list для просмотра текущих сессий, найдите нужную по названию и экспортируйте её в файл. Для проектов, где важен контроль версий, добавьте экспорт в Git-репозиторий.
# Типичный workflow завершения работы
# 1. В терминале — экспорт сессии
cd /path/to/project
opencode session list
# 2. Скопировать ID нужной сессии
# ses_3c3700d2cffem1qKQwRMduXO2N Продолжение: статья не опубликовалась...
# 3. Экспорт
opencode export ses_3c3700d2cffem1qKQwRMduXO2N > docs/sessions/session-$(date +%Y-%m-%d).json
# 4. Коммит
git add docs/sessions/
git commit -m "docs: Add session export $(date +%Y-%m-%d)"
Периодически просматривайте историю сессий для анализа прогресса проекта. Команда opencode session list с фильтрами по дате или ключевым словам позволяет быстро найти нужные записи. Это особенно полезно при необходимости вернуться к ранее принятым решениям или восстановить контекст после перерыва.
Для передачи проекта другому человеку или команде соберите полный комплект документации: AGENTS.md с описанием структуры, несколько ключевых экспортов сессий с важными этапами работы, текущую контекстную сессию для немедленного продолжения. Такой подход обеспечит бесшовную передачу знаний и контекста.
Система сессий OpenCode — это инструмент, который раскрывает свой потенциал при регулярном использовании. Не пренебрегайте экспортом важных сессий и поддержанием AGENTS.md в актуальном состоянии. Эти усилия окупаются при первой необходимости вернуться к прерванной работе или проанализировать принятые решения.
Дата: 8 февраля 2026 Автор: OWIX AI Division