Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Codex CLI от OpenAI — это тот же агент программирования, который обеспечивает работу Codex ChatGPT. Этот агент программирования можно запускать полностью в Azure инфраструктуре, сохраняя данные в пределах границы соответствия с дополнительными преимуществами безопасности корпоративного уровня, частной сети, управления доступом на основе ролей и прогнозируемого управления затратами. Codex больше, чем чат с агентом кода— это асинхронный агент программирования, который можно активировать из терминала, VS Code или из GitHub Actions runner. Codex позволяет автоматически открывать pull requests, рефакторить файлы и писать тесты с учетными данными вашего проекта Foundry и развертываний Azure OpenAI.
Необходимые условия
- Подписка Azure — Создайте бесплатно
- Разрешения участника в Microsoft Foundry.
-
homebrew(macOS) или Node.js для установки Codex CLI с помощьюnpm. См. статью "Скачивание и установка Node.js и npm". - Для Windows установите и настройте WSL2. См. раздел "Установка WSL".
| Требования | Детали |
|---|---|
| Операционные системы | macOS 12+, Ubuntu 20.04+/Debian 10+, или Windows 11 через WSL2 |
| Git (необязательно, рекомендуется) | 2.23+ для встроенных вспомогательных pull request'ов |
| Оперативная память | Минимум 4 ГБ (рекомендуется 8 ГБ) |
Разверните модель в Foundry
- Перейдите в Foundry и создайте новый проект.
- В каталоге моделей выберите модель причин, например
gpt-5.3-codex, ,gpt-5.2-codexgpt-5.1-codex-maxgpt-5.1-codex, ,gpt-5.1-codex-mini,gpt-5-codexgpt-5gpt-5-miniили .gpt-5-nano - Чтобы развернуть модель из каталога моделей, выберите Использовать эту модель, или если используется панель развертывания Azure OpenAI развертывание, выберите развернуть модель.
- Скопируйте URL-адрес конечной точки и ключ API.
Установка интерфейса командной строки Codex
В терминале выполните следующие команды, чтобы установить Codex CLI
Создание и настройка config.toml
Чтобы использовать Cli Codex с Azure, необходимо создать и настроить файл
config.toml.Файл config.toml должен храниться в каталоге
~/.codex. Создайте файл в этом каталоге или измените существующийconfig.tomlфайл, если он уже существует:cd ~/.codex nano config.tomlСкопируйте приведенный ниже текст, чтобы использовать API ответов версии 1. В API версии 1 больше не нужно передавать версию API, но необходимо включить /v1 в
base_urlпуть. Нельзя передать ключ API как строку напрямую вenv_key.env_keyдолжен указывать на переменную среды. Обновите имяbase_urlресурса:model = "gpt-5-codex" # Replace with your actual Azure model deployment name model_provider = "azure" model_reasoning_effort = "medium" [model_providers.azure] name = "Azure OpenAI" base_url = "https://YOUR_RESOURCE_NAME.openai.azure.com/openai/v1" env_key = "AZURE_OPENAI_API_KEY" wire_api = "responses"После сохранения обновлений
config.tomlфайла вернитесь в терминал и создайте экземпляр переменной среды, на которую ссылается файл конфигурации.# Linux, macOS, or WSL export AZURE_OPENAI_API_KEY="<your-api-key>"Теперь выполните одну из следующих команд в терминале, чтобы проверить, успешно ли выполнена конфигурация cli Codex:
Команда Цель Кодекс Запуск интерактивного пользовательского интерфейса терминала (TUI) codex "Начальный запрос" Запуск TUI с начальным запросом codex exec "Начальный запрос" Запуск TUI в неинтерактивном режиме автоматизации
Использование кодекса в Visual Studio Code
Вы также можете использовать Codex непосредственно внутри Visual Studio Code при использовании расширения OpenAI Codex
Если у вас еще нет Visual Studio Code, его можно установить для macOS и Linux.
Установите расширение OpenAI Codex. Расширение зависит от
config.tomlфайла, настроенного для Codex CLI.Если вы находитесь в новом сеансе терминала, настройте переменную среды для
AZURE_OPENAI_API_KEY:export OPENAI_API_KEY="<your-azure-api-key-here>"Примечание
При использовании WSL также задайте ту же переменную среды на хосте Windows, чтобы расширение могло его прочитать при необходимости.
Запустите VS Code из одного сеанса терминала. (Запуск из средства запуска приложений может привести к тому, что переменная ключевой среды API недоступна для расширения Codex.)
code .Теперь вы сможете использовать Codex в Visual Studio Code для чата, редактирования и предварительного просмотра изменений при переключение между тремя режимами утверждения.
Режимы утверждения
Режимы утверждения определяют, сколько автономности и взаимодействия вы хотите иметь с Codex.
| Режим утверждения | Описание |
|---|---|
| Чат | Для чата и планирования с моделью. |
| Агент | Codex может считывать файлы, вносить изменения и выполнять команды в рабочем каталоге автоматически. Кодексу потребуется получение разрешения на действия за пределами рабочей папки или для доступа к интернету. |
| Агент (полный доступ) | Все возможности режима агента, не требующие пошагового утверждения. Режим полного доступа не следует использовать без полного понимания потенциальных рисков, а также реализации дополнительных мер защиты, таких как запуск в контролируемой песочнице. |
Важно
Мы рекомендуем ознакомиться с рекомендациями OpenAI по безопасности Codex.
Постоянное сопровождение с AGENTS.md
Дополнительные инструкции и рекомендации по Codex можно предоставить с помощью AGENTS.md файлов. Codex ищет AGENTS.md файлы в следующих местах и объединяет их сверху вниз, предоставляя ему контекст о личных предпочтениях, сведениях о проекте и текущей задаче:
-
~/.codex/AGENTS.md— личное глобальное руководство. -
AGENTS.mdв корневом каталоге репозитория — общие заметки о проекте. -
AGENTS.mdв текущем рабочем каталоге — вложенная папка или особенности компонентов.
Например, чтобы помочь Codex понять, как писать код для Foundry Agents, вы можете создать AGENTS.md в корневом каталоге вашего проекта со следующим содержимым, взятым из документации SDK Azure AI Agents.
# Instructions for working with Foundry Agents
You are an expert in the Azure AI Agents client library for Python.
## Key Concepts
- **Client Initialization**: Always start by creating an `AIProjectClient` or `AgentsClient`. The recommended way is via `AIProjectClient`.
- **Authentication**: Use `DefaultAzureCredential` from `azure.identity`.
- **Agent Creation**: Use `agents_client.create_agent()`. Key parameters are `model`, `name`, and `instructions`.
- **Tools**: Agents use tools to perform actions like file search, code interpretation, or function calls.
- To use tools, they must be passed to `create_agent` via the `tools` and `tool_resources` parameters or a `toolset`.
- Example: `file_search_tool = FileSearchTool(vector_store_ids=[...])`
- Example: `code_interpreter = CodeInterpreterTool(file_ids=[...])`
- Example: `functions = FunctionTool(user_functions)`
## Example: Creating a basic agent
\`\`\`python
import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
# 1. Create Project Client
project_client = AIProjectClient(
endpoint=os.environ["PROJECT_ENDPOINT"],
credential=DefaultAzureCredential(),
)
# 2. Get Agents Client
with project_client:
agents_client = project_client.agents
# 3. Create Agent
agent = agents_client.create_agent(
model=os.environ["MODEL_DEPLOYMENT_NAME"],
name="my-helpful-agent",
instructions="You are a helpful agent that can answer questions.",
)
print(f"Created agent with ID: {agent.id}")
\`\`\`
В предыдущем примере обратные кавычки в блоке кода Python экранируются, чтобы обеспечить правильный рендеринг. Можно удалить \.
Эксперимент с интерфейсом командной строки Codex
Запустите кодекс со следующим начальным запросом:
codex "write a python script to create an Azure AI Agent with file search capabilities"
Другие предлагаемые тесты:
# generate a unit test for src/utils/date.ts
# refactor this agent to use the Code Interpreter tool instead
Кодекс в GitHub Actions
Codex может выполняться как часть конвейера непрерывной интеграции (CI). Сохраните ключ API в хранилище секретов репозитория как AZURE_OPENAI_KEY и добавьте задачу, подобную этой, чтобы автоматически обновлять журнал изменений перед выпуском.
jobs:
update_changelog:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Update changelog via Codex
run: |
npm install -g @openai/codex
export AZURE_OPENAI_API_KEY="${{ secrets.AZURE_OPENAI_KEY }}"
codex -p azure exec --full-auto "update CHANGELOG for next release"
Устранение неполадок
| Симптом | Решение |
|---|---|
401 Unauthorized Или 403 Forbidden |
Экспортируйте переменную среды AZURE_OPENAI_API_KEY правильно. Убедитесь, что ваш ключ имеет доступ к проекту/развертыванию. Убедитесь, что вы не передаете ключ API непосредственно как строку в файл env_key в config.toml. Необходимо передать допустимую переменную среды. |
ENOTFOUND, или DNS error404 Not Found |
Убедитесь, что base_url использует ваше имя ресурса, правильный домен и содержит config.toml. Например, base_url = "https://<your-resource>.openai.azure.com/openai/v1". |
| CLI игнорирует параметры Azure | Откройте ~/.codex/config.toml и убедитесь, что: - model_provider = "azure" установлен. — Раздел [model_providers.azure] существует. - env_key = "AZURE_OPENAI_API_KEY" соответствует имени переменной среды. |
| поддержка Entra ID | поддержка Entra ID в настоящее время недоступна для Codex. |
401 Unauthorized только с расширением WSL + VS Codex |
При запуске VS Code из WSL с расширением Codex расширение может проверить переменную среды ключа API на локальном узле Windows, а не в оболочке терминала, из которого был запущен VS Code. Чтобы устранить эту проблему, задайте переменную среды на локальном узле Windows, а затем запустите новый терминал из WSL и запустите VS Code.code . |