Гайд  ·  обновлено 16.09.2026

Cursor и Codex: полный гайд — от установки до работы через шлюз NeuroZal

Codex — консольный агент OpenAI: читает проект, правит файлы, запускает команды и тесты. Cursor — редактор с агентами и собственный терминальный CLI. В этом гайде: установка Codex CLI на Windows, macOS и Linux, подключение к шлюзу NeuroZal одним ключом, работа в Cursor в редакторе и в терминале, правила проекта, навыки, хуки, MCP и автоматизация в CI. Плюс таблица моделей шлюза с результатами живых проверок и разбор частых ошибок.

⏱ 30 минут чтения Windows · macOS · Linux Один ключ для Codex, Cursor и SDK Оплата в рублях, без абонентской платы

01 Codex и Cursor: что выбрать

Это два разных инструмента с разными сценариями, и они хорошо работают вместе. Codex — консольный агент OpenAI: запускается в терминале внутри папки проекта, сам открывает нужные файлы, вносит правки, выполняет команды, тесты и git-операции. Cursor — редактор на базе VS Code, где агенты встроены прямо в интерфейс: подсказки по ходу набора, правки по выделенному фрагменту, отдельный агентский воркспейс и собственный CLI agent для терминала и скриптов.

КритерийCodex CLICursor (редактор)Cursor CLI (agent)
Что этоАгент в терминале, ставится одной командойРедактор с агентами, вкладки, чат, агентское окноТот же агент Cursor, но в терминале
Где работаетWindows, macOS, Linux, WSL2Windows 10+, macOS 12+, LinuxmacOS, Linux, WSL, Windows
МоделиВыбираются в конфиге, включая модели шлюзаСвои модели Cursor (подписка) либо собственные ключи провайдеровМодели Cursor и режимы Agent / Plan / Ask
Работа через шлюз NeuroZalДа: провайдер задаётся в config.tomlОфициально не документирована подмена адреса APIАвторизация ключом Cursor
Сильные стороныСкрипты и CI, точный контроль прав и песочницы, экономия на больших задачахСкорость повседневной работы: подсказки, правка в контексте файла, визуальный diffАвтоматизация, ревью, запуск в пайплайнах
Кому подходитТем, кто живёт в терминале и хочет один ключ на все инструментыТем, кто работает с кодом визуально и любит контроль в редактореТем, кто автоматизирует задачи и держит агента в скриптах
◆
Зачем здесь NeuroZal

Шлюз NeuroZal отдаёт OpenAI-совместимый API по адресу https://api.neurozal.ru/v1: работают и /v1/chat/completions, и /v1/responses — тот самый протокол, которым пользуется Codex. Вы получаете один ключ sk-… для Codex, Claude Code, Cursor через терминал, SDK и своих скриптов, оплату в рублях и пополнение без абонентской платы. Ниже — рабочая настройка, проверенная на живом шлюзе, и честные результаты проверки моделей.

02 Быстрый старт: 4 шага

Вся последовательность целиком — примерно на пять минут. Подробности по каждому шагу идут дальше.

терминал · целиком
# 1. Установить Codex CLI (Windows, PowerShell)
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

# 2. Сохранить ключ шлюза в переменную окружения и открыть новый терминал
setx NEUROZAL_API_KEY "sk-ваш-ключ-из-кабинета"

# 3. Указать провайдера и модель в файле ~/.codex/config.toml (см. шаг 3)

# 4. Перейти в проект, запустить агента и проверить связь
cd C:\путь\к\проекту
codex
/status

Дальше коротко: шаг 3 — подключение к шлюзу, Cursor: установка, таблица проверенных моделей, разбор ошибок.

03 Шаг 1. Установка Codex CLI

Codex CLI — консольный агент OpenAI: он запускается в каталоге проекта, сам читает файлы, вносит правки, выполняет команды и проверяет результат. Работает на Windows, macOS и Linux, интерфейс — обычный терминал плюс расширение для редактора, если нужно.

1

Поставить Codex

PowerShell
# установка
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

# обновление до свежей версии — та же команда
powershell -ExecutionPolicy ByPass -c "irm https://chatgpt.com/codex/install.ps1 | iex"

Установщик скачивает свежую сборку и кладёт её в профиль пользователя. После установки откройте новое окно терминала — путь к codex появится в переменной PATH.

2

Проверить установку

терминал
codex --version     # версия, например: codex-cli 0.153.4
codex doctor        # проверка установки, конфига и авторизации
codex --help        # список подкоманд и флагов

Если codex --version отвечает номером версии — установка прошла. Команда codex doctor полезна, когда что-то не работает: она покажет, где лежит конфиг, настроена ли авторизация и видит ли Codex окружение.

3

Вход в аккаунт

При первом запуске Codex просит авторизоваться. Есть два пути:

  • Аккаунт ChatGPT — командой codex login откроется браузер, вход по вашей подписке. Так работают с официальным сервисом OpenAI.
  • Ключ API — авторизация ключом: либо переменная окружения для провайдера (наш случай, шаг 3), либо команда codex login --with-api-key, которая читает ключ из stdin.

Статус входа в любой момент показывает codex login status, выйти — codex logout.

Что нужноТребование
WindowsWindows 11: нативный установщик, либо работа через WSL2
macOS12 (Monterey) и новее
LinuxUbuntu 20.04+ / Debian 10+ и совместимые сборки
Git2.23+ — рекомендуется: на нём держатся проверки и подготовка PR
Память4 ГБ минимум, 8 ГБ рекомендуется
ТерминалPowerShell, Terminal, iTerm2, любой современный эмулятор
▲
Windows: нативно или в WSL2 — выберите одно

Оба варианта рабочие, но смешивать их не стоит: файлы проекта, ключи и конфиг должны жить в той среде, где запускается codex. Если работаете в WSL2, держите проект внутри файловой системы WSL — обращение к диску C: из Linux заметно медленнее, и агент будет тормозить на чтении файлов.

04 Шаг 2. Ключ NeuroZal

Ключ шлюза — это единственный секрет, который нужен Codex. Он подходит и для остальных инструментов: Cursor в терминале, SDK, Cline, OpenWebUI. Отдельная подписка OpenAI при этом не требуется.

1

Создать аккаунт и пополнить баланс

