OpenAI
Esta página foi traduzida automaticamente. Veja o artigo original em inglês.

Como usar o Daybreak no Codex CLI

Use este guia para ativar o Daybreak no Codex CLI, configurá-lo para fluxos de trabalho automatizados e integrações com SDKs e solucionar problemas de acesso ou recusas. 

Atualizado: 3 hours ago

Para acessar essas mudanças, você precisará atualizar o Codex CLI para a versão 0.163.0 ou posterior. As atualizações da CLI são opcionais: as instalações existentes mantêm o comportamento atual até que você as atualize.

  • Se sua automação instala @openai/codex@latest, ela poderá receber essa mudança na próxima instalação ou atualização. Se você instalou o Codex CLI globalmente com npm, execute npm install -g @openai/codex@latest e depois codex --version para confirmar a atualização.

  • Para adiar a mudança, fixe a versão em @openai/codex@0.162.0. Uma instalação feita uma única vez com @latest não se atualiza automaticamente. Fluxos de trabalho fixados em versões anteriores mantêm o comportamento anterior.

  • Para integrações em TypeScript, atualize @openai/codex-sdk e o ambiente de execução incluído no pacote. Para integrações em Python, atualize openai-codex e seu ambiente de execução do Codex. Atualizar apenas a CLI global pode não atualizar o ambiente de execução de um SDK. Se você configurar um caminho personalizado para um executável, atualize esse executável também.

Os IDs de modelos configurados manualmente que não constarem em um catálogo disponível continuarão recebendo o tratamento automático anterior na CLI e no Codex Desktop, mesmo com o Daybreak ativado. A ausência desses IDs no catálogo, por si só, não impede que uma solicitação seja bem-sucedida. 

A disponibilização de modelos de cibersegurança no seletor de modelos pode ocorrer separadamente. Após a liberação, os usuários que já estiverem em uma versão compatível não precisarão fazer outro download para ver os novos modelos disponíveis. Reabra o seletor de modelos ou reinicie o Codex para atualizar a lista.

Ativar o Daybreak na CLI interativa

  1. Inicie o Codex com sua autenticação habitual.

  2. Para ativar o Daybreak, digite /daybreak.

  3. O Codex informará Daybreak ativado. Aplica-se a novos turnos.

  4. Isso se aplicará à conversa ativa e será salvo como padrão para novas sessões.

  5. Para desativar o Daybreak, execute o mesmo comando (/daybreak) novamente.

Ative o Daybreak na CLI em modo não interativo

Fluxos de trabalho em modo não interativo são executados sem uma interface interativa, geralmente por meio de codex exec em scripts, tarefas agendadas ou CI. Nesse modo, não há uma solicitação interativa para "Ativar o Daybreak" (/daybreak). Em vez disso, você pode:

  1. Adicionar o Daybreak a uma execução específica da CLI incluindo -c daybreak=true em cada comando que deve usar um nível reduzido de recusas. Por exemplo, você pode inserir:

codex exec -c daybreak=true "Review the changes in this repository."

  1. Mantenha seu prompt atual e as demais opções do comando. Adicione essa configuração a cada chamada que deve usar o Daybreak, incluindo comandos em scripts, tarefas agendadas e configurações de CI.

  2. Definir o Daybreak como padrão para novas sessões e execuções da CLI adicionando daybreak=true ao arquivo de configuração carregado pelo Codex.

  3. O arquivo de configuração padrão do usuário é ~/.codex/config.toml. Se sua automação define CODEX_HOME, use $CODEX_HOME/config.toml. Coloque a configuração no nível superior, fora de seções como [features].

  4. Faça a alteração no ambiente em que a automação é de fato executada. Atualizar a configuração do seu notebook não atualiza um executor de CI nem uma máquina remota.

  5. Essa configuração também se aplica a novas sessões interativas que usam a mesma configuração. Sessões retomadas e ramificadas mantêm a opção salva para o Daybreak; um novo padrão de configuração não a substitui.

  6. Observe que uma configuração na linha de comando tem prioridade sobre a configuração salva para aquela chamada. Assim, você pode manter daybreak = true na configuração e usar -c daybreak=false em uma execução específica.

Ativar o Daybreak com um provedor de inferência via proxy

Você pode usar o Daybreak na CLI do Codex e continuar encaminhando as solicitações de inferência pelo seu proxy atual. O Codex faz uma consulta separada ao catálogo de modelos para descobrir quais modelos oferecem suporte ao Daybreak no seu projeto.

