Главная / Статьи

Codex CLI через LiteLLM Gateway на Bedrock Mantle

Маршрутизация инструмента Codex CLI через шлюз LiteLLM в Amazon Bedrock Mantle для доступа к моделям OpenAI с возможностью управления через шлюз, использованием псевдонимов моделей и разумными стандартными настройками работы.

Издатель: REACTAPP.TOP8 мин чтения1907 слов

Источники: Using OpenAI Codex CLI with LiteLLM AI Gateway and Amazon Bedrock Mantle

В этом руководстве показано, как пройти путь от сырья до рабочей системы для использования OpenAI Codex CLI вместе с LiteLLM AI Gateway и Amazon Bedrock Mantle. Основное внимание уделяется практическим шагам, четкой проверке и коду, который можно просто добавить в репозиторий без необходимости догадываться о его назначении. Для получения обзора необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Необходимо одновременно задокументировать успешный сценарий выполнения и сценарий восстановления. Повторные попытки, проверка человеком и обработка ошибок являются неотъемлемой частью продукта, а не последующими улучшениями.

Поддержка AWS для OpenAI

Для поддержки AWS для OpenAI необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Лучше использовать небольшие, тестируемые единицы кода вместо обширных скриптов. При сбое шага причина должна быть связана с конкретной областью ответственности, а не с запутанной структурой процесса. Фиксируйте версии зависимостей и сохраняйте хэш изображения, с использованием которого выполнялась демонстрация. Воспроизводимость важнее коллективных знаний.

Доступ к другим моделям OpenAI

Для доступа к другим моделям OpenAI необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки сохранения, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Укажите названия результатов работы, определите критерии успеха и не допускайте молчаливого частичного завершения задачи. Фиксируйте версии зависимостей и сохраняйте хэш изображения, с использованием которого выполнялась демонстрация. Воспроизводимость важнее коллективных знаний.

Установка Codex CLI

Для установки Codex CLI необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед внесением изменений в код. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии системы. Регистрируйте время выполнения операций, а также стоимость токенов или запросов рядом с функциональными результатами. Отображение стоимости на раннем этапе предотвращает неожиданные счета при переходе с демо-среды в общедоступные среды. Фиксируйте версии зависимостей и сохраняйте хэш изображения, с использованием которого выполнялась демонстрация. Воспроизводимость важнее устного опыта сотрудников. Для установки Codex CLI необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед внесением изменений в код. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии системы. Документируйте как успешный, так и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами, добавляемыми позже.

curl -fsSL https://chatgpt.com/codex/install.sh | sh
codex --version # currently codex-cli 0.142.5

Подтверждение запуска LiteLLM

Для подтверждения запуска LiteLLM необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг, используя известную точку контроля, без необходимости угадывать скрытое состояние. Лучше использовать небольшие, тестируемые единицы кода вместо обширных скриптов. При сбое шага причина должна быть связана с конкретной функцией, а не с запутанной структурой обработки данных. При наличии бюджета следует добавлять тесты на базе фикстчеров в системе CI для проверки критического пути выполнения, а не с использованием реальных платных API.

export LITELLM_DEMO_CLIENT_KEY="sk-your-litellm-virtual-key"
curl -fsS "http://localhost:4000/models" \
  -H "Authorization: Bearer $LITELLM_DEMO_CLIENT_KEY" \
| jq '[.data[]
  | select(.id | contains("openai"))
  | {id, max_input_tokens, max_output_tokens}]'

Меньшие окна контекста

Для более маленьких окон контекста необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия результатам работы, определите критерии успеха и не допускайте безответственного частичного выполнения задачи. При наличии бюджета добавляйте тесты на базовую работу, которые проверяют критически важные этапы в процессе интеграционного тестирования с использованием фикстур, а не реальных платных API.

Использование Bedrock Mantle против LiteLLM

При использовании Bedrock Mantle вместо LiteLLM необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед внесением изменений в код. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Регистрируйте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отображение стоимости заранее помогает избежать неожиданных счетов при переходе от демо-среды к общедоступным средам. При наличии бюджета добавляйте тесты на работоспособность критических путей в процессе CI с использованием фикстчеров, а не реальных платных API. При использовании Bedrock Mantle вместо LiteLLM необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед внесением изменений в код. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Документируйте как успешный, так и восстановительный пути работы. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами последующей доработки.

model_provider = "amazon-bedrock"
model = "openai.gpt-5.5"
export AWS_BEARER_TOKEN_BEDROCK="<your-bedrock-api-key>"
export AWS_REGION="us-east-2"

Создание профиля Codex LiteLLM

Чтобы создать профиль Codex LiteLLM, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Предпочтительнее использовать небольшие, тестируемые единицы вместо обширных скриптов. При сбое шага причина должна быть связана с конкретной областью ответственности, а не с запутанной цепочкой операций. Напишите краткий руководство: как обновлять ключи, как очищать очередь, как откатывать последнюю загрузку.

CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME"

cat > "$CODEX_HOME/litellm.config.toml" <<EOF
model = "bedrock-mantle-openai-gpt-5-4"
model_provider = "litellm"
model_catalog_json = "$CODEX_HOME/model-catalogs/litellm.json"

[model_providers.litellm]
name = "LiteLLM"
base_url = "http://localhost:4000"
env_key = "LITELLM_DEMO_CLIENT_KEY"
wire_api = "responses"
EOF
wire_api = "responses"

Добавление метаданных модели для псевдонимов LiteLLM