Регистрация и пополнение — в личном кабинете api.neurozal.ru/panel. Оплата в рублях, расход считается по факту запросов — агент списывает ровно столько, сколько потратил.

2

Создать ключ

В кабинете откройте раздел с ключами и создайте новый. Ключ выглядит как строка с префиксом sk-… и показывается целиком только один раз.

  • Скопируйте сразу. Повторно значение не показывается — если потеряли, создайте новый ключ и удалите старый.
  • Дайте понятное имя. Например, codex-ноутбук — так видно, что за инструмент расходует баланс.
  • Храните в менеджере паролей. Ключ не место в репозитории и не в переписке: он даёт доступ к вашему балансу.
3

Проверить ключ до настройки агента

Быстрая проверка, что ключ живой и шлюз отвечает (подставьте свой ключ):

bash · macOS / Linux
curl https://api.neurozal.ru/v1/models \
  -H "Authorization: Bearer sk-ВАШ_КЛЮЧ"
PowerShell
curl.exe https://api.neurozal.ru/v1/models `
  -H "Authorization: Bearer sk-ВАШ_КЛЮЧ"

В ответ придёт JSON со списком моделей — значит ключ и баланс в порядке. Ошибка 401 означает, что ключ скопирован не полностью или уже удалён.

◆
Один ключ на весь набор инструментов

Тот же ключ работает с Claude Code, Cursor, Cline, OpenWebUI и любым SDK, который умеет OpenAI-совместимый протокол. Баланс общий, поэтому расход по всем инструментам видно в одном месте кабинета.

05 Шаг 3. Подключение Codex к шлюзу

Codex умеет работать с любым OpenAI-совместимым провайдером: достаточно описать его в конфиге и указать, откуда брать ключ. Шлюз NeuroZal поддерживает оба протокола OpenAI — /v1/responses и /v1/chat/completions, поэтому Codex работает с ним «из коробки», без прослоек и прокси.

Где лежит конфиг

ФайлГдеЧто задавать
config.toml (пользовательский) Windows: C:\Users\имя\.codex\config.toml
macOS / Linux: ~/.codex/config.toml
Провайдер, модель, права, MCP, профили — всё основное
.codex/config.toml (проектный) В корне репозитория Настройки конкретного проекта. Загружается только для проектов, которым вы доверяете

Проектный слой намеренно не может переопределять провайдера и модель — это защита от «сюрпризов» в чужом репозитории. Провайдера задают один раз в пользовательском конфиге.

Конфиг шлюза

Откройте ~/.codex/config.toml (файл создаётся вручную, если его ещё нет) и добавьте:

~/.codex/config.toml
# модель по умолчанию и провайдер
model = "gpt-5.5"
model_provider = "neurozal"
model_reasoning_effort = "medium"

# описание провайдера NeuroZal
[model_providers.neurozal]
name = "NeuroZal"
base_url = "https://api.neurozal.ru/v1"
env_key = "NEUROZAL_API_KEY"
wire_api = "responses"

Что здесь важно:

  • base_url — адрес шлюза с обязательным /v1 на конце.
  • env_key — имя переменной окружения, из которой берётся ключ. Сам ключ в конфиге не хранится.
  • wire_api — протокол запросов. Поддерживается значение responses (по умолчанию, если не указывать).
  • model — имя модели, которое понимает шлюз. Список — в разделе Модели шлюза.

Переменная окружения с ключом

PowerShell
# только для текущего окна терминала
$env:NEUROZAL_API_KEY = "sk-ВАШ_КЛЮЧ"

# постоянно — для всех новых окон
setx NEUROZAL_API_KEY "sk-ВАШ_КЛЮЧ"

После setx обязательно откройте новое окно терминала: переменная подхватывается при старте процесса, а уже запущенный Codex её не увидит.

Проверить связь

Самый быстрый способ убедиться, что ключ, адрес и модель настроены верно, — один неинтерактивный запрос:

терминал
codex exec "Ответь одним словом: работает" --skip-git-repo-check

Ответ модели в терминале означает, что Codex ходит через шлюз NeuroZal. Если вместо ответа приходит ошибка авторизации, проверьте три вещи: переменная окружения задана в том же окне, ключ скопирован целиком, в конфиге указано именно env_key = "NEUROZAL_API_KEY". Диагностика целиком — codex doctor.

Профили: несколько наборов настроек

Если нужно переключаться между «быстрым» и «глубоким» режимами, заведите отдельные файлы профилей в каталоге Codex. Профиль накладывается на основной конфиг поверх него:

~/.codex/fast.config.toml
model = "gpt-5.4-mini"
model_reasoning_effort = "low"
терминал
codex -p fast                     # запуск с профилем fast
codex -m gpt-5.6                  # разово другая модель
codex -c model_reasoning_effort=high   # разовое переопределение настройки

Флаг -c принимает пару «ключ=значение» из конфига и действует только на этот запуск — удобно, чтобы проверить настройку, не правя файл.

Второй способ авторизации

Если окружение менять не хочется, ключ можно сохранить во внутреннем хранилище Codex — команда читает его из stdin:

bash
printenv NEUROZAL_API_KEY | codex login --with-api-key
codex login status

Выбирайте один способ: переменная окружения прозрачнее (видно, какой ключ используется), вход через codex login удобнее на машинах, где нет менеджера переменных.

Дополнительные настройки провайдера

Эти ключи описываются в том же блоке [model_providers.neurozal] и нужны в основном на медленных каналах:

КлючЧто делает
nameЧеловеческое имя провайдера — показывается в интерфейсе
base_urlАдрес API шлюза
env_keyИмя переменной окружения с ключом
wire_apiПротокол запросов: responses
query_paramsДополнительные параметры строки запроса (пары ключ-значение)
http_headersСтатические заголовки, если провайдер их требует
request_max_retriesСколько раз повторять неудачный запрос
stream_max_retriesСколько раз переподключаться к потоку ответа
stream_idle_timeout_msТаймаут простоя потока: помогает на нестабильном соединении
requires_openai_authИспользовать авторизацию OpenAI (по умолчанию — нет)
▲
Три ошибки, которые ломают подключение

