OpenCode 2.1: несовместимые изменения контрактов
На 2026-10-20 OpenCode v2.1.0 внёс намеренные изменения в публичный SDK, контракты HTTP message/event и плагинов. Тем, кто пишет плагины, использует SDK или подключается по HTTP, нужно перейти на новые поля. В официальном changelog сказано, что сохранённые сессии, учётные данные и импорт старых сессий остаются читаемыми, а миграция базы данных не требуется.
Обновлено 2026-10-20
Подключите этот инструмент к эндпоинту QCode — один ключ для Claude, GPT и китайских моделей.
- Оплата по токенам — актуальные цены на /models
- Оплата через СБП, российскими картами, картами Visa / Mastercard / AMEX или криптовалютой
- Самообслуживание: после пополнения тариф активируется мгновенно
Четыре изменения (одно из них — новая функция)
Новое имя полей replay
В официальном changelog сказано: раньше данные provider replay назывались по-разному в разных местах, теперь они читаются и записываются как native.
Удалено из публичных событий
Переходное событие удалено; подписки на события и импорт schema переводятся на session.compaction.started и session.compaction.ended.
Переходит в metadata
Публичная запись учётных данных должна передавать ответы setup-form в metadata; старый вариант с configuration принимается только для хранения и импорта.
Постоянный PTY в Windows
В том же выпуске добавлен постоянный PTY для Windows x64 и ARM64; списки Todo в TUI появляются при включённом experimental.todo.
Что меняет v2.1.0
OpenCode v2.1.0 вышел 2026-10-20. Официальный changelog сообщает, что версия 2.1 намеренно меняет публичный SDK, контракты HTTP message/event и контракты плагинов, чтобы данные provider replay и compaction везде использовали одинаковые имена и структуру, а интеграции должны перейти на новые поля. Там же сказано, что сохранённые сессии, учётные данные и импорт старых сессий читаются через совместимые декодеры и миграция базы данных не нужна.
Главное из официального changelog
Несовместимые изменения сосредоточены в публичном SDK и контрактах HTTP message/event и плагинов; официальный changelog описывает изменения по группам: provider replay, настройка учётных данных, summary compaction, provider compaction и события. В том же выпуске появились постоянный PTY для Windows и списки Todo в TUI, а команды плагинов, вызовы shell и другие запросы TUI могут выполняться дольше пятиминутного лимита fetch в Bun, не теряя соединение.
Хронология
Вышел OpenCode v2.1.0; официальный changelog относит изменения SDK, HTTP message/event и контрактов плагинов к Breaking changes.
В том же выпуске добавлены постоянный PTY для Windows (x64 / ARM64) и списки Todo в TUI; для списков Todo нужен параметр experimental.todo.
Страница OpenCode в документации QCode проверена 2026-10-20; в неё добавлен раздел об OpenCode 2.
Подтверждено vs не подтверждено
Подтверждено (можно проверить в официальном changelog)
Официальный changelog указывает: v2.1.0 вышел 2026-10-20; версия 2.1 намеренно меняет публичный SDK, контракты HTTP message/event и контракты плагинов, а интеграции должны перейти на новые поля.
Не подтверждено и официально не опубликовано
Официальный changelog не приводит график выпуска следующих версий 2.1 и не описывает, как это изменение контрактов повлияет на конкретные сторонние интеграции.
2.1.0 и 2.0
По сравнению с 2.0
По сравнению с 2.0, в 2.1.0 меняются имена полей и события публичных контрактов: данные replay становятся native, событие session.compacted удаляется, Credential.Key.configuration удаляется, а ответы переходят в metadata.
Для обычного использования CLI
Требование официального changelog адресовано интеграциям; затронуто ли обычное использование CLI, там отдельно не сказано.
Четыре места для изменений
① Читать и записывать данные replay через native вместо state, providerState и resultState (части текста и рассуждений, сообщения assistant и compaction, события жизненного цикла — по таблице changelog; состояние выполнения инструмента tool.state и метаданные UI не переименовываются). ② Убрать session.compacted из подписок на события и импорта schema, перейти на session.compaction.started и session.compaction.ended. ③ В публичной записи учётных данных передавать ответы setup-form в metadata и не отправлять configuration. ④ Проверить в плагинах и SDK чтение providerContext и recent: окно сообщений для provider compaction теперь в native.messages; summary compaction больше не отдаёт recent, новые записи ссылаются на первое дословно сохранённое сообщение через metadata.keepID, а сохранённый текст прежних compaction (до 2.1) и импортов V1 остаётся в metadata.recent.
OpenCode на QCode
Способ подключения OpenCode в документации QCode: файл ~/.config/opencode/opencode.json, Claude использует https://api.qcode.cc/claude/v1, GPT — провайдер openai, китайские модели — совместимый с OpenAI провайдер; baseURL у обоих https://api.qcode.cc/openai/v1. Ключ записывается через opencode auth login или /connect; в OpenCode 1 учётные данные хранятся в ~/.local/share/opencode/auth.json, в OpenCode 2 — в SQLite, а старый auth.json импортируется. Перед использованием включите разрешение API direct access; по умолчанию оно отключено; чтобы включить его для вашего ключа, свяжитесь с онлайн-поддержкой или напишите на hi@qcode.cc. Эта страница документации в последний раз проверена 2026-10-20; в ней сказано, что конфигурация в формате V1 по-прежнему поддерживается в OpenCode 2. Оплата по токенам, цены по моделям указаны на /models. Не хотите платить помесячно? «Разовые пакеты» — от $4: разовая квота, которую нужно израсходовать за 7–90 дней. Если у вас уже есть личный тариф и квоты не хватает, докупите бустер-пакет.
Частые вопросы
Кому нужно менять код из-за несовместимых изменений 2.1?
Официальный changelog требует, чтобы интеграции перешли на новые поля, и называет публичный SDK, контракты HTTP message/event и контракты плагинов. Тем, кто пишет плагины, использует SDK или принимает события по HTTP, нужно перейти на новые поля.
Что именно изменилось в данных replay?
Раньше в разных местах использовались разные имена: state, providerState, resultState; в 2.1 читается и записывается native. Состояние выполнения инструмента и метаданные UI не переименовываются.
Можно ли ещё использовать session.compacted?
Нет. Событие удалено из публичных событий; в подписках на события и импорте schema используйте session.compaction.started и session.compaction.ended.
Нужна ли миграция базы данных при переходе на 2.1?
Нет. Официальный changelog сообщает, что сохранённые сессии, учётные данные и импорт старых сессий читаются через совместимые декодеры, миграция базы данных не требуется.
Нужно ли что-то менять обычным пользователям CLI?
Требование официального changelog адресовано интеграциям и не разбито по типам пользователей. Перед обновлением проверьте свои плагины, использование SDK и подписки на события.
Что меняется при подключении OpenCode к QCode?
Следуйте документации QCode: в opencode.json укажите для Anthropic provider https://api.qcode.cc/claude/v1, для OpenAI provider — https://api.qcode.cc/openai/v1, а ключ запишите через opencode auth login или /connect. Страница OpenCode в документации QCode проверена 2026-10-20: конфигурация в формате V1 со страницы по-прежнему поддерживается в OpenCode 2, а документация приводит и нативную запись V2. Оплата по токенам, цены по моделям указаны на /models.
Источники
Официальный changelog OpenCode (получен 2026-10-20, запись v2.1.0); официальная документация CLI OpenCode (opencode auth login); страница OpenCode в документации QCode (получена 2026-10-20, последняя проверка 2026-10-20); страница «Разовые пакеты» QCode (получена 2026-10-20).
Изменения контрактов — по пунктам
Подключение OpenCode к QCode использует opencode.json и два baseURL; оплата по токенам, цены по моделям указаны на /models.
Читайте также
Разовые пакеты для Claude Code: без подписки, 7–90 дней
Квота покупается один раз и расходуется за 7–90 дней, без подписки; новые пакеты добавляются к тому же ключу.
OpenCode: общий доступ к сессиям отключён (1.19.1)
Команда обновления с 1.19.x до 2.0 и отключение общего доступа к сессиям.
OpenCode 2026: 200 тыс.+ звёзд, открытый AI-агент
Что такое OpenCode, установка, мультиагентность, BYOK и подключение к QCode.
Оплата криптовалютой
Девять монет, 56 сетей, нулевая комиссия платформы за кредиты AI-кодинга.
Факты об OpenCode на этой странице проверены 2026-10-20 по официальному changelog; подключение QCode — по docs.qcode.cc, доступность моделей и цены — по /models. OpenCode и QCode могут изменить эти сведения без предупреждения.