Управление сессиями в OpenCode: полное руководство

8 февраля 2026


  1. Что такое сессии в OpenCode
  2. Просмотр и управление сессиями
  3. Экспорт и импорт сессий
  4. Практические сценарии использования
  5. Команда /init и её отличие от сессий
  6. Рекомендуемый workflow

1. Что такое сессии в OpenCode

Сессия в OpenCode представляет собой автономную единицу работы с AI-ассистентом. Каждая сессия начинается в момент запуска OpenCode и завершается при его закрытии. Внутри одной сессии происходит всё взаимодействие: от простых вопросов до сложных многошаговых задач по разработке программного обеспечения.

Сессия хранит полную историю взаимодействия. Это включает все сообщения пользователя и ответы ассистента, все созданные и изменённые файлы с указанием конкретных действий, выполненные команды в терминале с их результатами, а также метаданные о времени создания, обновления и использованной модели. Такой подход позволяет восстановить контекст работы в любой момент времени.

Система сессий решает несколько важных задач. Во-первых, она обеспечивает преемственность работы — можно закрыть OpenCode, вернуться на следующий день и продолжить с того же места. Во-вторых, сессии формируют историю проекта, по которой можно отследить принятые решения и ход разработки. В-третьих, экспорт сессий позволяет делиться контекстом с коллегами или сохранять важные этапы работы для архива.


2. Просмотр и управление сессиями

Для просмотра всех сохранённых сессий используется команда opencode session list. Эта команда доступна только в терминале, а не внутри чата OpenCode. При выполнении отображается таблица со всеми сессиями, включающая уникальный идентификатор Session ID, название или тему сессии, а также дату и время последнего обновления.

opencode session list

Результат выполнения команды представляет собой структурированный список. Первое поле — Session ID — это уникальный идентификатор, который потребуется для экспорта или импорта конкретной сессии. Второе поле — Title — содержит автоматически сгенерированное название на основе первого сообщения в сессии или темы обсуждения. Третье поле — Updated — показывает время последнего изменения в сессии.

Идентификатор сессии имеет формат ses_XXXXXXXXXXXXXXX и состоит из 24 символов. Этот идентификатор уникален для каждой сессии и не изменяется со временем. При экспорте или импорте необходимо использовать полный идентификатор, включая префикс ses_. Рекомендуется копировать идентификатор прямо из вывода команды, чтобы избежать ошибок при вводе.


3. Экспорт и импорт сессий

Экспорт сессии в формат 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 без дополнительного форматирования.


4. Практические сценарии использования

Возврат к прерванной работе — один из наиболее частых сценариев использования сессий. Представим ситуацию: вы работали над настройкой сервера, но вынуждены были прерваться. На следующий день достаточно выполнить несколько простых действий для восстановления контекста.

Сначала просмотрите список сессий и найдите нужную по названию или дате. Затем экспортируйте её в файл для изучения содержания. После анализа последних сообщений можно продолжить работу, обратившись к 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

5. Команда /init и её отличие от сессий

Команда /init часто вызывает путаницу у новых пользователей OpenCode. Важно понимать, что это не команда терминала, а запрос, который вводится внутри чата OpenCode. При выполнении /init происходит сканирование структуры проекта, анализ файлов и зависимостей, создание или обновление файла AGENTS.md с инструкциями для ассистента.

AGENTS.md — это файл документации проекта. В отличие от сессий, которые хранят историю диалога, AGENTS.md содержит статическую информацию о структуре проекта: какие файлы существуют, какие агенты настроены, какие правила применяются. Этот файл генерируется автоматически при выполнении /init и обновляется при изменении структуры проекта.

Сессии и AGENTS.md выполняют разные функции и дополняют друг друга. Сессии хранят динамическую историю работы — что обсуждали, какие решения приняли, какие файлы создали. AGENTS.md хранит статическую информацию — структуру проекта, настройки агентов, правила работы. Для полного контекста необходимо использовать оба механизма.

Аспект Сессии AGENTS.md
Тип информации Динамическая история Статическая документация
Формат хранения JSON в ~/.opencode/sessions/ Markdown файл в корне проекта
Обновление Автоматически при работе Только при выполнении /init
Цель Возврат к диалогу Понимание структуры проекта

Рекомендуется выполнять /init при первом запуске в новом проекте или после значительных изменений в структуре файлов. Это обеспечит ассистента актуальной информацией о проекте и позволит давать более релевантные ответы.


6. Рекомендуемый workflow

Для эффективного использования 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