1. Не добавляйте блок [model_providers.openai] — встроенный провайдер переопределить нельзя; чтобы сменить адрес для OpenAI-совместимого шлюза, опишите своего провайдера с другим именем (как в примере выше).
2. Не указывайте ключ прямо в config.toml — только через env_key. 3. Не забывайте про /v1 в адресе: без него шлюз вернёт ошибку маршрута.

06 Шаг 4. Первый запуск

Codex запускается из каталога проекта — он работает с файлами вокруг себя, а не с абстрактным «чатом».

терминал
# зафиксировать текущее состояние — точка возврата перед экспериментами
cd C:\путь\к\проекту
git status
git add -A && git commit -m "чекпойнт перед работой с агентом"

# запустить агента
codex

При первом запуске в новом проекте Codex спросит, доверяете ли вы этому каталогу: только после подтверждения он подхватывает проектный слой настроек .codex/config.toml и правила проекта. Это защита — в чужом репозитории конфигурация не применяется автоматически.

◆

Задача — обычными словами

«Расскажи про этот проект: стек, точки входа, как запускаются тесты» — рабочий первый запрос. Дальше формулируйте так, как объяснили бы коллеге.

⇥

Права видны и управляемы

Команда /permissions показывает активную песочницу и области записи. Меняется на ходу, без перезапуска.

⎋

Работу можно прервать

Esc останавливает текущий ход, транскрипт и правки остаются перед глазами. Диффы не применяются молча.

✓

Результат коммитится

Закончили задачу — просмотрите git diff и закоммитьте. Так история остаётся читаемой, а откат — дешёвым.

Что набрать в первые минуты

КомандаЗачем
/statusПоказать модель, провайдера, песочницу, каталог и активную сессию
/modelСменить модель внутри сессии, если задача требует другого класса
/permissionsПосмотреть и изменить правила: что можно без подтверждения, где разрешена запись
/approveОтветить на запрос подтверждения, когда агент просит разрешение
/clearНачать тему с чистого контекста
/exitВыйти из сессии (или Ctrl+C)
◆
Как понять, что всё работает правильно

В /status в качестве провайдера виден ваш блок из конфига, а модель совпадает с той, что указана в config.toml. Если там подставилась другая модель — значит где-то остался старый профиль или переопределение через -c.

07 Codex: права, флаги и команды

В Codex две независимые настройки: спрашивать ли разрешение перед действием и насколько широк доступ к файлам и сети. Вместе они дают предсказуемое поведение — от «только чтение» до полной автоматизации.

Режимы подтверждений

ЗначениеПоведение
on-requestАгент сам решает, когда спросить подтверждение — по умолчанию для обычной работы
neverРазрешения не спрашиваются: результат неудачной команды сразу возвращается модели. Подходит для изолированных сред и CI

Уровни доступа (песочница)

ЗначениеЧто разрешено
read-onlyТолько чтение: агент изучает проект и предлагает правки, но не применяет их
workspace-writeЗапись в рабочем каталоге — обычный режим для разработки
danger-full-accessПолный доступ к файловой системе и сети. Только для сред, которые изолированы снаружи

Задаются в конфиге или флагом на запуск:

~/.codex/config.toml
approval_policy = "on-request"     # когда спрашивать разрешение
sandbox_mode = "workspace-write"   # насколько широк доступ
web_search = "cached"              # cached | indexed | live | disabled

# Windows: нативная песочница (нужны права администратора)
[windows]
sandbox = "elevated"

Флаги запуска

ФлагЧто делает
-m, --modelМодель для этого запуска
-s, --sandboxread-only, workspace-write или danger-full-access
-a, --ask-for-approvalon-request или never
-C, --cdРабочий каталог, если запускаете Codex не из проекта
--add-dirДополнительные каталоги, доступные на запись
-i, --imageПриложить картинку к первому запросу: скриншот ошибки, макет, схему
--searchРазрешить живые поисковые запросы в интернете
-p, --profileЗапуск с профилем из отдельного файла конфига
-cРазовое переопределение любого ключа конфига
--approve-for-meЗапросы подтверждений уходят на автоматическую проверку вместо вас
✕
Флаг --dangerously-bypass-approvals-and-sandbox

Снимает и подтверждения, и песочницу — команды агента выполняются без ограничений. Он предназначен только для окружений, которые изолированы снаружи (контейнер, отдельная виртуалка). На рабочей машине с доступом к боевым серверам и ключам такой запуск использовать нельзя.

08 Codex: сессия, команды и клавиши

Внутри сессии почти всё управляется слэш-командами — их 47, ниже самые нужные в работе.

Команды внутри сессии

КомандаЧто делает
/modelВыбрать активную модель (и уровень рассуждений, если модель его поддерживает)
/permissionsНастроить, что агент делает без подтверждения
/approveРазрешить повтор после автоматического отказа проверки
/planПерейти в режим плана и, при желании, сразу отправить задачу
/goalПоставить, изменить, приостановить или снять цель задачи
/diffПоказать git-диф, включая ещё не отслеживаемые файлы
/reviewПопросить агента отревьюить рабочее дерево
/initСоздать заготовку AGENTS.md в текущем каталоге
/mentionПриложить файл к чату
/ideПодтянуть контекст из редактора: открытые файлы, выделение
/skillsПросмотреть и использовать навыки
/mcpПоказать инструменты подключённых MCP-серверов
/hooksПосмотреть и настроить жизненные хуки
/plugins · /appsПлагины и внешние приложения-коннекторы
/memoriesНастроить использование и создание памяти
/compactСжать видимый диалог в сводку, освобождая контекст
/clearОчистить терминал и начать новый чат
/new · /forkНовый чат в той же сессии / ответвление текущего
/resumeПродолжить сохранённый чат из списка сессий
/statusПоказать конфигурацию сессии и расход токенов
/usageПосмотреть расход по аккаунту
/ps · /stopФоновые терминалы и их вывод / остановить их
/copyСкопировать последний готовый ответ
/theme · /keymap · /vimТема подсветки, горячие клавиши, режим Vim
/exitВыйти из сессии

Горячие клавиши

