Новые поля данных для плагинов и клиентских приложений, постоянные терминалы для Windows: вот что предлагает версия 2.1 открытого программного обеспечения OpenCode, предназначенного для автоматизации кодирования с использованием искусственного интеллекта.
OpenCode 2.1 уже доступна: это обновление меняет интерфейсы для SDK, HTTP-сообщений, событий и плагинов. Пользователи, которые интегрировали OpenCode в свои инструменты, должны будут адаптировать несколько полей данных к новой версии. Наиболее заметными изменениями для пользователей являются постоянные сеансы терминала под Windows и экспериментальный список задач в интерфейсе терминала. Новая версия основана на OpenCode 2.0, которая перевела агентов кодирования на общую фоновую службу.
OpenCode – это инструмент для разработки программного обеспечения на основе искусственного интеллекта с открытым исходным кодом, предназначенный для разработчиков. Он может работать с языковыми моделями и инструментами для написания кода и доступен через терминал, как настольное приложение или в браузере. Другие интерфейсы, такие как OpenChamber, также могут взаимодействовать с ним.
Новые возможности для интеграции.
В журнале изменений OpenCode для версии 2.1 наиболее подробно описаны изменения, касающиеся данных, специфичных для конкретных поставщиков услуг, которые OpenCode повторно использует при последующих вызовах моделей. В SDK-, HTTP- и плагинах эти данные теперь находятся в разделе `tool.native`. Предыдущие поля `providerState` и `providerResultState` в этом разделе больше не используются. Интеграции должны использовать новые поля. Уже сохраненные сеансы и более старые импорты останутся доступными для чтения; согласно информации от разработчиков, миграция базы данных не требуется.
При сжатии длинных разговоров также изменяется формат данных. Новые сводки ссылаются на сообщения по метаданным (metadata.keepID), сохраняя их исходный текст, вместо того чтобы дублировать этот текст. Окно сообщений для дальнейшей обработки поставщиком услуг теперь находится в разделе native.messages, а не в providerContext. Кроме того, пользователи, подписанные на события сжатия, должны переключиться на текущие события session.compaction.started и session.compaction.ended; событие session.compacted больше не используется.
Помимо интерфейсов, операционные системы Windows с процессорами x64 и ARM64 получают постоянные псевдотерминалы, обеспечивающие тот же рабочий процесс терминала, что и в macOS и Linux. Кроме того, включение параметра {"experimental":{"todo":true}} активирует инструмент todowrite: модель может вести список задач, который отображается в OpenCode как в текущей сессии, так и в боковой панели. Более длительные команды, выполняемые в интерфейсе терминала, больше не должны терять соединение из-за прежнего стандартного времени ожидания (таймаута) Buns, составлявшего пять минут.
OpenCode 2.0 объединяет различные мероприятия в рамках одного сервиса.
Основой для этого стала версия 2.0. Как объясняется в описании проекта OpenCode 2.0, теперь терминальный интерфейс, веб-интерфейс и настольное приложение больше не запускают отдельные процессы агентов. Вместо этого они используют общий локальный фоновый сервис. Скрипты могут обращаться к этому сервису через новый клиент, а сам OpenCode, благодаря обновленному API, может, среди прочего, управлять сеансами и перемещать их в Git-рабочие области.
Кроме того, существует режим "Code Mode". В этом режиме агент может объединять вызовы инструментов в скрипте, вместо того чтобы отправлять каждый результат отдельно в языковую модель. Например, при поиске тикетов он может получить несколько записей и вернуть только соответствующие заголовки. Это позволяет избежать включения промежуточных результатов в контекст разговора.
Обновление до версии 2.0 было не просто функциональным улучшением: плагины, предназначенные для версии 1.x, не работают без изменений, а API сервера был полностью переработан.
OpenCode конкурирует с проектом Pi, представляющим собой инструмент для программирования с открытым исходным кодом. Недавняя версия 1.0.0 этого проекта уменьшает отображение описаний инструментов в режиме кода, позволяет генерировать изображения на основе скриптов и по умолчанию запускает терминальный интерфейс в полноэкранном режиме.
Первоисточник — Heise
Сообщите редакции. Существенные исправления мы отмечаем в материале