Antes de começar, verifique se você tem um provedor de proxy funcionando na CLI do Codex, uma chave de API da OpenAI de um projeto com acesso ao Daybreak e ao modelo que deseja usar, além da versão v0.167.0 da CLI do Codex.Documentação da OpenAI sobre acesso de projetos ao Daybreak

  1. Atualize seu provedor de proxy abrindo ~/.codex/config.toml e localizando a seção [model_providers.<id>] do seu proxy. Adicione as duas últimas linhas do exemplo abaixo a essa seção. Mantenha o ID do provedor, a URL do proxy e as configurações de autenticação atuais.


    [model_providers.proxy]

    name = "Proxied with Cyber"

    base_url = "https://<your-proxy>/v1"

    model_catalog_url = "<https://chatgpt.com/backend-api/codex/models>"

    capabilities.cyber_access_programs = true

    Se sua configuração já tiver uma seção [model_providers.<id>.capabilities], coloque cyber_access_programs = true nela e mantenha model_catalog_url na seção principal do provedor.Referência de configuração do Codex

  2. Autentique a consulta ao catálogo escolhendo a opção que corresponde às credenciais usadas pela sua CLI.

    1. Se o Codex usa uma chave de API da OpenAI, mantenha a URL do catálogo da OpenAI da etapa 1. Execute o Codex com a chave do seu projeto com o Daybreak habilitado para que ele possa se autenticar diretamente no catálogo.

    2. Se o Codex usa as credenciais do seu proxy, defina model_catalog_url como a URL completa de uma rota de catálogo no seu proxy. Configure essa rota para:

      1. Autenticar a solicitação da CLI usando suas credenciais habituais do proxy.

      2. Encaminhar a solicitação para https://chatgpt.com/backend-api/codex/models usando a chave de API da OpenAI do seu projeto com o Daybreak habilitado.

      3. Retornar a resposta do catálogo ao Codex.

  3. Ative o Daybreak iniciando uma nova sessão da CLI do Codex com seu provedor de proxy. Selecione um modelo elegível para o Daybreak e insira /daybreak para ativá-lo.

    1. Se o Daybreak estiver indisponível, verifique primeiro a consulta ao catálogo. A inferência pode funcionar mesmo quando a solicitação ao catálogo falha. Verifique se a solicitação chega à OpenAI com uma chave do projeto correto e se o projeto tem acesso tanto ao Daybreak quanto ao modelo selecionado.

Ativar o Daybreak pelo SDK para TypeScript

Passe a configuração do Daybreak pela configuração do cliente:

import { Codex } from "@openai/codex-sdk";

const codex = new Codex({

  config: { daybreak: true },

});

const thread = codex.startThread();

const result = await thread.run("Review the changes in this repository.");

console.log(result.finalResponse);

Use daybreak: false para desativar o Daybreak e usar o comportamento normal de recusa. Mantenha sua configuração de autenticação atual.

Ativar o Daybreak pelo servidor de aplicativos ou pelo SDK para Python

1. Leia os valores de availableAccessPrograms.cyber do modelo selecionado em model/list e defina cyberAccessProgram nos parâmetros de turn/start.

a. Para um modelo da linha principal e uma conta com acesso ao Daybreak Blue:

{ "cyberAccessProgram": "daybreakBlue" }

b. Para um modelo de cibersegurança e uma conta com acesso ao Daybreak Red:

{ "cyberAccessProgram": "daybreakRed" }

c. Para o comportamento normal de recusa:

{ "cyberAccessProgram": "standard" }

2. Inclua a seleção em cada turno que deva usá-la; não presuma que omitir o parâmetro desativa o Daybreak. Clientes que se conectam diretamente ao servidor de aplicativos devem habilitar o recurso experimentalApi durante a inicialização para usar esse parâmetro.

3. O CodexClient de baixo nível do SDK para Python pode passar o mesmo parâmetro:

from openai_codex.client import CodexClient

with CodexClient() as client:

client.initialize()

thread = client.thread_start()

turn = client.turn_start(

thread.thread.id,

"Review the changes in this repository.",

params={"cyberAccessProgram": "daybreakBlue"},

)

client.wait_for_turn_completed(turn.turn.id)