ДействиеЧто происходит
@Поиск файла в проекте — путь подставляется в запрос
! в начале строкиВыполнить локальную команду оболочки с текущими правами и песочницей
Tab во время работыПоставить в очередь следующий запрос или команду
Enter во время работыВклинить уточнение в текущий ход, не дожидаясь конца
Ctrl+RПоиск по истории запросов
Ctrl+OСкопировать последний готовый вывод
Esc дважды на пустом вводеОтредактировать прошлое сообщение и ответвиться от него
Ctrl+CЗакрыть сессию (то же, что /exit)

09 Codex вне сессии: подкоманды

Кроме интерактивного запуска codex есть отдельные команды — они и делают агента частью рабочего процесса.

КомандаНазначение
codex execЗапуск без интерфейса: разовая задача или пайплайн
codex reviewРевью без интерфейса: изменения, коммит или ветка
codex applyПрименить последний диф агента через git apply
codex resume · codex forkПродолжить прошлую сессию / сделать её ответвление
codex login · codex logoutВход и выход, codex login status — проверка состояния
codex mcpПодключение внешних MCP-серверов: list, add, remove, login
codex pluginУправление плагинами
codex mcp-serverСам Codex как MCP-сервер для других приложений
codex doctorДиагностика установки, конфига, авторизации и окружения
codex sandboxЗапустить команду внутри песочницы Codex
codex completionАвтодополнение для вашей оболочки
codex updateОбновление до свежей версии
codex cloudЗадачи из Codex Cloud и перенос результата локально
codex features · codex debugФлаги возможностей и отладочные инструменты

Разовая задача без интерфейса

терминал
# одна задача без интерактивного интерфейса
codex exec "прогони тесты и почини то, что упало"

# машиночитаемый прогресс + человеческая сводка в файл (для CI)
codex exec --json -o summary.md "проверь сборку и опиши риски"

# запуск вне git-репозитория и без сохранения сессии
codex exec --skip-git-repo-check --ephemeral "почисти временные файлы"
◆
Три правила безопасной автоматизации

Для работы без человека держите --sandbox workspace-write: агент останется внутри проекта. Если нужно больше каталогов — добавляйте их через --add-dir, а не открывайте полный доступ (danger-full-access). И держите пару --json вместе с --output-last-message: первое даёт машинный лог, второе — понятную сводку для отчёта.

10 Cursor: установка и первый проект

Cursor — редактор кода на базе VS Code со встроенными агентами: вы работаете в привычном интерфейсе, а изменения агент показывает прямо в файлах. Отдельно от редактора существует Cursor CLI — тот же агент из терминала (о нём — следующий раздел).

  • Windows 10 и новее — нативный установщик .exe с официального сайта.
  • Альтернатива: сборка под Windows в приложении Winget или ручная распаковка архива.

После установки: войти в аккаунт и открыть папку проекта (File → Open Folder).

Первый проект

  1. Откройте папку с кодом и дождитесь индексации — по ней агент ищет файлы и понимает структуру.
  2. Войдите в аккаунт Cursor: без него редактор работать не будет.
  3. Задайте правила проекта (файл AGENTS.md в корне) — это же описание читает и Codex.
  4. Начните с небольшой задачи: «объясни, как этот сервис обрабатывает заказы». Спросите до правок — так виднее, правильно ли агент понял проект.
▲
Что важно понимать про Cursor и внешние API

Cursor — отдельный платный продукт со своей подпиской и своими моделями: аккаунт Cursor нужен всегда. Свой ключ (Bring Your Own Key) добавляется в настройках Cursor Settings → Models и доступен для провайдеров OpenAI, Anthropic, Google, Azure и AWS Bedrock; он расходуется только на чат-модели, автодополнение кода работает на моделях Cursor. Подмена адреса API сторонним шлюзом в документации Cursor не описана — поэтому надёжный способ использовать ключ NeuroZal вместе с Cursor: держать редактор на своём тарифе, а Codex CLI (или другой агент из терминала) запускать во встроенном терминале Cursor, где он работает через шлюз с вашим ключом.

11 Cursor: режимы работы

Режимы задают, что агенту разрешено делать прямо сейчас. Переключение — Shift+Tab или слэш-команда.

РежимЧто делаетКак включить
AgentПолный доступ к инструментам: правки файлов, команды, поиск — для обычной работыРежим по умолчанию
PlanСначала разбор задачи и план, вопросы к вам — правок нет, пока план не согласованShift+Tab, /plan
AskТолько чтение и объяснения: разобраться в коде без изменений/ask
◇

Начинайте с плана

Задача больше одной правки — включите Plan: вы увидите список шагов, спорные места и вопросы до того, как код начнёт меняться.

⤷

Контекст через @

Файлы, каталоги и правила подключаются упоминанием: @имя-файла, @правило. Так агент не ищет наугад.

⌨

Автодополнение рядом

Автодополнение кода работает отдельно от чата и остаётся включённым даже когда подключён свой ключ API.

⚑

Проверяйте команды

Команды в терминале агент предлагает с подтверждением. Точку невозврата лучше не открывать: держите проект под git.

Как формулировать задачи агенту

  • Один результат на запрос. «Починить checkout в тестах» отдельно от «отрефакторить модуль оплаты» — так проще проверять.
  • Просите сначала объяснить. «Сначала опиши причину, потом правь» отсекает правки наугад.
  • Задавайте границы. «Меняй только файлы в src/api», «не трогай миграции» — агент остаётся в рамках.
  • Требуйте проверку. «Запусти тесты и покажи результат» — иначе агент считает задачу сделанной после правки.

12 Cursor CLI: агент в терминале

Отдельная программа agent — тот же агент Cursor, но из командной строки. Удобна, когда проект открыт по SSH, или когда задача должна идти из скрипта.

Установка

терминал
# macOS, Linux, WSL
curl https://cursor.com/install -fsS | bash

# Windows (PowerShell)
irm 'https://cursor.com/install?win32=true' | iex

# запуск
agent

Вход

терминал
# вход через браузер (рекомендуется)
agent login
agent status

# для скриптов и CI — ключ аккаунта Cursor
export CURSOR_API_KEY="ваш_ключ"       # ключ берётся в панели Cursor → API Keys
agent "реализуй авторизацию пользователей"

# или ключ разово флагом
agent --api-key "ваш_ключ" "исправь падающий тест"

Если браузер не открывается, добавьте NO_OPEN_BROWSER=1 перед agent login — команда напечатает ссылку, которую можно открыть вручную.

