Codex в Linux и WSL
Подключение Codex к claud.sale в Linux: установка, ключ, конфигурация Responses API и проверка первого ответа.
Подключение Codex к claud.sale в Linux и WSL: сначала установите официальный CLI, затем добавьте наш провайдер и GPT-ключ. В VS Code используется та же конфигурация — инструкция для расширения.
Что понадобится
- Linux с терминалом Bash,
curlи Python 3.8 или новее. Python нужен нашему настройщику; Node.js для standalone-установки Codex не требуется. - Ключ claud.sale группы
codex_proи доступный баланс. Для Claude используется другой ключ. - Git и зависимости вашего проекта, если Codex должен запускать сборку или тесты.
Проверьте наличие инструментов:
bash --version
curl --version
python3 --version
В WSL выполняйте все команды внутри Linux-дистрибутива. Его домашняя папка, установленные программы и ключи отличаются от Windows. Для файлов Linux-проекта удобнее домашняя папка WSL, например ~/projects.
1. Установите официальный Codex
Скачайте официальный установщик OpenAI во временный файл и запустите его от своего пользователя:
codex_installer="$(mktemp)" &&
curl -fsSL https://chatgpt.com/codex/install.sh -o "$codex_installer" &&
sh "$codex_installer"
rm -f "$codex_installer"
После успешной установки откройте новый терминал и проверьте:
codex --version
Если ваш Codex уже установлен через npm, обновляйте эту копию командой npm install -g @openai/codex@latest. Не запускайте настройщик claud.sale через sudo: иначе настройки окажутся у другого пользователя.
2. Настройте claud.sale
Замените api_key в команде на свой GPT-ключ группы codex_pro и выполните блок целиком. Настройщик получит ключ сразу через CLAUDSALE_API_KEY и сохранит настройки с резервной копией. Можно войти и скопировать команду с ключом на главной и скопировать готовую команду.
export CLAUDSALE_API_KEY='api_key'; setup=$(mktemp) && curl -fsSL https://claud.sale/i -o "$setup" && bash "$setup"
После успешной настройки загрузите ключ в текущее окно Bash:
. "${CODEX_HOME:-$HOME/.codex}/claudsale.env"
Настройщик добавляет загрузку файла в настройки оболочек. Можно открыть новый терминал вместо команды выше. Ключ хранится локально в защищённом claudsale.env; не публикуйте этот файл. Адрес /i остаётся алиасом того же настройщика.
3. Проверьте подключение
Проверка наличия переменной не выводит её содержимое:
if [ -n "${CLAUDSALE_API_KEY:-}" ]; then
printf '%s\n' 'Ключ загружен'
else
printf '%s\n' 'Ключ не найден: загрузите окружение по команде настройщика'
fi
codex -m gpt-5.6-sol
Внутри Codex проверьте /status и отправьте: «Ответь одним словом OK, не меняй файлы и не запускай команды». Текстовый ответ и запись в истории использования claud.sale подтверждают полный путь подключения. Проверочный запрос тоже расходует токены.
Вход через ChatGPT при нашем env_key не нужен. Статус codex login status относится к сохранённой авторизации Codex и не заменяет проверочный запрос через провайдера.
Модель и каталог
По умолчанию настраивается gpt-5.6-sol. Для Astra начните новую сессию с точным именем:
codex -m gpt-6-astra
Доступные вашему GPT-ключу имена возвращает /v1/models. Команда ниже читает ключ из окружения и не передаёт его аргументом процесса:
python3 - <<'PY'
import json
import os
import urllib.request
key = os.environ.get("CLAUDSALE_API_KEY")
if not key:
raise SystemExit("Сначала загрузите CLAUDSALE_API_KEY")
request = urllib.request.Request(
"https://claud.sale/v1/models",
headers={"Authorization": "Bearer " + key},
)
with urllib.request.urlopen(request, timeout=30) as response:
catalog = json.load(response)
for model in catalog.get("data", []):
print(model["id"])
PY
В интерфейсе Codex также есть /model. Если нужное имя отсутствует в меню, используйте codex -m ИМЯ. Каталог показывает разрешённые модели; текущая доступность проверяется реальным ответом. Если меняете модель по умолчанию, обновите единственную строку model в начале конфига.
Ручная настройка
Этот способ полезен, если у вас уже есть свои провайдеры, MCP и настройки Codex. Создайте резервную копию пользовательского файла:
codex_config_dir="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$codex_config_dir"
if [ -f "$codex_config_dir/config.toml" ]; then
cp -p "$codex_config_dir/config.toml" \
"$codex_config_dir/config.toml.before-claudsale-$(date +%Y%m%d-%H%M%S)"
fi
printf 'Файл настроек: %s/config.toml\n' "$codex_config_dir"
Откройте напечатанный путь в редакторе. В начале файла, до первого [...], задайте model и model_provider. Добавьте один блок [model_providers.claudsale], сохранив остальные разделы:
model = "gpt-5.6-sol"
model_provider = "claudsale"
[model_providers.claudsale]
name = "claud.sale"
base_url = "https://claud.sale/v1"
wire_api = "responses"
env_key = "CLAUDSALE_API_KEY"
requires_openai_auth = false
Ключ можно задать только на время текущего Bash-сеанса. Он не будет записан в историю команд:
read -r -s -p 'GPT API-ключ claud.sale: ' CLAUDSALE_API_KEY
printf '\n'
export CLAUDSALE_API_KEY
codex -m gpt-5.6-sol
Чтобы сохранять ключ между сеансами, используйте настройщик. Файлы с ключами храните с доступом только для своего пользователя и не добавляйте в проект.
Обновление и восстановление
Для standalone-версии повторите официальный установщик из шага 1. При установке через npm используйте npm install -g @openai/codex@latest. После обновления проверьте версию и запустите короткий запрос.
Чтобы отменить изменения нашего настройщика, скачайте скрипт и запустите его с --restore:
claud_restore="$(mktemp)" &&
curl -fsSL https://claud.sale/install/codex.sh -o "$claud_restore" &&
bash "$claud_restore" --restore
Копии находятся в ${CODEX_HOME:-$HOME/.codex}/claudsale-backups/. Восстанавливается последняя настройка, а текущее состояние сначала сохраняется отдельно. Затем откройте новый терминал. Для ручной настройки верните свой файл config.toml.before-claudsale-... и выполните unset CLAUDSALE_API_KEY, если ключ больше не нужен в этой сессии.
npm-версия удаляется через npm uninstall -g @openai/codex. Для standalone сначала найдите фактический путь командой command -v codex и используйте способ удаления официального установщика. Историю и остальные настройки в ~/.codex не нужно удалять для отключения claud.sale.
Частые ошибки
| Симптом | Решение |
|---|---|
codex: command not found | Откройте новый терминал, проверьте PATH и инструкции, которые вывел установщик. |
| Ключ есть в одном окне, но отсутствует в другом | Проверьте загрузку локального файла окружения. В WSL, SSH и контейнере ключ настраивается в том окружении, где запущен Codex. |
| Настройщик не находит Python | Установите пакет Python 3 через менеджер вашего Linux-дистрибутива либо используйте ручную настройку. |
401/403 | Проверьте активность и баланс GPT-ключа, его группу codex_pro. Claude-ключ не подходит. |
| Ошибка TOML или неправильный провайдер | Уберите повторные ключи и таблицы. Настройки model/model_provider должны быть до заголовков таблиц; проверьте также проектный конфиг и выбранный профиль. |
404 или HTML вместо API | Используйте https://claud.sale/v1 и wire_api = "responses". |
429/502 или таймаут | Повторите короткий запрос спустя паузу. Если ошибка повторяется, сохраните её время, модель и request ID. |
Дополнительно: диагностика подключения и стоимость запросов и кэша.
Официальные источники
Проверено 9 сентября 2026 года: установка CLI, Codex в WSL, файлы конфигурации, параметры провайдера.