Hermes Agent и подписка Codex: настройка OAuth, статус квот и независимый API
Разбор авторизации Hermes Agent через ChatGPT и Codex: процедура OAuth Device Code, хранение токенов, отсутствие документации по списанию лимитов и правила проверки биллинга.
Содержание

Интеграция Hermes Agent позволяет подключать модели OpenAI через потребительскую подписку ChatGPT или Codex с использованием потока OAuth Device Code. Этот метод исключает необходимость ввода постоянного ключа API, однако создает технические и финансовые неопределенности. Успешное завершение процедуры аутентификации подтверждает только техническую валидность учетной записи, но не определяет правила тарификации запросов.
Границы выбора: подтвержденные факты, пробелы документации и сверка
При работе с Hermes Agent взаимодействие с учетными записями Codex разделяется на три четкие категории:
| Категория | Статус в документации | Техническая реализация и область контроля |
|---|---|---|
| Подтверждено | Зафиксировано официально | Авторизация через Device Code flow. Сохранение токенов в ~/.hermes/auth.json. Импорт данных из ~/.codex/auth.json (без обязательной установки Codex CLI). Помещение отозванных токенов в карантин. |
| Не документировано | Официально не раскрыто | Перечень поддерживаемых планов и правила учета расхода квот. Официальная документация не описывает допустимые тарифы и списание лимитов. |
| Требует сверки | Зона ответственности пользователя | Сопоставление счетчиков в панели управления до и после запуска агента, учет возможной задержки телеметрии, разделение счетов подписки и независимых API-ключей. |
Документация Nous Research прямо описывает только сетевой протокол обмена ключами и механизм возобновления сессий. Официальные материалы не раскрывают перечень подходящих тарифов и правила списания лимитов, поэтому перед выполнением задач необходимо самостоятельно проверить аккаунт в панели управления. Любые утверждения о том, что использование моделей Codex через агент является «бесплатным», «безлимитным» или включенным в базовый пакет без ограничений, технически необоснованны.
Процедура настройки и управление сессиями
В архитектуре Hermes разделены команды настройки окружения и оперативного переключения моделей:
hermes model— запускается исключительно в терминале вне активной сессии агента. Это мастер первичной настройки, через который подключаются новые провайдеры, запускается браузерная авторизация OAuth и вводятся конфигурационные параметры./model— внутренняя команда диалоговой сессии. Она служит только для переключения между уже настроенными поставщиками и моделями. Добавить новый сервис или пройти OAuth внутри чата невозможно.
Первичная настройка провайдера выполняется в терминале, где в интерактивном меню выбирается пункт ChatGPT or Codex Subscription:
hermes model
При выборе этого пункта консоль выводит одноразовый URL-адрес и уникальный буквенно-цифровой код устройства. Пользователь открывает указанный адрес в браузере, входит в учетную запись OpenAI и подтверждает сопряжение. После подтверждения Hermes сохраняет полученные токены доступа и обновления в локальном хранилище по пути ~/.hermes/auth.json. Если на машине ранее использовалась утилита Codex CLI, агент способен автоматически считать существующие данные из ~/.codex/auth.json, поэтому отдельная установка пакета Codex CLI не требуется.
Обработка ошибок авторизации и карантин токенов
Если сервер возвращает фатальную ошибку аутентификации (HTTP 4xx, статус invalid_grant или отзыв прав пользователем), Hermes прекращает попытки, чтобы избежать постоянного обновления вывода в терминале. Недействительный refresh-токен немедленно помещается в локальный карантин. При следующей попытке обращения агент выводит типизированное системное сообщение о необходимости повторного входа.
Для сброса карантина и повторного прохождения авторизации используется команда:
hermes auth add openai-codex
Альтернативный вариант — повторный запуск мастера hermes model с выбором соответствующего пункта. После успешного обновления связки статус карантина снимается автоматически.
Независимый API против подписки
OAuth-подключение по подписке и прямое обращение к API через статические ключи работают в изолированных финансовых контурах:
- Подписка: привязана к пользовательскому аккаунту ChatGPT. Официальная документация не фиксирует список поддерживаемых тарифов и то, как именно вызовы через OAuth учитываются в лимитах. Перед запуском задач необходимо самостоятельно проверить состояние аккаунта и биллинга.
- API-ключ: используется при выборе поставщика
openai-api(переменнаяOPENAI_API_KEYв~/.hermes/.env) либо сторонних платформ. Затраты определяются правилами тарификации конкретного выбранного провайдера и не всегда сводятся только к учету токенов.
Если для работы агента требуется предсказуемый биллинг с детализацией по каждому обращению или доступ к альтернативным открытым моделям, подключение по подписке можно дополнить или заменить независимым шлюзом. В качестве примера отдельного маршрута можно ориентироваться на документацию BetterToken, где используется стандартный OpenAI-совместимый протокол, персональные ключи доступа и мониторинг потребления через личный кабинет. Сторонний API-доступ функционирует как обособленный контур: он не конвертирует существующую подписку ChatGPT/Codex, не наследует ее квоты и не гарантирует доступность того же набора моделей.
Рабочий лист верификации и устранение сбоев
Поскольку механика учета расхода квот по подписке не зафиксирована разработчиками, перед выполнением рабочих задач рекомендуется провести контрольную проверку по следующему протоколу:
- Параметры аккаунта: зафиксируйте тип текущего тарифа и состояние доступных квот в веб-интерфейсе провайдера (официальный перечень поддерживаемых планов не раскрыт).
- Фиксация времени: запишите исходные показатели счетчиков сообщений и временную метку (timestamp) начала теста.
- Минимальный запрос: запустите сессию и отправьте короткий тестовый запрос без вызова внешних инструментов (например:
Посчитай 256 * 4). - Сверка баланса: проверьте показатели в панели биллинга аккаунта после разумного ожидания, поскольку точное время задержки телеметрии неизвестно. Если счетчик не изменился мгновенно, это не свидетельствует о бесплатности вызова.
- Безопасность: не передавайте содержимое
~/.hermes/auth.jsonтретьим лицам и не публикуйте логи терминала с фрагментами токенов.
Если после успешного входа агент возвращает ошибку HTTP 403 или сообщает о недостатке прав, точная причина для Codex документацией не определена. Рекомендуется проверить текст сообщения об ошибке, соответствие тарифа и прав учетной записи, выбранный маршрут и модель, а также обратиться к официальной документации или поддержке провайдера. При необходимости в качестве альтернативного варианта можно подключить независимый API с собственным ключом доступа.