Режимы и запуск без интерфейса

Что нужноКоманда
Интерактивная сессияagent
Сессия сразу с задачейagent "задача текстом"
Режим планаShift+Tab, /plan, --plan
Режим вопросов (без правок)/ask, --mode=ask
Разовая задача без интерфейсаagent -p "найди и исправь проблемы производительности" --model "gpt-5"
Понятный вывод для скриптаagent -p "проверь изменения на уязвимости" --output-format text
Песочница/sandbox или --sandbox enabled|disabled

Настройки песочницы и доступа к сети сохраняются между сессиями, поэтому переключать их каждый раз не нужно.

Сессии и продолжение работы

терминал
agent ls                    # список прошлых чатов
agent resume                # продолжить последний
agent --continue            # продолжить предыдущую сессию
agent --resume="chat-id"    # продолжить конкретный чат

Кнопка переноса работы в облако есть и в CLI: если начать сообщение с символа &, задача уйдёт в Cloud Agent и продолжит выполняться, пока вас нет за компьютером. Вернуться к ней можно с сайта или из мобильного приложения.

Настройки CLI

ФайлЧто можно настроить
~/.cursor/cli-config.jsonОсновные настройки CLI: режим Vim, канал обновлений, модель, уведомления
C:\Users\имя\.cursor\cli-config.jsonТот же файл в Windows
проект/.cursor/cli.jsonТолько правила разрешений — они применяются к конкретному проекту

Каталог настроек можно перенести переменной CURSOR_CONFIG_DIR, если нужно держать разные профили. В JSON-выводе режима -p видно, откуда взят ключ (apiKeySource: env, flag или login) — удобно для диагностики в CI.

13 Правила проекта: AGENTS.md и .cursor/rules

Правила — это то, что агент читает перед работой. Один раз описали договорённости команды — и агент соблюдает их без напоминаний в каждом запросе: язык комментариев, стиль, запретные зоны, как запускать тесты.

AGENTS.md — общий файл для Cursor и Codex

Простой markdown в корне проекта. Cursor читает его из корня и из подкаталогов, Codex — как инструкции проекта (команда /init создаёт заготовку). Если правил немного, начните именно с него.

AGENTS.md
# Проект: сервис заказов

## Стек
Python 3.11, FastAPI, PostgreSQL, тесты на pytest.

## Как проверять изменения
- Запуск тестов: `pytest -q`
- Линтер: `ruff check .`
- Перед коммитом обязательно зелёный прогон тестов.

## Правила кода
- Комментарии и докстринги — на русском.
- Публичные функции возвращают типизированные модели, не словари.
- Не менять миграции: только добавлять новые.

## Запрещено
- Править файлы в `deploy/` и `.env*`.
- Выполнять команды git push и что-либо с боевыми адресами.

Правила Cursor: файлы .mdc с настройками охвата

Проектные правила лежат в .cursor/rules и версионируются вместе с кодом. Файл должен иметь расширение .mdc — обычный .md в этом каталоге правила-система игнорирует.

