> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.cometapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usar Codex com CometAPI

> Use este guia para configurar o Codex com CometAPI editando as configurações do provedor no config.toml em nível de usuário.

Use este guia para executar o [Codex](https://developers.openai.com/codex/quickstart) com a CometAPI como provedor de modelo.

Referências oficiais:

* [Início rápido do Codex](https://developers.openai.com/codex/quickstart)
* [Noções básicas de configuração do Codex](https://developers.openai.com/codex/config-basic)
* [Provedores de modelo personalizados do Codex](https://developers.openai.com/codex/config-advanced#custom-model-providers)
* [Autenticação do Codex](https://developers.openai.com/codex/auth)
* [Codex no Windows](https://developers.openai.com/codex/windows)

## Pré-requisitos

| Requisito                | Detalhes                                                                                                                |
| ------------------------ | ----------------------------------------------------------------------------------------------------------------------- |
| SO                       | macOS, Linux, Windows PowerShell nativo ou Windows com WSL                                                              |
| Git                      | 2.23+ recomendado                                                                                                       |
| Codex                    | Instale o app Codex ou o Codex CLI a partir do [início rápido do Codex](https://developers.openai.com/codex/quickstart) |
| Chave de API da CometAPI | Obtenha uma no [painel da CometAPI](https://www.cometapi.com/console/token)                                             |
| Model ID                 | Use um model ID da [página de modelos](/pt/overview/models)                                                             |

## Escolha um caminho de configuração

Oferecemos duas opções para ajudar você a configurar o Codex rapidamente.

<CardGroup cols={2}>
  <Card title="Opção 1: Configurar o Codex manualmente (recomendado)" icon="bolt" href="#configure-codex-manually">
    Edite diretamente o arquivo `~/.codex/config.toml` em nível de usuário. Este é o caminho mais confiável, especialmente para usuários de Windows e WSL.
  </Card>

  <Card title="Opção 2: Configurar via script" icon="puzzle-piece" href="#run-the-setup-script">
    Execute o script de configuração como atalho. Ele grava a mesma configuração de provedor e armazena a chave de API da CometAPI para o Codex.
  </Card>
</CardGroup>

## Configurar o Codex manualmente

O Codex lê os padrões pessoais de provider do arquivo `~/.codex/config.toml` no nível do usuário. Configure o provider CometAPI nele, não em um arquivo `.codex/config.toml` do projeto. O Codex ignora as configurações de provider e provider-auth em arquivos de configuração do projeto.

A configuração recomendada usa um provider nomeado `cometapi` e autenticação baseada em comando. Isso mantém o CometAPI separado do provider OpenAI integrado, não exige herança de variáveis de ambiente do shell e não substitui `~/.codex/auth.json`.

<Tabs>
  <Tab title="macOS / Linux / WSL">
    Armazene sua chave de API do CometAPI em um arquivo de chave local:

    ```bash theme={null}
    mkdir -p "$HOME/.codex"
    printf "%s\n" "$COMETAPI_KEY" > "$HOME/.codex/cometapi_key"
    chmod 600 "$HOME/.codex/cometapi_key"
    ```

    Adicione esta configuração a `~/.codex/config.toml`:

    ```toml theme={null}
    model_provider = "cometapi"
    model = "your-model-id"

    [model_providers.cometapi]
    name = "CometAPI"
    base_url = "https://api.cometapi.com/v1"
    wire_api = "responses"

    [model_providers.cometapi.auth]
    command = "sh"
    args = ["-c", "cat \"$HOME/.codex/cometapi_key\""]
    ```
  </Tab>

  <Tab title="Windows PowerShell">
    Armazene sua chave de API do CometAPI no diretório inicial do Codex no Windows:

    ```powershell theme={null}
    New-Item -ItemType Directory -Force "$HOME\.codex" | Out-Null
    Set-Content -NoNewline -Path "$HOME\.codex\cometapi_key" -Value $env:COMETAPI_KEY
    ```

    Adicione esta configuração a `$HOME\.codex\config.toml`:

    ```toml theme={null}
    model_provider = "cometapi"
    model = "your-model-id"

    [model_providers.cometapi]
    name = "CometAPI"
    base_url = "https://api.cometapi.com/v1"
    wire_api = "responses"

    [model_providers.cometapi.auth]
    command = "powershell.exe"
    args = [
      "-NoProfile",
      "-Command",
      "$p=Join-Path $HOME '.codex/cometapi_key'; (Get-Content -Raw $p).Trim()",
    ]
    ```
  </Tab>
</Tabs>

<Note>
  O Codex nativo do Windows usa `$HOME\.codex`, geralmente `C:\Users\<user>\.codex`. O WSL usa o `~/.codex` da distribuição Linux. Edite o diretório que corresponde ao ambiente em que o agente Codex é executado.
</Note>

## Usar autenticação por variável de ambiente

Se você preferir manter a chave de API do CometAPI em uma variável de ambiente, use `env_key` em vez do bloco `[model_providers.cometapi.auth]`.

Use esta configuração de provider somente quando `COMETAPI_KEY` estiver disponível no ambiente que inicia o Codex:

```toml theme={null}
model_provider = "cometapi"
model = "your-model-id"

[model_providers.cometapi]
name = "CometAPI"
base_url = "https://api.cometapi.com/v1"
wire_api = "responses"
env_key = "COMETAPI_KEY"
```

<Warning>
  Não combine `env_key` com `[model_providers.cometapi.auth]`. O Codex oferece suporte a um método de autenticação por provider personalizado.
</Warning>

## Execute o script de configuração

O script de configuração é opcional. Ele grava a mesma configuração do provider `cometapi` em `~/.codex/config.toml`, armazena sua chave de API da CometAPI em `~/.codex/cometapi_key`, cria backups antes de alterar arquivos e verifica a configuração com `codex exec` quando o Codex CLI está disponível.

Para macOS, Linux ou WSL, execute o instalador interativo:

```bash theme={null}
sh -c "$(curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh)"
```

Para uma configuração não interativa, passe a chave de API explicitamente:

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh | sh -s -- --key "$COMETAPI_KEY"
```

Para PowerShell nativo no Windows, execute o instalador interativo:

```powershell theme={null}
powershell -c "irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1' | iex"
```

Para uma configuração não interativa no Windows, passe a chave de API explicitamente:

```powershell theme={null}
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1'))) -Key $env:COMETAPI_KEY"
```

<Warning>
  Por padrão, o script não substitui `~/.codex/auth.json` nem remove um login do ChatGPT. Use `--force-auth-json` ou `-ForceAuthJson` apenas se quiser que o script gerencie o login por chave de API do Codex por meio de `auth.json`.
</Warning>

## Escolha ou altere um model ID

Use um model ID da [página Models](/pt/overview/models). Na configuração manual, altere o valor de `model` em `~/.codex/config.toml`.

Para macOS, Linux ou WSL, passe `--model` ao executar o script de configuração:

```bash theme={null}
curl -fsSL https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.sh | sh -s -- --key "$COMETAPI_KEY" --model your-model-id
```

Para PowerShell nativo no Windows, passe `-Model` ao executar o script de configuração:

```powershell theme={null}
powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/cometapi-dev/integrations/main/codex/setup.ps1'))) -Key $env:COMETAPI_KEY -Model 'your-model-id'"
```

<Note>
  O script usa `CODEX_HOME` quando ele está definido. Caso contrário, ele grava no `~/.codex` do ambiente atual.
</Note>

## Verifique a configuração

Para verificar a configuração com o Codex CLI, execute este comando somente leitura em qualquer projeto local:

```bash theme={null}
codex exec --ephemeral --skip-git-repo-check --sandbox read-only --color never "Reply exactly with: COMETAPI_CODEX_OK"
```

Se o Codex CLI não estiver disponível no `PATH`, abra o app Codex e envie um prompt curto a partir de um projeto local.

## Solução de problemas

<AccordionGroup>
  <Accordion title="O Codex ainda usa o provedor OpenAI padrão">
    Confirme que `model_provider = "cometapi"` está no arquivo `~/.codex/config.toml` no nível do usuário.
  </Accordion>

  <Accordion title="A chave de API mudou">
    Atualize `~/.codex/cometapi_key` ou execute novamente o script de configuração com o valor atualizado de `$COMETAPI_KEY`.
  </Accordion>

  <Accordion title="O script do PowerShell falha durante as verificações preliminares">
    Use as etapas manuais nativas do PowerShell no Windows e, em seguida, execute o comando de verificação.
  </Accordion>

  <Accordion title="A configuração do shell com pipe não pede nenhuma chave de API">
    Use `--key "$COMETAPI_KEY"`, defina `COMETAPI_KEY` ou execute o comando interativo `sh -c "$(curl ...)"`.
  </Accordion>

  <Accordion title="A conexão expira ou usa a base URL errada">
    Confirme que `base_url` é `https://api.cometapi.com/v1` em `~/.codex/config.toml`.
  </Accordion>

  <Accordion title="O model não é encontrado">
    Verifique a [página de Models](/pt/overview/models) para ver os model IDs disponíveis.
  </Accordion>

  <Accordion title="A configuração do Windows afeta o ambiente errado">
    Edite `$HOME\.codex` para o modo nativo do Windows ou edite `~/.codex` dentro do WSL para o modo de agente WSL.
  </Accordion>

  <Accordion title="O login do ChatGPT mudou">
    Não use `--force-auth-json` ou `-ForceAuthJson` a menos que você queira o modo de login por chave de API.
  </Accordion>
</AccordionGroup>

<script type="application/ld+json">
  {`
    {
    "@context": "https://schema.org",
    "@graph": [
      {
        "@type": "HowTo",
        "@id": "https://apidoc.cometapi.com/integrations/codex#howto",
        "name": "Usar o Codex com o CometAPI",
        "description": "Use este guia para configurar o Codex com o CometAPI editando as configurações do provedor no config.toml no nível do usuário.",
        "step": [
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-1",
            "position": 1,
            "name": "Revisar os pré-requisitos",
            "text": "Conclua a etapa Revisar os pré-requisitos no guia Usar o Codex com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-2",
            "position": 2,
            "name": "Escolher um caminho de configuração",
            "text": "Conclua a etapa Escolher um caminho de configuração no guia Usar o Codex com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-3",
            "position": 3,
            "name": "Configurar o Codex manualmente",
            "text": "Conclua a etapa Configurar o Codex manualmente no guia Usar o Codex com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-4",
            "position": 4,
            "name": "Usar autenticação por variável de ambiente",
            "text": "Conclua a etapa Usar autenticação por variável de ambiente no guia Usar o Codex com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-5",
            "position": 5,
            "name": "Executar o script de configuração",
            "text": "Conclua a etapa Executar o script de configuração no guia Usar o Codex com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-6",
            "position": 6,
            "name": "Escolher ou alterar um model ID",
            "text": "Conclua a etapa Escolher ou alterar um model ID no guia Usar o Codex com o CometAPI."
          },
          {
            "@type": "HowToStep",
            "@id": "https://apidoc.cometapi.com/integrations/codex#step-7",
            "position": 7,
            "name": "Verificar a configuração",
            "text": "Conclua a etapa Verificar a configuração no guia Usar o Codex com o CometAPI."
          }
        ]
      },
      {
        "@type": "BreadcrumbList",
        "itemListElement": [
          {
            "@type": "ListItem",
            "position": 1,
            "name": "Documentação do CometAPI",
            "item": "https://apidoc.cometapi.com/"
          },
          {
            "@type": "ListItem",
            "position": 2,
            "name": "Integrações",
            "item": "https://apidoc.cometapi.com/integrations"
          },
          {
            "@type": "ListItem",
            "position": 3,
            "name": "Usar o Codex com o CometAPI",
            "item": "https://apidoc.cometapi.com/integrations/codex"
          }
        ]
      }
    ]
    }
    `}
</script>
