Для 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, работает и здесь.

Как получить ключ

  1. Откройте раздел Cowork/Code в личном кабинете платформы Вайбкод.
  2. Нажмите «Получить ключ» — откроется диалог создания ключа, в котором тарификация уже переключена на подписку.
  3. Отметьте нужные права и создайте ключ.
  4. Скопируйте значение ключа сразу. Оно показывается один раз, восстановить его нельзя: потерянный ключ отзывают и выписывают заново.

Кнопки «Получить ключ» на странице нет, пока доступ к 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.

Terminal
# Сначала положите ключ в переменную окружения
export VIBECODE_API_KEY=<ваш ключ>
JSON
{
  "$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.

Terminal
# Сначала положите ключ в переменную окружения
export VIBECODE_API_KEY=<ваш ключ>
JSON
{
  "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

Переменные окружения.

Terminal
export OPENAI_API_BASE=https://vibecode.bitrix24.tech/v1
export OPENAI_API_KEY=$VIBECODE_API_KEY
aider --model openai/bitrix/bitrixgpt-5.5

curl

Проверка ключа одним запросом.

Terminal
# Сначала положите ключ в переменную окружения
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. Набор задаёт платформа, и он меняется — берите его запросом, а не списком, выписанным в конфигурацию однажды.

Terminal
curl https://vibecode.bitrix24.tech/v1/models \
  -H "X-Api-Key: YOUR_API_KEY"

Поля ответа и данные одной модели — Модели.

Лимиты и расход

Тариф подписки и расход трёх окон квоты в процентах отдаёт GET /v1/cowork/me — тем же ключом, дополнительных прав не нужно.

Terminal
curl https://vibecode.bitrix24.tech/v1/cowork/me \
  -H "X-Api-Key: YOUR_API_KEY"
JSON
{
  "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 даёт паузу в секундах до сброса. Блокировку снимает и ожидание сброса, и переход на тариф выше.

JSON
{
  "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 — Ошибки.

Смотрите также