Тип правилаКогда срабатывает
alwaysApply: trueВ каждом диалоге, без исключений
globs: …Автоматически, когда в контексте файлы по маске
только descriptionАгент решает сам, что правило уместно
без метаданныхТолько при упоминании в чате: @имя-правила
.cursor/rules/api-guidelines.mdc
---
description: Правила для эндпоинтов API
globs: src/api/**
alwaysApply: false
---

- Каждый эндпоинт описан схемой ответа.
- Ошибки возвращаются в едином формате: код, сообщение, детали.
- Валидация входных данных — до обращения к базе.

Правила Codex: политика команд

У Codex отдельный механизм — файлы .rules (формат Starlark) в каталоге rules/ рядом с активным конфигом, например ~/.codex/rules/default.rules. Они описывают, какие команды разрешены, а какие требуют подтверждения. Когда вы в сессии отвечаете «разрешить всегда», Codex сам дописывает правило в пользовательский файл — дальше такие команды уже не спрашивают.

◆
Практический порядок

Сначала AGENTS.md — что за проект и как его проверять. Потом правила Cursor для отдельных зон кода. И только затем политика команд Codex: она нужна, когда вы регулярно повторяете одни и те же разрешения.

14 Навыки: свои сценарии одной командой

Навык — папка с файлом SKILL.md: описание и пошаговая инструкция. Агент подключает её, когда задача совпадает с описанием. Так повторяющиеся процедуры перестают быть «простыней в чате» и становятся частью проекта.

Где лежат навыки

ИнструментПроектЛичные (на машине)
Cursor.cursor/skills/, .agents/skills/~/.cursor/skills/, ~/.agents/skills/
Codex.agents/skills/~/.agents/skills/, /etc/codex/skills/ (системные)

Проектные навыки попадают в репозиторий и работают у всей команды. Личные остаются на вашей машине: Cursor не переносит их в облачные агенты автоматически, а Codex подхватывает только из домашнего каталога Codex.

.agents/skills/release/SKILL.md
---
name: release
description: Подготовить релиз: тесты, changelog, тег, черновик PR
---

1. Запусти `pytest -q` и `ruff check .` — при ошибках остановись.
2. Собери changelog из git-лога с последнего тега, сгруппируй по типам.
3. Обнови версию в `pyproject.toml` и `CHANGELOG.md`.
4. Создай тег и черновик PR с описанием изменений.
5. Ничего не публикуй без подтверждения.

Как вызвать

  • Cursor: навык подключается автоматически по описанию; команда /create-skill помогает создать структуру, /migrate-to-skills переносит подходящие правила в навыки.
  • Codex: /skills показывает доступные навыки, вызов — по имени в запросе (символ $ перед именем).
◆
Что стоит превратить в навык

Всё, что вы объясняете агенту второй раз: порядок релиза, чек-лист ревью, разбор инцидента, генерация отчёта, подготовка карточек товара. Первый раз — обычный запрос, второй раз — пора заводить навык.

15 Хуки: автоматика вокруг агента

Хук — внешняя программа, которую агент запускает на определённых событиях. Она получает данные по stdio в формате JSON и может ответить: пропустить, спросить подтверждение или запретить. Так в цикл работы агента встраиваются ваши правила — без надежды на память модели.

Где задаются (Cursor)

ФайлОбластьОткуда запускаются скрипты
~/.cursor/hooks.jsonЛичные, для всех проектовИз каталога ~/.cursor/
проект/.cursor/hooks.jsonТолько этот проектИз корня проекта

Обратите внимание на пути: в личных хуках пишут ./hooks/format.sh, в проектных — .cursor/hooks/format.sh.

~/.cursor/hooks.json
{
  "version": 1,
  "hooks": {
    "afterFileEdit": [{ "command": "./hooks/format.sh" }]
  }
}

Основные события

СобытиеКогда срабатывает
beforeSubmitPromptПеред отправкой вашего запроса агенту
beforeReadFileПеред чтением файла агентом
beforeShellExecution · afterShellExecutionДо и после запуска команды в терминале
afterFileEditПосле правки файла — сюда вешают форматтеры и линтеры
afterAgentResponse · afterAgentThoughtПосле ответа и после хода рассуждения агента
beforeMCPExecution · afterMCPExecutionВокруг вызовов внешних MCP-инструментов

Что ими решают на практике

  • Форматирование после правок. Агент закончил файл — хук запустил форматтер, и код всегда в едином стиле.
  • Защита секретов. Хук перед записью файла проверяет, не попал ли в него ключ или пароль, и блокирует правку.
  • Гейт опасных операций. Запись в базу, удаление каталогов, отправка писем — всё, что требует вашего решения.
  • Аналитика. Запись событий в журнал: какие инструменты агент вызывает и где тратит время.

Если один и тот же хук возвращает разные ответы из разных источников, побеждает более строгий: запрет сильнее запроса подтверждения, подтверждение сильнее разрешения.

◆
В Codex

Жизненные хуки смотрят и настраивают командой /hooks; запуск хуков требует подтверждённого доверия к источнику, поэтому включать их нужно осознанно. Команда /create-hook в Cursor помогает сгенерировать файл настроек и скрипт.

16 MCP: подключение внешних сервисов

MCP (Model Context Protocol) — общий способ отдать агенту доступ к внешним данным и действиям: базе знаний, тикетам, документации, внутренним API. Оба инструмента поддерживают его, отличаются только файлы настроек.

Cursor

ФайлОбласть действия
.cursor/mcp.jsonТолько этот проект (файл можно положить в репозиторий)
~/.cursor/mcp.jsonВсе проекты на машине

Поддерживаются локальные серверы (запускаются как процесс) и удалённые — по SSE или Streamable HTTP, с авторизацией через OAuth.

.cursor/mcp.json
{
  "mcpServers": {
    "files": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "."]
    },
    "docs": {
      "url": "https://mcp.example.com"
    }
  }
}

Codex

Серверы описываются таблицами в ~/.codex/config.toml или в проектном .codex/config.toml:

~/.codex/config.toml
[mcp_servers.files]
command = "npx"                             # команда запуска сервера
args = ["-y", "@modelcontextprotocol/server-filesystem", "."]
env = { LOG_LEVEL = "info" }                # переменные для процесса

[mcp_servers.docs]
url = "https://mcp.example.com"             # удалённый сервер

Управлять можно и командами: codex mcp add, codex mcp list, codex mcp remove, а для серверов с авторизацией — codex mcp login.

▲
MCP — это доступ к реальным данным

Всё, что подключено через MCP, агент видит как обычные инструменты. Поэтому подключайте только серверы, которым доверяете, выдавайте ключи с минимальными правами и храните их в переменных окружения, а не в файле настроек.

17 Разрешения и безопасность

Агент с доступом к терминалу может сделать всё, что можете вы. Поэтому доступ выдаётся по задаче, а не «на всякий случай»: сначала только чтение, потом запись в проекте, и лишь для изолированных сред — полный доступ.

Рабочие сочетания в Codex

ЗадачаПодтвержденияПесочница
Разобраться в незнакомом проектеon-requestread-only
Обычная разработкаon-requestworkspace-write
Автономная работа в контейнереneverworkspace-write
Разовые доверенные скриптыneverdanger-full-access — только в изолированной среде

Нужен доступ к соседним каталогам — добавляйте их точечно флагом --add-dir, вместо того чтобы открывать всю файловую систему. На Windows песочница включается в конфиге: [windows] sandbox = "elevated" (режим unelevated — запасной, если нет прав администратора).

Права в Cursor CLI

В cli-config.json есть списки permissions.allow и permissions.deny: что разрешено без запроса, а что запрещено всегда. Из проекта настраивается только этот раздел — файл проект/.cursor/cli.json держится в репозитории и задаёт правила для команды. Плюс режим песочницы: --sandbox enabled ограничивает команды агента, а доступ к сети включается отдельно.

Гигиена ключей

  • Отдельный ключ на инструмент. Ключ шлюза для Codex не стоит использовать ещё и в скриптах выгрузки: если он утечёт, отзывать придётся в одном месте, а не везде.
  • Ключи — только в переменных окружения. Файлы конфигов часто попадают в бэкапы и синхронизацию; ключ в config.toml — плохая идея.
  • Проверяйте расход. Команды /status, /usage в Codex и дашборд шлюза показывают, сколько уходит на задачи — аномалия видна сразу.
  • Не давайте агенту боевые доступы. Токены продакшена, ключи платёжных систем и SSH-доступы держите вне рабочего окружения агента.
✕
Чего не делать на рабочей машине

Не запускайте Codex с флагом --dangerously-bypass-approvals-and-sandbox вне изолированного окружения и не добавляйте в правила «разрешить всё, что просит агент». Скилл или правило из чужого репозитория — это тоже код: сначала прочитайте, потом разрешайте.

18 Автоматизация и CI

Оба инструмента умеют работать без человека. Это самый практичный сценарий: агент выполняет повторяющуюся проверку или рутину, а вы читаете короткий отчёт вместо логов.

Codex: разовые задачи и конвейеры

ci-проверка.sh
# зависимости и агент
npm install -g @openai/codex

# ключ шлюза приходит из секретов CI
export NEUROZAL_API_KEY="$NEUROZAL_API_KEY"

# задача без интерфейса: машинный лог + сводка в файл
codex exec --json -o summary.md \
  --sandbox workspace-write \
  "прогони тесты и линтер; если что-то падает — почини только причину падения,
   ничего не рефактори; в конце опиши, что менял"

cat summary.md

Флаг --output-schema принимает файл со схемой JSON — тогда финальный ответ агента приходит в нужной структуре, и его можно сразу разбирать скриптом. Флаг --ephemeral не сохраняет сессию на диск, а --skip-git-repo-check позволяет запускать задачу вне репозитория.

Ревью изменений

терминал
# Codex: ревью без интерфейса — по незакоммиченным правкам, коммиту или ветке
codex review

# Cursor CLI: то же самое, но с понятным выводом в терминал
agent -p "проверь изменения на уязвимости и регрессии" --output-format text

Ревью не меняет рабочее дерево: агент сообщает находки по приоритету, а решение остаётся за вами.

Что автоматизировать в первую очередь

ЗадачаЧем запускать
Ночная проверка сборки и тестовcodex exec по расписанию, отчёт в файл или в мессенджер
Ревью каждого pull requestcodex exec или agent -p в задании CI
Разбор журналов паденийcodex exec с путём к логу в запросе
Рутинные правки по списку файловcodex exec --sandbox workspace-write с ограничением каталога
▲
Правила безопасной автоматизации

В CI ключ живёт только в секретах и не попадает в логи. Песочница — workspace-write, полный доступ не открывается никогда. Агент не должен уметь публиковать: пусть создаёт правки и отчёт, а «нажимает кнопку» отдельный шаг, который вы контролируете.

19 Модели шлюза: что проверено

Шлюз NeuroZal отдаёт два интерфейса, и Codex умеет работать с обоими: /v1/chat/completions (классический формат чата) и /v1/responses (формат Responses, который Codex использует по умолчанию). На живом шлюзе проверено: ответ приходит, потоковая передача работает, вызов инструментов (tool use) возвращается корректно в обоих интерфейсах.

◆
Что это значит для Codex

В конфиге достаточно указать wire_api = "responses" — ничего обходить и «подделывать» под OpenAI не нужно. Протокол шлюза совпадает с протоколом, к которому Codex обращается у провайдера по умолчанию.

Кого выбирать под задачи

МодельДля чегоПроверка на шлюзе
gpt-5.5Основная рабочая модель: правки, отладка, рутина в проектеОтвет, поток, инструменты — ок
gpt-5.6Задачи побольше: разбор модуля, рефакторинг под тестыОтвет — ок
gpt-5.6-reasoningАрхитектура и сложные баги, где важен ход рассужденийОтвет — ок
gpt-5.5-reasoningГлубокий разбор без спешкиОтвет — ок
gpt-5.4 · gpt-5.4-miniБыстрые правки и мелкие задачи: скорость важнее глубиныОтвет — ок
claude-sonnet-5 · claude-opus-4.8Второе мнение по коду, работа с большими текстами и документамиОтвет, инструменты — ок
gemini-3.8-flashБыстрые ответы и длинный контекстОтвет — ок
deepseek-v4-flash · deepseek-v4-proМассовые дешёвые операции: сверки, разбор логов, черновикиОтвет — ок
grok-4.6Независимый взгляд на задачуОтвет — ок

Как выбрать модель на практике

  • Начните с gpt-5.5 — на нём проверена и работа с инструментами, и потоковая передача.
  • Тяжёлую задачу («почему падает прод», «спроектируй схему миграции») отправляйте на reasoning-модель: думает дольше, ошибается меньше.
  • Мелочь и повтор — на быстрых моделях: не нужно платить за рассуждения там, где их не читают.
  • Переключайтесь на ходу командой /model внутри сессии или флагом -m при запуске.

Актуальный состав моделей и цены — в каталоге Модели и цены. Если модель есть в списке, но отвечает ошибкой провайдера — это видно сразу по тексту ошибки, и об этом стоит написать в поддержку: канал быстро приводится в рабочее состояние.

20 12 рабочих рецептов

Формулировки, которые дают предсказуемый результат и в Cursor, и в Codex. Копируйте и меняйте под свой проект.

01

Разобраться в незнакомом проекте

Изучи репозиторий: назначение, стек, точки входа, как запускаются тесты. Затем создай AGENTS.md с самыми важными правилами проекта.

Получаете и понимание проекта, и файл, по которому дальше работают оба агента.

02

Найти причину бага по стектрейсу

Вот ошибка и стектрейс. Найди корневую причину, не лечи симптом. Сначала объясни, что происходит, потом предложи минимальную правку.

Требование «сначала объясни» отсекает правки наугад.

03

Покрыть тестами то, что уже работает

Прочитай src/api и напиши модульные тесты на ветвления, где нет покрытия. Стиль существующих тестов сохрани, запусти их и добейся зелёного прогона.

Агент сам запускает тесты и правит, пока они не проходят.

04

Ревью собственных изменений до коммита

/diff
Затем: что в этих изменениях самое рискованное при выкатке и что я мог упустить в тестах?

Ревью агента дешевле, чем разбор инцидента в проде.

05

Безопасное обновление библиотек

Обнови зависимости до свежих версий так, чтобы сборка осталась рабочей. На каждое несовместимое место покажи, что изменилось и почему.

Механическая работа с проверкой — идеальный случай для агента.

06

Перевод модуля на другую библиотеку

Переведи этот файл с requests на httpx, сохранив поведение и обработку ошибок. По одному модулю за шаг, после каждого — тесты.

«По одному модулю за шаг» не даёт утонуть в огромном дифе.

07

Документация на русском

Допиши докстринги ко всем публичным функциям в src/, на русском, по шаблону из уже задокументированных файлов. Поведение кода не меняй.

Один раз заданный шаблон агент соблюдает во всех файлах.

08

Ускорить тяжёлый SQL-запрос

Вот запрос и план выполнения. Предложи вариант быстрее, объясни выигрыш по числу читаемых строк и покажи нужные индексы.

Агент читает план запроса, а не угадывает.

09

Разбор журналов падения

Прочитай logs/app.log за последний час, сгруппируй ошибки и назови три самые частые причины с номерами строк в файлах.

Ссылки на файлы и строки легко проверить руками.

10

Проверка безопасности перед релизом

/review-security
По каждой находке оцени последствия для прода и дай минимальную правку.

Отдельный проход по безопасности ловит то, что не видно в обычном ревью.

11

Ночная проверка в CI

codex exec --json -o summary.md --sandbox workspace-write "прогони тесты и линтер; почини только причину падения"

Утром вы читаете одну страницу сводки вместо логов сборки.

12

Объяснить чужой код простыми словами

Прочитай этот модуль и объясни его работу так, чтобы понял новый разработчик: назначение, основные потоки, где легко ошибиться.

Режим Ask и такие запросы дают документацию без правок кода.

21 Как экономить токены

Расход определяет не длина вашего сообщения, а объём контекста, который агент читает на каждом шаге. Поэтому экономия — это дисциплина разговора, а не «короткие промпты».

ПриёмЧто даёт
/compact (Codex)Сжимает видимый диалог в сводку — длинная сессия перестаёт «съедать» контекст
/clear · /new (Codex), новый чат в CursorНовая тема начинается с чистого контекста, старые файлы больше не перечитываются
Модель по задаче (/model, -m)Reasoning-модель нужна для сложного разбора, а не для правок в одном файле
План до работы (/plan, режим Plan)Согласованный план дешевле, чем откат большой неудачной правки
Явные границы: «только в папке X»Агент не читает половину репозитория ради одной задачи
Путь к логу вместо вставки логаФайл агент читает выборочно, а вставленный текст навсегда остаётся в контексте
Короткие и точные правилаAGENTS.md и правила читаются в каждой сессии — раздутый файл стоит дорого
/status · /usageВидно фактический расход — аномалию замечаешь до счёта
◆
Признак, что пора начать заново

Агент перестал отвечать по делу, повторяет уже отменённые решения или ссылается на файлы, которых в проекте нет, — контекст засорён. Быстрее выйти из сессии и сформулировать задачу заново, чем уговаривать модель вспомнить договорённости.

22 Типичные ошибки и что делать

401 · «Недействительный токен» или «Invalid API key»

Ключ не дошёл до шлюза. Проверьте по порядку:

  • Ключ действительно лежит в переменной окружения: NEUROZAL_API_KEY (Windows — в новом окне терминала после setx).
  • В config.toml в поле env_key указано ровно то же имя переменной.
  • Ключ скопирован целиком, без пробела и переноса строки в конце.
  • Ключ активен и баланс пополнен — это видно в кабинете.
Ответ обрывается или приходит «stream error»

Обычно это сеть: сторонний прокси, VPN или нестабильный канал рвут длинный поток. Попробуйте без прокси, увеличьте stream_idle_timeout_ms и число повторов (stream_max_retries, request_max_retries) в блоке провайдера.

Codex использует не ту модель, которую я указал

Значит, настройка перекрыта: проверьте профиль запуска (-p), разовые переопределения -c и переменные окружения, которые задают модель. Команда /status покажет фактическую конфигурацию сессии.

Проектный .codex/config.toml не работает

Так и должно быть, если проект не отмечен как доверенный: Codex подхватывает проектный слой настроек только после вашего подтверждения. Учтите также, что провайдера и модель можно задавать только в пользовательском конфиге — проектный слой их не переопределяет.

400 · «upstream request failed» на конкретной модели

Ошибка пришла от канала-провайдера, а не от шлюза: сама модель в списке есть, но запрос у поставщика не прошёл. Смените модель на соседнюю из той же группы и сообщите в поддержку — канал переключат.

Мой ключ в Cursor не влияет на автодополнение

Так устроен Cursor: собственный ключ работает только для чат-моделей, а автодополнение кода обслуживается моделями Cursor и тарифом редактора.

Агент изменил не то, что нужно

Смотрите git diff до коммита и держите практику чекпойнта: коммит перед задачей — точка возврата. Правку легко снять (git restore), а чтобы это не повторялось, задавайте границы: «меняй только файлы в этой папке».

MCP-инструменты не появились

Проверьте, что сервер действительно запускается вручную (та же команда из настроек), затем — /mcp в Codex или список инструментов в Cursor. Частая причина: сервер требует ключ в переменной окружения, которая не передана процессу.

23 Чек-лист настройки

24 Вопросы и ответы

Нужна ли подписка ChatGPT, чтобы работать в Codex?

При работе через свой ключ (в нашем случае — ключ шлюза) вход в ChatGPT не требуется: Codex обращается к провайдеру из вашего конфига. Вход по подписке нужен тем, кто пользуется официальным сервисом OpenAI напрямую.

Можно ли использовать один ключ шлюза и в Codex, и в других инструментах?

Да, ключ один. Дополнительно создавать ничего не нужно — шлюз отдаёт и чат-формат, и Responses, и Anthropic-формат. Но для удобства диагностики лучше завести отдельные ключи под разные задачи: так видно, что именно расходует баланс.

Получится ли направить сам Cursor на шлюз?

В документации Cursor описано только добавление своих ключей к провайдерам (OpenAI, Anthropic, Google, Azure, AWS) — замены адреса API там нет, поэтому рассчитывать на это не стоит. Рабочая схема: редактор Cursor работает на своём тарифе, а к шлюзу подключается Codex CLI прямо во встроенном терминале Cursor.

Codex работает на Windows без WSL?

Да, для Windows есть нативный установщик, а песочница включается настройкой [windows] sandbox = "elevated". Вариант с WSL2 тоже поддерживается — выбирайте по удобству.

Как обновлять агенты?

Codex: команда codex update или повторный запуск установщика. Cursor обновляется сам; CLI-версия обновляется каналом обновлений из cli-config.json.

Можно ли работать с моделями Anthropic и Google из Codex?

Да. В шлюзе они отвечают в том же OpenAI-совместимом формате, поэтому выбираются флагом -m или командой /model. Удобно для второго мнения: одна задача — две разные модели.

Где взять актуальный список моделей и цены?

В каталоге Модели и цены — он обновляется вместе с составом моделей. Внутри сессии список доступного показывает /model.

Что почитать дальше?

Общую страницу протоколов и примеров — документация API: там описаны варианты подключения для Claude Code, Cline, SDK и OpenWebUI. И отдельный гайд по Claude Code, если работаете и с ним.