Перейти к основному содержимому

xAI Grok OAuth (SuperGrok / X Premium+)

VibeOS поддерживает xAI Grok через браузерный OAuth-логин на accounts.x.ai, используя либо подписку SuperGrok (grok.com), либо подписку X Premium+ (привязанный аккаунт X). XAI_API_KEY не требуется — войдите один раз, и VibeOS автоматически обновляет вашу сессию в фоне.

Когда вы входите с аккаунтом X, имеющим Premium+, xAI автоматически связывает статус подписки с вашей сессией xAI, поэтому OAuth-поток работает так же, как и для прямых подписчиков SuperGrok.

Транспорт использует адаптер codex_responses (xAI предоставляет endpoint в стиле Responses), поэтому рассуждения, вызов инструментов, стриминг и кэширование подсказок работают без изменений адаптера.

Тот же OAuth-токен также используется всеми прямыми поверхностями xAI в VibeOS — TTS, генерацией изображений, генерацией видео и транскрибацией — так что один логин покрывает все четыре.

Обзор​

ПунктЗначение
ID провайдераxai-oauth
Отображаемое имяxAI Grok OAuth (SuperGrok / X Premium+)
Тип аутентификацииБраузерный OAuth 2.0 PKCE (loopback callback)
ТранспортxAI Responses API (codex_responses)
Модель по умолчаниюgrok-build-0.1
Endpointhttps://api.x.ai/v1
Сервер аутентификацииhttps://accounts.x.ai
Требует переменную окруженияНет (XAI_API_KEY не используется для этого провайдера)
ПодпискаSuperGrok или X Premium+ — см. примечание ниже

Предварительные требования​

  • Python 3.9+
  • Установленный VibeOS
  • Активная подписка SuperGrok на вашем аккаунте xAI или подписка X Premium+ на аккаунте X, с которым вы входите (xAI связывает подписку автоматически)
  • Браузер, доступный на локальной машине (или используйте --no-browser для удаленных сессий)
xAI может ограничивать доступ к OAuth API по уровню

