Получите ключ gd-… в боте Guard: откройте бота, оформите доступ и скопируйте ключ. Расход оплачивается с баланса Guard, который виден в личном кабинете. Полный ключ понадобится на шаге скрытого ввода ниже.
Семейство Codex включает gpt-6-astra, gpt-6.1-sol, gpt-6-sol, gpt-6-luna, gpt-5.6-sol, gpt-5.6-terra и gpt-5.6-luna. Ниже выбран Astra как основной пример; вы можете указать любой из семи exact ID. Таблица показывает значения, поддерживаемые Guard. Для Astra, GPT-6.1 Sol, GPT-6 Sol, GPT-5.6 Sol и GPT-5.6 Terra клиент Codex дополнительно предлагает уровень ultra. Через Guard он работает: клиент сам переводит его в поддерживаемый уровень (xhigh или max, в зависимости от модели) и может поручать части задачи дочерним агентам, поэтому расходует больше токенов. Прямой запрос к API со значением ultra отклоняется. У GPT-6.1 Sol default effort low; значения none и minimal не поддерживаются. У GPT-6 Sol и GPT-6 Luna значение none поддержано API, хотя native dropdown его не показывает.
| Model ID | Поддерживаемые Guard effort |
|---|---|
gpt-6-astra | low, medium, high, xhigh, max |
gpt-6.1-sol | low, medium, high, xhigh, max |
gpt-6-sol | none, low, medium, high, xhigh, max |
gpt-6-luna | none, low, medium, high, xhigh, max |
gpt-5.6-sol | low, medium, high, xhigh, max |
gpt-5.6-terra | low, medium, high, xhigh, max |
gpt-5.6-luna | low, medium, high, xhigh, max |
Откройте официальную страницу установки Codex CLI и выберите вашу ОС. Если у вас уже установлен Node.js с npm, можно установить клиент следующей командой.
npm install -g @openai/codex
codex --versionЕсли npm не найден, используйте установщик для вашей ОС с официальной страницы. После установки откройте новое окно терминала. Команда codex --version должна напечатать версию клиента.
Настройка поставщика хранится в пользовательском config.toml, общем для Codex CLI и расширения. Если файл уже заполнен, сохраните его копию. Не заменяйте его целиком: поменяйте только указанные ниже значения.
macOS: откройте приложение «Терминал» через Spotlight, затем выполните команду. Папка и пустой файл будут созданы, если их ещё нет.
mkdir -p ~/.codex
touch ~/.codex/config.toml
open -e ~/.codex/config.tomlWindows: откройте PowerShell через меню «Пуск». Команды откроют файл в Блокноте.
$codexConfig = Join-Path $env:USERPROFILE ".codex\config.toml"
New-Item -ItemType Directory -Force (Split-Path $codexConfig) | Out-Null
if (-not (Test-Path $codexConfig)) { New-Item -ItemType File $codexConfig | Out-Null }
notepad $codexConfigLinux: откройте терминал и файл любым текстовым редактором, например nano. В nano сохраните через Ctrl+O, Enter, затем выйдите через Ctrl+X.
mkdir -p ~/.codex
touch ~/.codex/config.toml
nano ~/.codex/config.tomlВставьте следующие настройки. Первые четыре строки должны находиться в начале файла, до первой строки вида [раздел]. Если model, model_provider, model_reasoning_effort или model_context_window уже есть, измените существующие строки. Раздел [model_providers.guard-codex] добавьте один раз; если он уже существует, обновите его поля. Сохраните файл.
model = "gpt-6-astra"
model_provider = "guard-codex"
model_reasoning_effort = "medium"
model_context_window = 872000
[model_providers.guard-codex]
name = "GUARD API · Codex"
base_url = "https://api.guardrelay.ai/codex/v1"
env_key = "GUARD_API_KEY"
wire_api = "responses"| Model ID | model_context_window |
|---|---|
gpt-6-astra | 872000 |
gpt-6.1-sol | 872000 |
gpt-6-sol | 872000 |
gpt-6-luna | 872000 |
gpt-5.6-sol | 872000 |
gpt-5.6-terra | 872000 |
gpt-5.6-luna | 872000 |
model_context_window задаёт бюджет истории клиента. Таблица использует объявленный максимум из последнего сохранённого каталога Codex от 13.09.2026; это не обещание жёсткого предела входа API. Автоматическое сжатие истории может начаться раньше; ограничение длины одного ответа здесь не задаётся.
| Настройка | Что означает |
|---|---|
| model | Точный ID модели; здесь GPT-5.6 Sol. |
| model_provider | Имя раздела поставщика ниже — guard-codex. |
| model_reasoning_effort | Усилие размышления. В примере выбран medium; используйте только поддерживаемое значение из таблицы выше. |
| base_url | Адрес Guard для этого семейства. /responses вручную не добавляется. |
| env_key | Имя переменной с ключом, а не сам ключ. |
| wire_api | Responses |
Если раньше использовали локальный model_catalog_json с моделями Claude, уберите эту строку при переключении на семейство Codex. Старый каталог Claude не содержит GPT-модели. Не выводите ограничение ответа из model_context_window: если клиент отправляет max_output_tokens, Guard принимает и сохраняет поле, но managed Codex не гарантирует жёсткое усечение; списание идёт по фактическим токенам и денежным правилам ключа.
macOS / Linux: выполните команды, затем вставьте ключ на приглашении Guard API key и нажмите Enter. Ввод скрыт и не становится частью команды в истории терминала. Эта переменная действует в данном терминале и программах, запущенных из него.
unset GUARD_API_KEY; until [ -n "${GUARD_API_KEY-}" ]; do printf "Guard API key: "; read -r -s GUARD_API_KEY || break; printf "\n"; done; export GUARD_API_KEYWindows / PowerShell: выполните команды в том окне, из которого будете запускать клиент; вставьте ключ в скрытом приглашении и нажмите Enter. При открытии нового терминала задайте переменную снова.
$guardKey = Read-Host "Guard API key" -AsSecureString
$env:GUARD_API_KEY = [System.Net.NetworkCredential]::new("", $guardKey).Password- Откройте папку проекта в терминале. В Windows можно нажать правой кнопкой в папке и выбрать «Открыть в терминале»; на macOS можно ввести cd с пробелом и перетащить папку в Терминал.
- В том же окне задайте GUARD_API_KEY и выполните codex. Если Codex просит доверие к папке, проверьте её путь и подтвердите только нужную папку.
- В первой задаче напишите: «Прочитай список файлов и объясни, что находится в этой папке». Дождитесь ответа.
- Продолжите в том же диалоге: «Теперь подробнее расскажи об одном из этих файлов». Это продолжение уже созданной задачи.
codexДля отдельного запуска укажите модель параметром -m. Для постоянного выбора измените model в файле настроек. Уровень размышления проверяйте по таблице выбранной модели.
codex -m gpt-6-astra -c model_reasoning_effort="max"Полный список уровней и цен находится в разделе Модели. Изменение модели не требует нового ключа.
Чтобы Codex мог поручать части задачи дочерним агентам, добавьте параметры ниже в соответствующие разделы config.toml. Если разделы уже есть, добавьте поля внутрь них, не создавая вторую копию. Затем перезапустите Codex.
[features]
multi_agent = true
[agents]
enabled = trueПример задания: «Поручи дочернему агенту проверить три сценария тестирования и дождись его результата». Дочерние агенты используют тот же Guard-провайдер; их запросы учитываются в расходе ключа.
| Что видите | Что проверить |
|---|---|
| GUARD_API_KEY / missing environment variable | Ключ не получил запущенный процесс. Закройте клиент и запустите его из того терминала, где задана переменная. |
| 401 / invalid_api_key | Переменная содержит настоящий полный gd-ключ, а не текст-заглушку; ключ активен в личном кабинете. |
| model_not_found | ID совпадает посимвольно со списком моделей. Уберите прежний каталог Claude и проверьте адрес /codex/v1. |
| TOML / duplicate key | Не дублируются настройки и разделы. Верхние параметры находятся до [model_providers.guard-codex]. |
| insufficient_balance | В личном кабинете есть доступный баланс. |
Если ошибка повторяется, отправьте в поддержку Guard название и версию клиента, модель, текст ошибки и время запроса. Ключ и весь файл настроек пересылать не нужно.
Codex подключается к Guard через пользовательский config.toml. Для надёжного холодного старта ему также нужен локальный каталог моделей: без него первый запрос иногда формируется раньше, чем Codex успевает получить /v1/models, и часть инструментов может не включиться.
Mac / Linux:
mkdir -p ~/.codex
curl -fsSL https://docs.guardrelay.ai/assets/guard-codex-models.json \
-o ~/.codex/guard-codex-models.jsonWindows (PowerShell):
New-Item -ItemType Directory -Force "$HOME\.codex" | Out-Null
Invoke-WebRequest https://docs.guardrelay.ai/assets/guard-codex-models.json `
-OutFile "$HOME\.codex\guard-codex-models.json"Откройте (или создайте) файл ~/.codex/config.toml — на Windows это %USERPROFILE%\.codex\config.toml — и вставьте:
model = "claude-sonnet-5-5"
model_provider = "guard"
model_catalog_json = "~/.codex/guard-codex-models.json"
[model_providers.guard]
name = "Guard AI"
base_url = "https://api.guardrelay.ai/v1"
env_key = "GUARD_API_KEY"
wire_api = "responses"Каталог Codex содержит девять Claude: claude-sonnet-5-5, claude-sonnet-5, claude-opus-5-5, claude-opus-5, claude-opus-4-8, claude-haiku-5-5, claude-haiku-4-5, claude-fable-5-1 и claude-fable-5. Укажите нужный id в model; по умолчанию выбран Sonnet 5.5. Серверный промпт работает не на всех моделях, они отмечены UNLOCK в Guard Code; остальные модели Claude у ключа с промптом работают без него.
Windows (PowerShell): выполните команды, затем вставьте ключ на приглашении Guard API key и нажмите Enter. Ввод скрыт и не становится частью команды в истории терминала.
$guardKey = Read-Host "Guard API key" -AsSecureString
$env:GUARD_API_KEY = [System.Net.NetworkCredential]::new("", $guardKey).Password
codexMac / Linux: выполните команды, затем вставьте ключ на приглашении Guard API key и нажмите Enter. Ввод скрыт и не становится частью команды в истории терминала.
{
unset GUARD_API_KEY
until [ -n "${GUARD_API_KEY-}" ]; do printf "Guard API key: "; read -r -s GUARD_API_KEY || break; printf "\n"; done
export GUARD_API_KEY
codex
}Разовый запуск без интерактивного режима:
codex exec "проверь связь: ответь 'ok'"Конфигурация выше использует wire_api = "responses", то есть POST /v1/responses.
| Семейство | На /v1/responses |
|---|---|
| Kimi | доступен: принимает model, input, instructions, stream, tools, tool_choice, parallel_tool_calls, max_output_tokens, reasoning, text, temperature, top_p, prompt_cache_key, include, store, truncation и metadata |
| Composer, Grok | В Codex 0.155 сейчас несовместимы: клиент добавляет неподдержанный id и объявляет web_search/namespace; прямой API /v1/responses остаётся отдельной поверхностью |
Codex ходит на поверхность Responses, и Kimi её обслуживает. Настройка та же, что у Claude, отличий два: в поле model точный id Kimi, а каталог моделей не подключается. Скачанный guard-codex-models.json описывает только модели Claude, поэтому строку model_catalog_json для Kimi просто не пишите: с чужим каталогом Codex посчитает модель неизвестной.
model = "k3"
model_provider = "guard"
[model_providers.guard]
name = "Guard AI"
base_url = "https://api.guardrelay.ai/v1"
env_key = "GUARD_API_KEY"
wire_api = "responses"Ключ передаётся переменной GUARD_API_KEY. Mac / Linux:
export GUARD_API_KEY="gd-ваш-ключ-из-бота"
codex$env:GUARD_API_KEY = "gd-ваш-ключ-из-бота"
codexWindows (PowerShell):
$env:GUARD_API_KEY = "gd-ваш-ключ-из-бота"
codexРазовая проверка связи без интерактивного режима:
codex exec "проверь связь: ответь 'ok'"Composer и Grok сейчас несовместимы с настоящим Codex 0.155. Не настраивайте их по API-примерам этой документации и не считайте ответ прямого /v1/responses доказательством работы IDE. Исправление Codex-пути отдельно не выпускалось.
Следуйте официальной инструкции Codex CLI. При установленном Node.js используйте npm и проверьте версию.
npm install -g @openai/codex
codex --versionПолучите универсальный ключ gd-… по прямой ссылке на API в @guardapi и выберите API-пакет. Не вставляйте ключ в проект, репозиторий, текст задания или скриншот. Баланс и расход видны в личном кабинете.
Откройте пользовательский ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\config.toml). Добавьте верхние поля до первого [раздела], а таблицу поставщика — один раз. Не добавляйте model_context_window, effort или каталог чужого семейства.
model = "glm-5.3"
model_provider = "guard-glm"
[model_providers.guard-glm]
name = "GUARD API · GLM"
base_url = "https://api.guardrelay.ai/glm/v1"
env_key = "GUARD_GLM_API_KEY"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = falsemacOS / Linux: введите ключ в скрытом приглашении. Переменная действует только в этом терминале и запущенном из него клиенте.
{
unset GUARD_GLM_API_KEY
until [ -n "${GUARD_GLM_API_KEY-}" ]; do printf "Guard API key: "; read -r -s GUARD_GLM_API_KEY || break; printf "\n"; done
export GUARD_GLM_API_KEY
codex -m glm-5.3
}Windows PowerShell: выполните команды в том же окне, из которого запускаете клиент. При открытии нового PowerShell задайте ключ снова.
$guardKey = Read-Host "Guard API key" -AsSecureString
$env:GUARD_GLM_API_KEY = [System.Net.NetworkCredential]::new("", $guardKey).Password
codex -m glm-5.3- В тестовой папке запустите
codex -m glm-5.3. - Отправьте:
Прочитай README.md и ответь ровно GUARD_GLM_OK. Ничего не меняй. - Продолжите в том же диалоге вопросом о строке без повторного чтения. После выхода используйте встроенное продолжение последней задачи в этой папке.
- Для Flash запустите новую задачу с
codex -m glm-5.3-flash.
| Model ID | Что использовать |
|---|---|
glm-5.3 | Основная модель; текст и задачи с кодом. |
glm-5.3-flash | Быстрая модель; на уровне API принимает PNG и PDF во всех трёх протоколах, MP4 — только в Chat Completions. |
- Работают потоковые ответы Responses, локальные файловые и shell-инструменты и восстановление той же сессии.
- Инструменты чтения, правки и терминала исполняет сам клиент. Этот профиль не подключает инструменты или MCP Z.AI автоматически.
- Проверка этой версии была текстовой и не подтверждает её кнопку вложений. Возможности Flash на уровне API не означают, что конкретный интерфейс умеет передать файл.
- Профиль использует OpenAI Responses. Серверный промпт GLM для обычного API выключен по умолчанию; настройка клиента сама его не включает.
- Native TXT, DOCX и XLSX не входят в подтверждённый GLM-контракт. Для документов используйте PDF; для изображений — PNG и модель
glm-5.3-flash.
| Признак | Что проверить |
|---|---|
401 invalid_api_key | Клиент получил полный действующий ключ gd-…; переменная задана в том же процессе, где запущен клиент. |
404 model_not_found | Model ID равен ровно glm-5.3 или glm-5.3-flash; старые GLM ID, aliases, Turbo и FlashX не поддерживаются. |
404 или неверный путь | Base URL равен https://api.guardrelay.ai/glm/v1. Клиент сам добавляет /responses; не дописывайте его второй раз. |
400 invalid_request | Выбран указанный в инструкции API format; из старого профиля не перенесены reasoning, temperature, MCP или другие непроверенные поля. |
402 insufficient_balance | Проверьте доступный баланс и незавершённые резервы в личном кабинете. |
| Codex просит вход OpenAI | Проверьте model_provider = "guard-glm", requires_openai_auth = false и переменную GUARD_GLM_API_KEY. |
Следуйте официальной инструкции Codex CLI. При установленном Node.js используйте npm и проверьте версию.
npm install -g @openai/codex
codex --versionПолучите универсальный ключ gd-… по прямой ссылке на API в @guardapi и выберите API-пакет. Не вставляйте ключ в проект, репозиторий, текст задания или скриншот. Баланс и расход видны в личном кабинете.
Откройте пользовательский ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\config.toml). Добавьте верхние поля до первого [раздела], а таблицу поставщика — один раз. Не добавляйте model_catalog_json и каталог чужого семейства.
model = "gemini-4-argon"
model_provider = "guard-gemini"
[model_providers.guard-gemini]
name = "GUARD API · Gemini"
base_url = "https://api.guardrelay.ai/v1"
env_key = "GUARD_GEMINI_API_KEY"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = falsemacOS / Linux: введите ключ в скрытом приглашении. Переменная действует только в этом терминале и запущенном из него клиенте.
{
unset GUARD_GEMINI_API_KEY
until [ -n "${GUARD_GEMINI_API_KEY-}" ]; do printf "Guard API key: "; read -r -s GUARD_GEMINI_API_KEY || break; printf "\n"; done
export GUARD_GEMINI_API_KEY
codex -m gemini-4-argon
}Windows PowerShell: выполните команды в том же окне, из которого запускаете клиент. При открытии нового PowerShell задайте ключ снова.
$guardKey = Read-Host "Guard API key" -AsSecureString
$env:GUARD_GEMINI_API_KEY = [System.Net.NetworkCredential]::new("", $guardKey).Password
codex -m gemini-4-argon- В тестовой папке запустите
codex -m gemini-4-argon. - Отправьте:
Прочитай README.md и ответь ровно GUARD_GEMINI_OK. Ничего не меняй. - Продолжите в том же диалоге вопросом о строке без повторного чтения. После выхода используйте встроенное продолжение последней задачи в этой папке.
- Для другой модели запустите новую задачу, например с
codex -m gemini-3.8-flash.
| Model ID | Вход и окно |
|---|---|
gemini-4-argon | Текст, изображения, PDF; окно 1 048 576 токенов, общее на вход и ответ. |
gemini-3.8-flash | Текст, изображения, PDF; окно 1 048 576 токенов на вход. |
- Локальные файловые и shell-инструменты исполняет сам Codex; историю задачи он передаёт в каждом запросе.
- Вход в каталоге Guard: текст, изображения и PDF; ответ приходит текстом. Как передать файл или картинку, зависит от интерфейса клиента; эта инструкция вложения не описывает.
- Профиль использует OpenAI Responses. Серверный промпт — отдельная настройка семейства Gemini: он применяется, только если у ключа есть право и включена опция; настройка клиента сама его не включает.
| Признак | Что проверить |
|---|---|
401 invalid_api_key | Клиент получил полный действующий ключ gd-…; переменная задана в том же процессе, где запущен клиент. |
404 model_not_found | Model ID — точный ID из таблицы выше или короткое имя gemini; другие написания не поддерживаются. |
404 или неверный путь | Base URL равен https://api.guardrelay.ai/v1. Клиент сам добавляет /responses; не дописывайте его второй раз. |
400 invalid_request | Выбран указанный в инструкции формат API; из старого профиля не перенесены лишние настройки: размышления, temperature, MCP и другие. |
402 insufficient_credit | Проверьте доступный баланс и незавершённые резервы в личном кабинете. |
| Codex просит вход OpenAI | Проверьте model_provider = "guard-gemini", requires_openai_auth = false и переменную GUARD_GEMINI_API_KEY. |
Следуйте официальной инструкции Codex CLI. При установленном Node.js используйте npm и проверьте версию.
npm install -g @openai/codex
codex --versionПолучите универсальный ключ gd-… по прямой ссылке на API в @guardapi и выберите API-пакет. Не вставляйте ключ в проект, репозиторий, текст задания или скриншот. Баланс и расход видны в личном кабинете.
Откройте пользовательский ~/.codex/config.toml (Windows: %USERPROFILE%\.codex\config.toml). Добавьте верхние поля до первого [раздела], а таблицу поставщика — один раз. Не добавляйте model_catalog_json и каталог чужого семейства.
model = "muse-wonder-1.0"
model_provider = "guard-muse"
[model_providers.guard-muse]
name = "GUARD API · Muse"
base_url = "https://api.guardrelay.ai/v1"
env_key = "GUARD_MUSE_API_KEY"
wire_api = "responses"
requires_openai_auth = false
supports_websockets = falsemacOS / Linux: введите ключ в скрытом приглашении. Переменная действует только в этом терминале и запущенном из него клиенте.
{
unset GUARD_MUSE_API_KEY
until [ -n "${GUARD_MUSE_API_KEY-}" ]; do printf "Guard API key: "; read -r -s GUARD_MUSE_API_KEY || break; printf "\n"; done
export GUARD_MUSE_API_KEY
codex -m muse-wonder-1.0
}Windows PowerShell: выполните команды в том же окне, из которого запускаете клиент. При открытии нового PowerShell задайте ключ снова.
$guardKey = Read-Host "Guard API key" -AsSecureString
$env:GUARD_MUSE_API_KEY = [System.Net.NetworkCredential]::new("", $guardKey).Password
codex -m muse-wonder-1.0- В тестовой папке запустите
codex -m muse-wonder-1.0. - Отправьте:
Прочитай README.md и ответь ровно GUARD_MUSE_OK. Ничего не меняй. - Продолжите в том же диалоге вопросом о строке без повторного чтения. После выхода используйте встроенное продолжение последней задачи в этой папке.
- Для другой модели запустите новую задачу, например с
codex -m muse-spark-1.3.
| Model ID | Вход и окно |
|---|---|
muse-wonder-1.0 | Текст, изображения, PDF; окно 1 048 576 токенов. |
muse-spark-1.3 | Текст, изображения, PDF; окно 1 048 576 токенов. |
muse-spark-1.2 | Текст, изображения, PDF; окно 1 048 576 токенов. |
- Локальные файловые и shell-инструменты исполняет сам Codex; историю задачи он передаёт в каждом запросе.
- Вход в каталоге Guard: текст, изображения и PDF; ответ приходит текстом. Как передать файл или картинку, зависит от интерфейса клиента; эта инструкция вложения не описывает.
- Профиль использует OpenAI Responses. Серверный промпт — отдельная настройка семейства Muse: он применяется, только если у ключа есть право и включена опция; настройка клиента сама его не включает.
| Признак | Что проверить |
|---|---|
401 invalid_api_key | Клиент получил полный действующий ключ gd-…; переменная задана в том же процессе, где запущен клиент. |
404 model_not_found | Model ID — точный ID из таблицы выше или короткое имя muse; другие написания не поддерживаются. |
404 или неверный путь | Base URL равен https://api.guardrelay.ai/v1. Клиент сам добавляет /responses; не дописывайте его второй раз. |
400 invalid_request | Выбран указанный в инструкции формат API; из старого профиля не перенесены лишние настройки: размышления, temperature, MCP и другие. |
402 insufficient_credit | Проверьте доступный баланс и незавершённые резервы в личном кабинете. |
| Codex просит вход OpenAI | Проверьте model_provider = "guard-muse", requires_openai_auth = false и переменную GUARD_MUSE_API_KEY. |