Чтобы добавить метаданные модели для псевдонимов LiteLLM, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными выходными результатами. Укажите названия результатов работы, определите критерии успеха и не допускайте безответственного частичного завершения задачи. Напишите краткий руководство: как обновлять ключи, как очищать очередь задач и как откатывать последнюю загрузку данных.

CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/model-catalogs"
jq '{
  models: [
    (.models[]
      | select(.slug == "gpt-5.4")
      | .slug = "bedrock-mantle-openai-gpt-5-4"
      | .display_name = "LiteLLM Bedrock GPT-5.4"
      | .description = "LiteLLM alias for GPT-5.4 through Bedrock Mantle."
      | .upgrade = null
      | .availability_nux = null
      | .max_context_window = .context_window),
    (.models[]
      | select(.slug == "gpt-5.5")
      | .slug = "bedrock-mantle-openai-gpt-5-5"
      | .display_name = "LiteLLM Bedrock GPT-5.5"
      | .description = "LiteLLM alias for GPT-5.5 through Bedrock Mantle."
      | .upgrade = null
      | .availability_nux = null)
  ]
}' "$CODEX_HOME/models_cache.json" > "$CODEX_HOME/model-catalogs/litellm.json"

Необязательно: но вы хотите версию GPT-5.4 mini

Для дополнительной информации: если вы хотите использовать GPT-5.4 mini, определите входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Записывайте время выполнения и стоимость токенов или запросов рядом с функциональными результатами. Отображение стоимости заранее предотвращает неожиданные счета при переходе с демо-среды в общедоступные среды. Напишите краткий руководство: как обновлять ключи, как опустошать очередь, как откатывать последнюю загрузку данных. Для дополнительной информации: если вы хотите использовать GPT-5.4 mini, определите входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Документируйте как успешный, так и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами последующей доработки.

CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
mkdir -p "$CODEX_HOME/model-catalogs"
jq '{
  models: [
    (.models[]
      | select(.slug == "gpt-5.4")
      | .slug = "bedrock-mantle-openai-gpt-5-4"
      | .display_name = "LiteLLM Bedrock GPT-5.4"
      | .description = "LiteLLM alias for GPT-5.4 through Bedrock Mantle."
      | .upgrade = null
      | .availability_nux = null
      | .max_context_window = .context_window),
    (.models[]
      | select(.slug == "gpt-5.5")
      | .slug = "bedrock-mantle-openai-gpt-5-5"
      | .display_name = "LiteLLM Bedrock GPT-5.5"
      | .description = "LiteLLM alias for GPT-5.5 through Bedrock Mantle."
      | .upgrade = null
      | .availability_nux = null
      | .max_context_window = .context_window),
    (.models[]
      | select(.slug == "gpt-5.4-mini")
      | .slug = "openai-gpt-5-4-mini"
      | .display_name = "LiteLLM OpenAI GPT-5.4 Mini"
      | .description = "LiteLLM alias for GPT-5.4 mini through OpenAI."
      | .upgrade = null
      | .availability_nux = null
      | .max_context_window = .context_window)
  ]
}' "$CODEX_HOME/models_cache.json" > "$CODEX_HOME/model-catalogs/litellm.json"

Начало работы с Codex через LiteLLM

Для использования функции Start Codex Through LiteLLM необходимо заранее определить входные данные, ответственного за выполнение шага и критерии завершения перед внесением изменений в код. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не пытаясь угадать скрытое состояние. Лучше использовать небольшие, тестируемые единицы кода вместо обширных скриптов. При сбое шага причина должна быть связана с конкретной функцией, а не с запутанной структурой обработки данных. Фиксируйте версии зависимостей и сохраняйте хэш изображения, использованного для демонстрации. Воспроизводимость важнее коллективных знаний.

codex --profile litellm
codex --profile litellm -m bedrock-mantle-openai-gpt-5-5

Почему это работает

Чтобы понять, почему это работает, необходимо определить входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Рассматривайте этот этап как контракт между входными данными и проверенными результатами. Дайте названия результатам работы, определите критерии успеха и не допускайте молчаливого частичного завершения задачи. Фиксируйте версии зависимостей и записывайте хэш изображения, с использованием которого выполнялась демонстрация. Воспроизводимость важнее коллективных знаний.

codex --profile litellm

Ссылки

Для справки: определите входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Записывайте время выполнения, а также стоимость токенов или запросов рядом с функциональными результатами. Отображение стоимости заранее предотвращает неожиданные счета при переходе от демо-среды к общедоступным средам. Фиксируйте версии зависимостей и сохраняйте хэш изображения, с использованием которого выполнялась демонстрация. Воспроизводимость важнее коллективных знаний. Для справки: определите входные данные, ответственного за выполнение шага и критерии завершения перед изменением кода. Операторы должны иметь возможность перезапустить шаг с известной точки контроля, не догадываясь о скрытом состоянии. Документируйте как успешный, так и восстановительный сценарии работы. Повторные попытки, проверки человеком и обработка неработающих сообщений являются частью продукта, а не элементами последующей доработки.

Чек-лист операций

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

Храните конфигурацию вне кода приложения. Файлы среды, хранилища секретов и флаги функций должны находиться в одном месте, где операторы могут их проверять, не читая весь кодовый граф.

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

Записывайте время выполнения и стоимость токенов или запросов вместе с функциональными результатами. Отслеживание затрат заранее предотвращает неожиданные счета при переходе с демо-среды в общедоступные среды.

Фиксируйте версии зависимостей и сохраняйте хэш изображения, с помощью которого выполнялась демонстрация. Воспроизводимость важнее коллективных знаний.

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

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