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

Utilizar o Daybreak no Codex CLI

Use este guia para ativar o Daybreak na CLI do Codex, configurá-lo para fluxos de trabalho automatizados e integrações com SDK e resolver problemas de acesso ou de recusa. 

Atualizado: 3 hours ago

Tenha em atenção que, para aceder a estas alterações, terá de 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é serem atualizadas.

  • Se a sua automatização instalar @openai/codex@latest, poderá incorporar esta alteração na próxima instalação ou atualização. Se instalou o Codex CLI globalmente com o npm, execute npm install -g @openai/codex@latest e, em seguida, codex --version para confirmar a atualização.

  • Para adiar a alteração, fixe a versão em @openai/codex@0.162.0. Uma instalação pontual com @latest não se atualiza automaticamente. Os fluxos de trabalho com versões anteriores fixadas mantêm o comportamento anterior.

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

Os IDs de modelos configurados manualmente que não constem de um catálogo disponível continuarão a receber o tratamento automático anterior na CLI e no Codex Desktop, mesmo com o Daybreak ativado. A sua ausência do catálogo, por si só, não impede que um pedido seja bem-sucedido. 

Os modelos de cibersegurança podem ser disponibilizados no seletor de modelos numa fase separada. Assim que estiverem disponíveis, os utilizadores que já tenham uma versão suportada não precisam de voltar a transferir o software para ver os novos modelos. Volte a abrir o seletor de modelos ou reinicie o Codex para atualizar a lista.

Ativar o Daybreak na CLI interativa

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

  2. Para ativar o Daybreak, introduza /daybreak.

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

  4. Esta opção será aplicada à conversa ativa e guardada como predefinição para novas sessões.

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

Ativar o Daybreak na CLI em modo não interativo

Os fluxos de trabalho em modo não interativo são executados sem uma interface interativa, normalmente através de codex exec em scripts, tarefas agendadas ou CI. Neste modo, não existe a mensagem interativa «Ativar o Daybreak» (/daybreak). Em alternativa, pode:

  1. Adicionar o Daybreak a uma execução específica da CLI acrescentando -c daybreak=true a cada comando que deva funcionar com menos recusas. Por exemplo, pode introduzir:

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

  1. Mantenha o prompt existente e as restantes opções do comando. Adicione esta definição a cada invocação que deva utilizar o Daybreak, incluindo comandos em scripts, tarefas agendadas e configurações de CI.

  2. Ativar o Daybreak por predefinição em novas sessões e execuções da CLI adicionando daybreak=true ao ficheiro de configuração carregado pelo Codex.

  3. O ficheiro de configuração predefinido do utilizador é ~/.codex/config.toml. Se a sua automatização definir CODEX_HOME, utilize antes $CODEX_HOME/config.toml. Coloque a definição no nível superior, fora de secções como [features].

  4. Faça a alteração no ambiente onde a automatização é efetivamente executada. Atualizar a configuração do seu portátil não atualiza a de um executor de CI ou de uma máquina remota.

  5. A definição também se aplica a novas sessões interativas que utilizem a mesma configuração. As sessões retomadas e as criadas por ramificação mantêm a opção guardada para o Daybreak; uma nova predefinição na configuração não a substitui.

  6. Tenha em atenção que uma definição na linha de comandos se sobrepõe à configuração guardada para essa invocação. Assim, pode manter daybreak = true na configuração e utilizar -c daybreak=false numa execução específica.

Ativar o Daybreak com um fornecedor de inferência através de proxy

Pode utilizar o Daybreak na CLI do Codex e encaminhar os pedidos de inferência através do seu proxy existente. O Codex faz uma consulta separada ao catálogo de modelos para determinar quais suportam o Daybreak no seu projeto.

