Для AI-агентов: markdown этой страницы — /docs-content/cowork/model-announcement.md индекс документации — /llms.txt
Анонс новой модели в Cowork/Code
Десктоп получает активный анонс в modelAnnouncement ответа GET /v1/cowork/state. Для ключей без назначения cowork-desktop поле равно null. Ключ должен иметь vibe:cowork и быть привязан к человеку и порталу.
Сохранённый выбор модели
После восстановления выбора модели для новых сеансов и при каждом явном переключении десктоп вызывает PUT /v1/cowork/model-preference:
{"modelId":"bitrix/bitrixgpt-5.5-agent","previousModelId":"bitrix/bitrixgpt-6.0-agent"}
modelId и previousModelId — публичные канонические идентификаторы из /v1/models. Для личной или внешней модели, отсутствующей в /v1/models, вместо приватного ID отправляют только литерал modelId: "external". Если выбор человека пока не восстановлен, запрос не отправляют. Портальный default не заменяет выбор. Повтор того же выбора не создаёт новую запись истории.
Снимок и события
modelAnnouncement содержит id, modelId, shortName, title, baseLocale, словари descriptionByLocale и returningByLocale, starterIds, startedAt, endsAt, returning, eligible, reason и progress. title предназначен для первого окна; shortName — для остальных поверхностей. При отсутствии перевода текста клиент берёт baseLocale (ru на .tech, en на .com).
eligible: false означает, что касание не показывают. Возможные reason: selection_unknown, selected_model, recently_used, refused, already_tried, dismissed_three_times. Отсутствие сохранённого выбора всегда даёт selection_unknown, даже если целевая модель стоит по умолчанию.
POST /v1/cowork/model-announcement/:id/events принимает { "eventId": "UUID", "action": "shown", "step": 1 } для показа. Ответы dismiss, never, try отправляются отдельно, с тем же UUID при повторе одного запроса. never отказывается от всего анонса; dismiss закрывает текущее касание. Сервер атомарно проверяет следующий шаг, интервалы и состояние кампании. Ответ: { "success": true, "replayed": false }.
Для воронки можно передать surface: "window" | "hint" при показе и закрытии; try принимает необязательные surface: "window" | "hint" | "session", source: "primary" | "starter" | "session_switch" и starterId для готовой задачи. У всех действий есть необязательные tab: "cowork" | "code" и locale: "ru" | "en" | "de" | "es" | "fr" | "pt-BR" | "ja" | "zh" | "th" | "vi" для разреза статистики. Событие session_opened передаёт { "eventId": "UUID", "action": "session_opened", "tab": "cowork", "sessionId": "стабильный ID сеанса", "sessionKind": "new" }; допустим также tab: "code" и sessionKind: "existing_idle". Сервер дедуплицирует по кампании, месту, вкладке, сеансу и типу открытия. Его можно отправлять до пробы модели, когда человек в аудитории, и после пробы. Произвольные вкладки и типы не принимаются.
Лестница: первый показ, затем дни 3, 7, 21 и 30 от первого показа при интервале не менее трёх суток между касаниями. endsAt — исключающая граница после последнего календарного дня кампании.
Администрирование
В настройках Коворка создание чат-модели требует явного ответа, нужен ли анонс (announce: true/false в POST /api/platform/cowork-settings/models). Создать черновик, проверить аудиторию и статистику, запустить и остановить можно через /api/platform/cowork-settings/models/:policyId/announcement. Повторно запустить завершённый анонс нельзя.
Статистика /announcement/stats считает долю получателей и их порталов с успешным ходом на модели за неделю. Аудитория перед запуском восстанавливается по истории сохранённого выбора на начало предыдущей недели; при неполной истории before равен null. after появляется после полной недели на зафиксированной при запуске аудитории. Она не подменяется общим числом активных мест. eventsByStep содержит фактические показы, закрытия, отказы, пробы, выбор готовой задачи и перехода, открытия сеансов по пяти шагам; eventsByTabLocale разбивает касания по вкладкам и языкам. sessionTriggers считает новые и продолженные сеансы до пробы отдельно от сеансов после пробы. outcomes.tried считает получателей из аудитории, которые нажали пробу, выбрали модель сами или сделали успешный ход; outcomes.retained — тех из них, у кого целевая модель выбрана сейчас. firstSuccessfulTurnUsers считает получателей с хотя бы одним успешным ходом на целевой модели во время кампании. rollback показывает возврат к непосредственно предыдущей сохранённой модели и отдельно число получателей, у которых эта история неизвестна.
Строка тихой фазы в списке моделей использует только полные UTC дни последних семи суток после добавления модели: знаменатель — места с ходами, числитель — те же места с успешным ходом на модели. Если покрытие дневного среза неполное, процент не показывается. Для модели по умолчанию это справочная доля использования, а не эффект анонса.
На международном стенде автор заполняет английский текст и может вручную заполнить остальные языки. Платформа пока не предоставляет сервиса перевода произвольного текста; автоматические переводы не создаются, а пустой язык в клиенте получает английский текст. Это ограничение относительно AC-034.