Для AI-агентов: markdown этой страницы — /docs-content/cowork/harness.md индекс документации — /llms.txt
Свой агент на подписке
Сторонний агентный клиент — OpenCode, Crush, Cline, Aider или собственный код — работает с моделями по ключу подписки Cowork/Code. Запросы такого ключа расходуют квоту подписки, а не кошелёк портала.
Скоуп: vibe:ai + vibe:cowork | Базовый URL: https://vibecode.bitrix24.tech/v1 | Авторизация: X-Api-Key или Authorization: Bearer
Отдельного адреса и отдельного протокола у такого ключа нет: это тот же OpenAI-совместимый AI Router, меняется только тарификация. Всё, что описано в разделе AI, работает и здесь.
Как получить ключ
- Откройте раздел Cowork/Code в личном кабинете платформы Вайбкод.
- Нажмите «Получить ключ» — откроется диалог создания ключа, в котором тарификация уже переключена на подписку.
- Отметьте нужные права и создайте ключ.
- Скопируйте значение ключа сразу. Оно показывается один раз, восстановить его нельзя: потерянный ключ отзывают и выписывают заново.
Кнопки «Получить ключ» на странице нет, пока доступ к Cowork/Code не получен — заявка подаётся на той же странице. Кнопка видна, но не нажимается, когда администратор портала запретил сторонние клиенты, и рядом с ней стоит поясняющая надпись.
Что этот ключ может и чего не может
По умолчанию ключ несёт все права портала Битрикс24. Диалог открывается с отмеченными правами на данные, и агент с таким ключом читает и меняет данные портала от вашего имени. Снимаются они одной кнопкой «Снять все» в группе прав Битрикс24: тогда у ключа остаётся только право на AI, и данные портала агенту закрыты.
Инфраструктура ключу подписки недоступна всегда. Создание серверов, деплой и выполнение команд закрыты для любого ключа с правом Cowork/Code — такой запрос отвечает 403 INFRA_FORBIDDEN_FOR_COWORK_KEY. Снятая в диалоге отметка «Инфраструктура» это отражает, а не ограничивает: вернуть отметку и получить инфраструктуру нельзя. Отдельный ключ с правом деплоя выдаёт настольное приложение — Проектный ключ для деплоя. Ключу стороннего агента этот эндпоинт отвечает 403 COWORK_HARNESS_KEY_FORBIDDEN.
Право Cowork/Code с выданного ключа не снимается. Ключ либо остаётся на подписке, либо отзывается целиком. Перевести его на кошелёк портала нельзя, обратная замена тоже не предусмотрена: ключ с оплатой из кошелька создаётся отдельно, в разделе «API-ключи».
Пункт «Переподключить» у такого ключа не появляется. Он предназначен для ключей, которые платформа не ведёт сама, а у ключа подписки платформенное назначение. Если вебхук ключа перестанет работать, отзовите ключ и выпишите новый.
Перевыпуск проходит те же проверки, что и выдача. Ротация ключа подписки требует, чтобы доступ к Cowork/Code был открыт, политика портала разрешала сторонние клиенты и подписка была активна. Коды отказа — на странице Менеджмент-ключи.
Подключение
Все клиенты настраиваются одинаково: базовый адрес https://vibecode.bitrix24.tech/v1, ключ в заголовке Authorization: Bearer или X-Api-Key, формат запросов и ответов — OpenAI-совместимый. Ниже готовые фрагменты конфигурации, те же самые диалог показывает сразу после создания ключа.
Ключ в конфигурацию не вписывается: файлы opencode.json и .crush.json лежат рядом с кодом и попадают в репозиторий, поэтому оба клиента читают значение из переменной окружения.
OpenCode
Файл opencode.json.
# Сначала положите ключ в переменную окружения
export VIBECODE_API_KEY=<ваш ключ>
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"bitrix24": {
"npm": "@ai-sdk/openai-compatible",
"name": "Bitrix24 CoworkCode",
"options": {
"baseURL": "https://vibecode.bitrix24.tech/v1",
"apiKey": "{env:VIBECODE_API_KEY}"
},
"models": {
"bitrix/bitrixgpt-5.5": { "name": "BitrixGPT" }
}
}
}
}
Crush
Файл .crush.json.
# Сначала положите ключ в переменную окружения
export VIBECODE_API_KEY=<ваш ключ>
{
"providers": {
"bitrix24": {
"type": "openai-compat",
"base_url": "https://vibecode.bitrix24.tech/v1",
"api_key": "$VIBECODE_API_KEY",
"models": [
{ "id": "bitrix/bitrixgpt-5.5", "name": "BitrixGPT", "context_window": 128000, "default_max_tokens": 8000 }
]
}
}
}
Cline
Настройки расширения. Cline хранит ключ в защищённом хранилище редактора, файла конфигурации рядом с кодом у него нет, поэтому значение вставляется прямо в форму.
API Provider: OpenAI Compatible
Base URL: https://vibecode.bitrix24.tech/v1
API Key: <ваш ключ> (то же значение, что в $VIBECODE_API_KEY)
Model ID: bitrix/bitrixgpt-5.5
Aider
Переменные окружения.
export OPENAI_API_BASE=https://vibecode.bitrix24.tech/v1
export OPENAI_API_KEY=$VIBECODE_API_KEY
aider --model openai/bitrix/bitrixgpt-5.5
curl
Проверка ключа одним запросом.
# Сначала положите ключ в переменную окружения
export VIBECODE_API_KEY=<ваш ключ>
curl -X POST https://vibecode.bitrix24.tech/v1/chat/completions \
-H "Authorization: Bearer $VIBECODE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"bitrix/bitrixgpt-5.5","messages":[{"role":"user","content":"ping"}]}'
Список моделей
Идентификаторы для поля model возвращает GET /v1/models. Ключу подписки этот список приходит уже суженным: в нём остаются только модели, разрешённые для Cowork/Code. Набор задаёт платформа, и он меняется — берите его запросом, а не списком, выписанным в конфигурацию однажды.
curl https://vibecode.bitrix24.tech/v1/models \
-H "X-Api-Key: YOUR_API_KEY"
Поля ответа и данные одной модели — Модели.
Лимиты и расход
Тариф подписки и расход трёх окон квоты в процентах отдаёт GET /v1/cowork/me — тем же ключом, дополнительных прав не нужно.
curl https://vibecode.bitrix24.tech/v1/cowork/me \
-H "X-Api-Key: YOUR_API_KEY"
{
"tier": "FREE",
"state": "ACTIVE",
"quotaPct": { "fiveHour": 40, "week": 24, "month": 20 },
"resetAt": {
"fiveHour": "2026-08-22T17:30:00.000Z",
"week": "2026-08-25T09:00:00.000Z",
"month": "2026-09-01T00:00:00.000Z"
},
"nextChargeAt": null
}
Окна вложены друг в друга и считаются одновременно — 5 часов, неделя и месяц. Работа останавливается при исчерпании любого из них, у каждого окна свой момент сброса в resetAt. Абсолютных чисел квоты наружу нет, только доли. Полный состав ответа — Сводка по подписке Cowork/Code, развёрнутое состояние с рекомендациями и каталогом тарифов — Состояние подписки Cowork/Code.
Что означают ошибки
У стороннего клиента нет своего интерфейса — он показывает поле message из ответа дословно. Тело отказа AI-эндпоинтов идёт в формате OpenAI, { "error": { "message", "type", "code" } }, и code там в нижнем регистре. Ответы /v1/cowork/* идут в общем формате платформы, { "success": false, "error": { "code", "message" } }, и code там в верхнем.
Окно квоты кончилось — 402, код cowork_quota_exhausted. Поле window называет исчерпанное окно (5h, week или month), resetAt — момент сброса, nextTier — следующий тариф. Заголовок Retry-After даёт паузу в секундах до сброса. Блокировку снимает и ожидание сброса, и переход на тариф выше.
{
"error": {
"message": "Cowork/Code quota exhausted for the 5h window. Wait until 2026-08-22T17:30:00.000Z or upgrade your tier.",
"type": "insufficient_quota",
"code": "cowork_quota_exhausted",
"window": "5h",
"resetAt": "2026-08-22T17:30:00.000Z",
"nextTier": "PRO"
}
}
Подписка не активна — 402, код cowork_subscription_inactive. Подписка владельца ключа приостановлена или отменена, и квоты у неё больше нет. Возобновляется она в разделе Cowork/Code, ключ при этом остаётся прежним.
Слишком много запросов — 429, код rate_limit_exceeded. Превышен минутный лимит запросов. Дождитесь паузы из заголовка Retry-After и повторите запрос, уровень лимита назван в поле scope и в заголовке X-RateLimit-Scope. Другие ответы 429 этого эндпоинта разбирает страница Лимиты запросов и повторы.
Cowork/Code выключен на платформе — 503, код cowork_feature_disabled. Возможность остановлена целиком, ключ и подписка тут ни при чём. Повторите запрос позже.
Если в описании не указан другой эндпоинт, отказ приходит на POST /v1/chat/completions.
| HTTP | Код | Описание |
|---|---|---|
| 402 | cowork_quota_exhausted |
Исчерпано одно из окон квоты подписки. Тело несёт window, resetAt и nextTier, заголовок Retry-After — число секунд до сброса |
| 402 | cowork_subscription_inactive |
У владельца ключа нет активной подписки Cowork/Code на этом портале |
| 402 | cowork_model_not_allowed |
Модель не разрешена для Cowork/Code. Поле allowedModelIds перечисляет разрешённые |
| 403 | scope_missing |
У ключа нет права vibe:ai |
| 403 | INFRA_FORBIDDEN_FOR_COWORK_KEY |
Запрос к инфраструктуре, например POST /v1/infra/servers. Ключу с правом Cowork/Code инфраструктура закрыта |
| 403 | COWORK_HARNESS_KEY_FORBIDDEN |
POST /v1/cowork/deploy-key: проектный ключ с правом деплоя ключу стороннего агента не выписывается |
| 404 | COWORK_NOT_ACTIVATED |
GET /v1/cowork/me: подписка Cowork/Code не найдена для пары пользователь и портал |
| 429 | rate_limit_exceeded |
Превышен минутный лимит запросов. Пауза — в заголовке Retry-After, уровень — в X-RateLimit-Scope |
| 503 | cowork_feature_disabled |
Cowork/Code отключён на уровне платформы |
Полный список общих ошибок API — Ошибки.