Antes de começar, certifique-se de que tem um fornecedor de proxy a funcionar na CLI do Codex, uma chave de API da OpenAI de um projeto com acesso ao Daybreak e ao modelo que pretende utilizar, e a versão v0.167.0 da CLI do Codex.Documentação da OpenAI sobre o acesso de projetos ao Daybreak

  1. Atualize o seu fornecedor de proxy: abra ~/.codex/config.toml e localize a secção [model_providers.<id>] correspondente ao seu proxy. Adicione as duas últimas linhas do exemplo abaixo a essa secção. Mantenha o ID do fornecedor, o URL do proxy e as definições de autenticação existentes.


    [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 a sua configuração já tiver uma secção [model_providers.<id>.capabilities], coloque cyber_access_programs = true nessa secção e mantenha model_catalog_url na secção principal do fornecedor.Referência de configuração do Codex

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

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

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

      1. Autenticar o pedido da CLI com as suas credenciais habituais do proxy.

      2. Encaminhar o pedido para https://chatgpt.com/backend-api/codex/models utilizando a chave de API da OpenAI do seu projeto com o Daybreak ativado.

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

  3. Ative o Daybreak iniciando uma nova sessão da CLI do Codex com o seu fornecedor de proxy. Selecione um modelo elegível para o Daybreak e introduza /daybreak para o ativar.

    1. Se o Daybreak não estiver disponível, verifique primeiro a consulta ao catálogo. A inferência pode funcionar mesmo que o pedido ao catálogo falhe. Verifique se o pedido chega à OpenAI com uma chave do projeto pretendido e se esse projeto tem acesso tanto ao Daybreak como ao modelo selecionado.

Ativar o Daybreak através do SDK para TypeScript

Passe a definição do Daybreak através da 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 aplicar o comportamento normal de recusa. Mantenha a sua configuração de autenticação atual.

Ativar o Daybreak através do servidor de aplicações ou do SDK para Python

1. Consulte os valores de availableAccessPrograms.cyber do modelo selecionado em model/list e, em seguida, 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 a deva utilizar; não parta do princípio de que omitir o parâmetro desativa o Daybreak. Os clientes que se ligam diretamente ao servidor de aplicações têm de ativar a funcionalidade experimentalApi durante a inicialização para utilizar este 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 está disponível para o modelo selecionado. O cliente Python ativa a funcionalidade de API experimental por predefinição. Uma preferência guardada na conversa não basta para selecionar um programa para um turno no servidor de aplicações.

Se adicionou um catálogo local de modelos antes destas alterações

Se, anteriormente, ao iniciar sessão com uma chave de API, não apareciam os modelos esperados, poderá ter adicionado um catálogo local através de model_catalog_json em config.toml. O Codex utiliza esse ficheiro local em vez do catálogo automático, pelo que a sua lista de modelos pode ficar desatualizada. Assim que o seu ambiente suportar o catálogo automático, siga estes passos para voltar a utilizá-lo:

  1. Abra config.toml. No Codex CLI, abra ~/.codex/config.toml (ou $CODEX_HOME/config.toml se tiver definido CODEX_HOME). No Codex Desktop, aceda a Definições > Configuração e selecione Abrir config.toml.

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

  3. Verifique o seu acesso. Na CLI, inicie codex e introduza /daybreak na sessão. No Desktop, abra o seletor avançado de modelos e ative o Daybreak. Se tiver acesso ao Daybreak Red, confirme que aparece um dos modelos de cibersegurança esperados e que consegue enviar um pedido com esse modelo.

  4. Mantenha a configuração que funciona. Se a verificação for bem-sucedida, elimine a linha que desativou e guarde o ficheiro. Se falhar, remova o #, guarde o ficheiro e reinicie o Codex para restaurar a configuração anterior.

Resolver problemas de recusas na CLI

  • Execute uma tarefa representativa com as mesmas credenciais, modelo e configuração que a sua automatização utiliza.

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

    • A sua conta ou projeto da API tem acesso ao Daybreak.

    • O modelo selecionado suporta o Daybreak.

  • Na CLI interativa, verifique se o Daybreak está ativado. A CLI interativa pode apresentar uma mensagem de recusa quando o Daybreak está disponível, mas desativado: O Daybreak está desativado. Se estiver a realizar trabalho de segurança autorizado, ative-o e volte a enviar o pedido.

    • É apresentada a pergunta Ativar o Daybreak para o próximo pedido? com as opções Ativar o Daybreak e Agora não.

    • Selecione Ativar o Daybreak para o ativar para o próximo pedido e, em seguida, volte a enviar o pedido. Tenha em atenção que o pedido recusado não é repetido automaticamente; tem de o enviar novamente. Alguns pedidos podem continuar a ser recusados com o Daybreak ativado.

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

  • Nas automatizações, confirme que daybreak=true é efetivamente passado ao processo do Codex e não é substituído por outra definição da linha de comandos.

Utilizar o Daybreak com a CLI do Codex Security

A CLI do Codex Security utiliza @openai/codex-security para análises de segurança. As opções de programas de acesso são distintas das dos exemplos gerais da CLI do Codex apresentados acima.

Para autenticação com chave de API, utilize uma chave de um projeto de API com o Daybreak ativado 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

Utilize daybreak_red apenas se o seu projeto estiver aprovado para o Daybreak Red, ou standard para as salvaguardas padrão. Selecionar um programa não concede acesso a esse programa nem a modelos adicionais.

Consulte a referência da CLI do Codex Security para conhecer as opções de autenticação e análise.

Utilizar o Daybreak com o SDK do Codex Security

O SDK TypeScript do Codex Security (@openai/codex-security) executa análises de segurança a partir de uma aplicação ou ferramenta de desenvolvimento. É distinto do SDK geral do Codex descrito acima.

Utilize as credenciais da sua conta ou do seu projeto de API aprovado. Alguns pedidos 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 conhecer os métodos de autenticação e as configurações suportados, bem como exemplos de análise.

Este artigo foi útil?