4. Este exemplo pressupõe que o Daybreak Blue esteja disponível para o modelo selecionado. O cliente Python habilita o recurso de API experimental por padrão. Uma preferência salva na conversa, por si só, não seleciona um programa para um turno no servidor de aplicativos.

Se você adicionou um catálogo local de modelos antes dessas mudanças

Se antes os modelos esperados não apareciam ao entrar com uma chave de API, você pode ter adicionado um catálogo local usando model_catalog_json em config.toml. O Codex usa esse arquivo local em vez do catálogo automático, então sua lista de modelos pode ficar desatualizada. Quando o suporte ao catálogo automático estiver disponível no seu ambiente, siga estas etapas para voltar a usá-lo:

  1. Abra config.toml. No Codex CLI, abra ~/.codex/config.toml (ou $CODEX_HOME/config.toml se você definiu CODEX_HOME). No Codex Desktop, acesse Configurações > Configuração e selecione Abrir config.toml.

  2. Desative temporariamente o catálogo local. Adicione # no início da linha model_catalog_json, salve o arquivo e reinicie o Codex com a mesma conta ou chave de API. Mantenha qualquer URL de catálogo exigida pela sua organização.

  3. Verifique seu acesso. Na CLI, inicie codex e digite /daybreak na sessão. No Desktop, abra o seletor avançado de modelos e ative o Daybreak. Se você tem acesso ao Daybreak Red, confirme se um modelo de cibersegurança esperado aparece e se você consegue enviar uma solicitação usando esse modelo.

  4. Mantenha a configuração que funcionar. Se a verificação for bem-sucedida, exclua a linha que você desativou e salve o arquivo. Se ela falhar, remova o #, salve o arquivo e reinicie o Codex para restaurar sua configuração anterior.

Solucionar problemas de recusa na CLI

  • Execute uma tarefa representativa com as mesmas credenciais, modelo e configuração usados pela sua automação.

  • Se o Daybreak não estiver disponível, confirme se:

    • Sua conta ou projeto de API tem acesso ao Daybreak.

    • O modelo selecionado é compatível com o Daybreak.

  • Na CLI interativa, verifique se o Daybreak está ativado. A CLI interativa pode exibir uma mensagem de recusa quando o Daybreak está disponível, mas desativado: O Daybreak está desativado no momento. Se você estiver realizando um trabalho de segurança autorizado, ative-o e envie sua solicitação novamente.

    • O prompt pergunta Ativar o Daybreak para sua próxima solicitação? e oferece as opções Ativar Daybreak ou Agora não.

    • Selecione Ativar Daybreak para ativá-lo na próxima solicitação e, em seguida, envie a solicitação novamente. A solicitação recusada não é reenviada automaticamente; você precisa enviá-la novamente. Algumas solicitações ainda podem ser recusadas com o Daybreak ativado.

    • Selecione Agora não para manter o Daybreak desativado.

  • Para automações, confirme se daybreak=true é de fato passado ao processo do Codex e não é substituído por outra configuração de linha de comando.

Use o Daybreak com a CLI do Codex Security

A CLI do Codex Security usa @openai/codex-security para executar varreduras de segurança. Suas opções de programa de acesso são distintas das usadas nos exemplos gerais da CLI do Codex acima.

Para autenticar com uma chave de API, use uma chave de um projeto de API com o Daybreak habilitado e selecione explicitamente o programa aprovado para esse projeto. Para o Daybreak Blue:


npx @openai/codex-security scan . --auth api-key --cyber-access-program daybreak_blue

Use daybreak_red somente se seu projeto tiver aprovação para o Daybreak Red, ou standard para usar as salvaguardas padrão. Selecionar um programa não concede acesso a ele nem a modelos adicionais.

Consulte a referência da CLI do Codex Security para ver as opções de autenticação e varredura.

Use o Daybreak com o SDK do Codex Security

O SDK TypeScript do Codex Security (@openai/codex-security) executa varreduras de segurança a partir de uma aplicação ou ferramenta de desenvolvimento. Ele é separado do SDK geral do Codex descrito acima.

Use as credenciais da sua conta ou do seu projeto de API aprovado. Algumas solicitações de cibersegurança e resultados protegidos exigem o Trusted Access for Cyber. Instalar o SDK ou selecionar um modelo não concede acesso ao Daybreak.

Siga o guia do SDK do Codex Security para ver as formas de autenticação compatíveis, as configurações e os exemplos de varredura.

Este artigo foi útil?