Бэкенд xAI применяет собственный список разрешений для OAuth API и, как было замечено, отклоняет запросы от обычных подписчиков SuperGrok с HTTP 403 (см. issue #26847), даже если подписка в приложении активна. Если OAuth-логин в браузере прошел успешно, но инференс возвращает 403, установите XAI_API_KEY и переключитесь на путь с API-ключом (provider: xai) — эта поверхность сегодня не подвержена такому ограничению.

Быстрый старт​

# Запустите выбор провайдера и модели
vibeos model
# → Выберите "xAI Grok OAuth (SuperGrok / X Premium+)" из списка провайдеров
# → VibeOS откроет ваш браузер на accounts.x.ai
# → Подтвердите доступ в браузере
# → Выберите модель (grok-build-0.1 вверху списка)
# → Начинайте чат

vibeos

После первого входа учетные данные сохраняются в ~/.vibeos/auth.json и автоматически обновляются до истечения срока действия.

Ручной вход​

Вы можете запустить вход, не проходя через выбор модели:

vibeos auth add xai-oauth

Удаленные / headless сессии​

На серверах, в контейнерах или SSH-сессиях, где нет доступного браузера, VibeOS определяет удаленное окружение и выводит URL авторизации вместо открытия браузера.

Важно: loopback-слушатель все еще работает на удаленной машине по адресу 127.0.0.1:56121. Перенаправление xAI должно достичь этого слушателя, поэтому открытие URL на вашем ноутбуке не сработает (Could not establish connection. We couldn't reach your app.), если вы не пробросите порт:

# В отдельном терминале на вашей локальной машине:
ssh -N -L 56121:127.0.0.1:56121 user@remote-host

# Затем в вашей SSH-сессии на удаленной машине:
vibeos auth add xai-oauth --no-browser
# Откройте выведенный URL авторизации в вашем локальном браузере.

Через шлюз / bastion: добавьте -J jump-user@jump-host.

См. OAuth через SSH / Удаленные хосты для полной пошаговой инструкции, включая цепочки ProxyJump, mosh/tmux и особенности ControlMaster.

Только браузерные удаленные среды (Cloud Shell, Codespaces, EC2 Instance Connect)​

Если у вас нет обычного SSH-клиента (например, вы запускаете VibeOS внутри GCP Cloud Shell, GitHub Codespaces, AWS EC2 Instance Connect, Gitpod или другой браузерной консоли), рецепт с ssh -L выше недоступен. Вместо этого используйте --manual-paste — VibeOS пропускает loopback-слушатель и позволяет вставить URL обратного вызова, который не сработал, прямо из вашего браузера:

vibeos auth add xai-oauth --manual-paste
# Или через выбор модели:
vibeos model --manual-paste

См. OAuth через SSH / Удаленные хосты для полного руководства. Исправление регрессии для #26923.

Если страница согласия отображает код авторизации непосредственно на странице (текущее поведение xAI в браузерных консолях) вместо перенаправления на ваш 127.0.0.1:56121/callback, вставьте только значение кода в ответ на приглашение Callback URL: — VibeOS принимает полный URL, фрагмент запроса вида ?code=...&state=... или просто код.

Как работает вход​

  1. VibeOS открывает ваш браузер на accounts.x.ai.
  2. Вы входите (или подтверждаете существующую сессию) и подтверждаете доступ.
  3. xAI перенаправляет обратно в VibeOS, и токены сохраняются в ~/.vibeos/auth.json.
  4. После этого VibeOS обновляет токен доступа в фоне — вы остаетесь в системе, пока не выполните vibeos auth logout xai-oauth или не отзовете доступ в настройках вашего аккаунта xAI.

Проверка статуса входа​

vibeos doctor

Раздел ◆ Auth Providers покажет текущее состояние каждого провайдера, включая xai-oauth.

Переключение моделей​

vibeos model
# → Выберите "xAI Grok OAuth (SuperGrok / X Premium+)"
# → Выберите из списка моделей (grok-build-0.1 закреплена вверху)

Или установите модель напрямую:

vibeos config set model.default grok-build-0.1
vibeos config set model.provider xai-oauth

Справочник по конфигурации​

После входа ~/.vibeos/config.yaml будет содержать:

model:
default: grok-build-0.1
provider: xai-oauth
base_url: https://api.x.ai/v1

Псевдонимы провайдера​

Все следующие варианты разрешаются в xai-oauth:

vibeos --provider xai-oauth        # канонический
vibeos --provider grok-oauth # псевдоним
vibeos --provider x-ai-oauth # псевдоним
vibeos --provider xai-grok-oauth # псевдоним

Инструменты прямого доступа к xAI (TTS / Изображения / Видео / Транскрибация / Поиск X)​

После входа через OAuth каждый инструмент прямого доступа к xAI автоматически использует тот же токен — дополнительная настройка не требуется, если вы не хотите использовать API-ключ.

Чтобы выбрать бэкенд для каждого инструмента:

vibeos tools
# → Text-to-Speech → "xAI TTS"
# → Image Generation → "xAI Grok Imagine (image)"
# → Video Generation → "xAI Grok Imagine"
# → X (Twitter) Search → "xAI Grok OAuth (SuperGrok / X Premium+)"

Если OAuth-токены уже сохранены, выбор подтверждает это и пропускает запрос учетных данных. Если не установлены ни OAuth, ни XAI_API_KEY, выбор предлагает меню из 3 вариантов: OAuth-логин, вставить API-ключ или пропустить.

Генерация видео отключена по умолчанию

Набор инструментов video_gen отключен по умолчанию. Включите его в vibeos tools → 🎬 Video Generation (нажмите пробел), прежде чем агент сможет вызвать video_generate. В противном случае агент может вернуться к встроенному навыку ComfyUI, который также помечен для генерации видео.

Поиск X автоматически включается при наличии учетных данных xAI

Набор инструментов x_search автоматически включается, когда настроены учетные данные xAI (токен OAuth SuperGrok / X Premium+ или XAI_API_KEY). Отключите явно через vibeos tools → 🐦 X (Twitter) Search (нажмите пробел), если это не нужно. Инструмент маршрутизируется через встроенный xAI Responses API x_search — он работает как с вашим OAuth-логином SuperGrok / X Premium+, так и с платным XAI_API_KEY, и предпочитает OAuth, когда настроены оба (использует квоту подписки вместо расхода API). Схема инструмента скрыта от модели, когда учетные данные xAI не настроены, независимо от того, включен ли набор инструментов.

Модели​

ИнструментМодельПримечания
Чатgrok-build-0.1По умолчанию; выбирается автоматически при входе через OAuth
Чатgrok-4.3Предыдущая версия по умолчанию
Чатgrok-4.20-0309-reasoningВариант с рассуждением
Чатgrok-4.20-0309-non-reasoningВариант без рассуждения
Чатgrok-4.20-multi-agent-0309Мультиагентный вариант
Изображениеgrok-imagine-imageПо умолчанию; ~5–10 с
Изображениеgrok-imagine-image-qualityБолее высокое качество; ~10–20 с
Видеоgrok-imagine-videoТекст-в-видео
Видеоgrok-imagine-video-1.5-previewИзображение-в-видео; устаревший псевдоним grok-imagine-video-1.5-2026-05-30
TTS(голос по умолчанию)xAI endpoint /v1/tts

Каталог чатов формируется в реальном времени из кэша models.dev на диске; новые релизы xAI появляются автоматически после обновления кэша. grok-build-0.1 всегда закреплен вверху списка.

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

ПеременнаяЭффект
XAI_BASE_URLПереопределяет endpoint по умолчанию https://api.x.ai/v1 (требуется редко).

Чтобы выбрать xAI в качестве активного провайдера, установите model.provider: xai-oauth в config.yaml (используйте vibeos setup для интерактивного режима) или передайте --provider xai-oauth для однократного вызова.

Устранение неполадок​

Срок действия токена истек — автоматический повторный вход не выполняется​

VibeOS обновляет токен перед каждой сессией и повторно при получении 401. Если обновление не удается с ошибкой invalid_grant (токен обновления был отозван или аккаунт был изменен), VibeOS выводит типизированное сообщение о повторной аутентификации вместо аварийного завершения.

Когда сбой обновления является фатальным (HTTP 4xx, invalid_grant, отозванный грант и т.д.), VibeOS помечает токен обновления как недействительный и помещает его в карантин локально — последующие вызовы пропускают обреченную попытку обновления вместо повторения той же ошибки 401. Агент выводит одно сообщение «требуется повторная аутентификация» и не мешает, пока вы не войдете снова.

Исправление: выполните vibeos auth add xai-oauth снова, чтобы начать новый вход. Карантин снимается при следующем успешном обмене.

Время авторизации истекло​

Loopback-слушатель имеет ограниченное окно действия (по умолчанию 180 с). Если вы не подтвердите вход вовремя, VibeOS выдаст ошибку тайм-аута.

Исправление: повторно выполните vibeos auth add xai-oauth (или vibeos model). Поток начнется заново.

Несоответствие state (возможная CSRF)​

VibeOS обнаружил, что значение state, возвращенное сервером авторизации, не соответствует отправленному.

Исправление: повторите вход. Если проблема сохраняется, проверьте наличие прокси или перенаправления, изменяющего OAuth-ответ.

Вход с удаленного сервера​

В SSH-сессиях или контейнерах VibeOS выводит URL авторизации вместо открытия браузера. Loopback-слушатель обратного вызова все еще привязывается к 127.0.0.1:56121 на удаленном хосте — браузер вашего ноутбука не может до него добраться без SSH-проброса порта:

# Локальная машина, отдельный терминал:
ssh -N -L 56121:127.0.0.1:56121 user@remote-host

# Удаленная машина:
vibeos auth add xai-oauth --no-browser

Полное руководство (шлюзы, mosh/tmux, конфликты портов): OAuth через SSH / Удаленные хосты.

HTTP 403 после успешного входа (уровень / права)​

OAuth завершен в браузере, токены сохранены, но инференс или обновление токена возвращает HTTP 403 с сообщением вроде «The caller does not have permission to execute the specified operation».

Это не проблема устаревшего токена — повторный запуск vibeos model ничего не изменит. Бэкенд xAI, как было замечено, ограничивает доступ к OAuth API для определенных уровней SuperGrok, несмотря на активную подписку в приложении (issue #26847).

Исправление: установите XAI_API_KEY и переключитесь на путь с API-ключом:

export XAI_API_KEY=xai-...
vibeos config set model.provider xai

Или обновите подписку на x.ai/grok, если требуется OAuth-маршрут.

Ошибка «No xAI credentials found» во время выполнения​

В хранилище аутентификации нет записи xai-oauth и не установлен XAI_API_KEY. Вы еще не вошли, или файл учетных данных был удален.

Исправление: выполните vibeos model и выберите провайдера xAI Grok OAuth, или выполните vibeos auth add xai-oauth.

Выход из системы​

Чтобы удалить все сохраненные учетные данные xAI Grok OAuth:

vibeos auth logout xai-oauth

Это очищает как единственную запись OAuth в auth.json, так и все строки пула учетных данных для xai-oauth. Используйте vibeos auth remove xai-oauth <index|id|label>, если вы хотите удалить только одну запись пула (выполните vibeos auth list xai-oauth, чтобы увидеть их).

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