Ambientes na cloud
Crie, configure e partilhe ambientes reutilizáveis para tarefas no Codex Cloud
O Codex Cloud executa tarefas de programação na cloud, para que o trabalho possa continuar enquanto o seu computador está em suspensão. Utilize-o na Web, em dispositivos móveis ou na aplicação de computador para editar código, executar comandos e rever resultados.
Um ambiente na cloud é a configuração reutilizável que as tarefas utilizam: repositórios, dependências, ferramentas e definições de acesso. O Codex analisa os seus repositórios, prepara a configuração e testa-a consigo. Cada nova tarefa recebe a sua própria área de trabalho isolada a partir do ambiente publicado.
Para uma introdução, consulte a visão geral do Codex Cloud.
Iniciar uma tarefa no Codex Cloud
Na Web ou na aplicação para computador, escolha Trabalhar em > Nuvem e selecione um ambiente publicado. No telemóvel, abra Codex e selecione um ambiente publicado. Descreva o que pretende que o Codex faça e envie o pedido. Se precisar de uma nova configuração, crie um ambiente na Web ou na aplicação para computador.
Os administradores Enterprise podem rever o acesso ao espaço de trabalho antes de disponibilizar o Codex Cloud.
Criar e publicar um ambiente
Crie novos ambientes na Web ou na aplicação para computador. Inicie sessão com a sua conta ChatGPT:
- Numa nova tarefa, escolha Trabalhar em > Cloud, abra Selecionar ambiente, e selecione Criar ambiente.
- Selecione os repositórios GitHub a obter. Ligue o GitHub se lhe for solicitado.
- Selecione Começar. O Codex analisa os repositórios, instala dependências e ferramentas e testa o fluxo de trabalho.
- Forneça o acesso ou as informações em falta quando lhe forem solicitados. Também pode pedir versões, comandos ou serviços específicos.
- Reveja o relatório de configuração, a configuração e os ficheiros. Conclua o trabalho pendente, guarde as alterações e selecione Publicar.
- Quando aparecer Ambiente publicado, selecione Iniciar uma nova tarefa e descreva o que pretende que o Codex faça.
Também pode começar em Definições > Codex Cloud > Ambientes > Criar ambiente.
Personalizar a instalação e o arranque
O Codex identifica ambientes de execução, versões de pacotes, ferramentas e serviços a partir dos seus repositórios. Aperfeiçoe a configuração na conversa; não precisa de escrever um script de instalação por si próprio.
O Codex pode registar a configuração testada em dois campos:
- Script de instalação: comandos para instalar dependências e preparar recursos de desenvolvimento.
- Skill de arranque: instruções para iniciar serviços e verificar se estão prontos.
Reutilizar e atualizar o estado guardado
- Nova tarefa: começa a partir do sistema de ficheiros preparado do ambiente publicado.
- Tarefa existente: continua com os seus próprios ficheiros guardados, incluindo alterações ainda não registadas em commits e ferramentas instaladas.
- Atualização dos repositórios: é executada automaticamente em segundo plano, preservando as caches de dependências sem voltar a executar comandos de instalação ou arranque.
Para atualizar a configuração reutilizável, abra Definições > Codex Cloud > Ambientes. No menu … do ambiente, selecione Editar. Descreva a alteração, deixe o Codex prepará-la e testá-la, guarde as alterações e selecione Republicar. Inicie uma nova tarefa para utilizar a atualização; as tarefas existentes mantêm o seu próprio estado.
Registe o trabalho importante em commits ou guarde os resultados de que precisa. O estado guardado não substitui o controlo de versões.
Configurar variáveis de ambiente e segredos de rede
O Codex identifica configurações em falta e pede os valores que não consegue inferir. Na configuração do ambiente, selecione Gerir junto de Variáveis de ambiente ou Segredos de rede. Escolha como fornecer cada valor:
| Configuração | Utilização | Disponibilização |
|---|---|---|
| Variável de ambiente | Um valor que um programa tem de ler diretamente | Transmitido diretamente aos programas no ambiente. |
| Segredo de rede | Uma credencial enviada para um serviço HTTPS específico | Os programas recebem um marcador de posição; o proxy substitui-o pelo valor real para os destinos permitidos. |
Para os segredos de rede, defina Chave, Valor e Domínios permitidos. Utilize uma chave diferente da de qualquer variável direta. A substituição funciona para HTTPS na porta 443, durante a configuração e as tarefas; não coloca a credencial em bruto num processo local nem num ficheiro.
Guardar segredos de rede pertencentes ao ambiente adiciona os respetivos destinos ao acesso restrito à Internet. As variáveis diretas e os valores pessoais não adicionam destinos. Reveja a política de rede guardada antes de testar. Para os requisitos do espaço de trabalho, consulte Agent Security.
Fornecer valores pessoais
Utilize o Cofre pessoal para guardar as suas próprias variáveis de ambiente e segredos de rede para ambientes na cloud no seu espaço de trabalho.
Um ambiente partilhado pode pedir valores que cada pessoa fornece a partir da sua própria conta. A partilha do ambiente partilha estes requisitos, não as suas credenciais pessoais.
Quando lhe for solicitado, introduza os valores obrigatórios em Adicionar segredos pessoais e selecione Guardar e iniciar. Os valores opcionais podem ficar por definir.
Para gerir valores antecipadamente:
- Abra Definições > Codex Cloud e selecione o separador Cofre pessoal.
- Selecione Adicionar, escolha Variável de ambiente ou Segredo de rede em Tipo e introduza a Chave correspondente e o seu Valor.
- Em Aplica-se a, escolha Todos os ambientes ou Ambientes selecionados, e depois Guardar.
Apenas os valores pedidos chegam a uma tarefa. Um valor para um ambiente específico tem precedência sobre um valor predefinido geral. Os segredos de rede pessoais utilizam os destinos permitidos do ambiente e substituem os marcadores de posição da mesma forma.
Partilhar num espaço de trabalho Enterprise
Partilhe uma configuração preparada para que os seus colegas possam iniciar as suas próprias tarefas a partir dela:
- Abra a configuração do ambiente.
- Em Privacidade > Quem pode utilizar, escolha o seu espaço de trabalho.
- Guarde a alteração. Publique o ambiente se ainda não o tiver feito.
Escolha Apenas eu em Quem pode utilizar para manter o ambiente privado. Cada tarefa tem ficheiros de trabalho separados; o acesso à configuração não concede acesso à tarefa de outra pessoa nem permissão para editar o ambiente.
Reveja os ficheiros preparados e as credenciais pertencentes ao ambiente antes de partilhar. As identidades na cloud e as ligações VPN também podem proporcionar acesso partilhado a serviços. O acesso aos repositórios e as ligações pessoais dependem da conta que executa a tarefa.
Utilizar o Codex na cloud controla o acesso às tarefas. Gerir ambientes do espaço de trabalho controla a criação e edição de ambientes partilhados com o espaço de trabalho. Consulte Funções e permissões do espaço de trabalho.
Agent Security
As definições de acesso à Internet do ambiente definem a que domínios a respetiva VM pode aceder. As definições de VPN ligam essa VM a serviços numa rede privada.
Nos espaços de trabalho Enterprise, os administradores utilizam Agent Security para configurar os requisitos do espaço de trabalho relativos ao comportamento dos agentes, às redes de execução gerida e à utilização de ferramentas suportadas. Estes requisitos aplicam-se em conjunto com as definições de domínios guardadas em cada ambiente. Consulte Agent Security para conhecer as políticas globais e as substituições suportadas no Codex Cloud.
Ligar a serviços
Configure o acesso aos registos de pacotes, APIs e outros serviços de que o seu fluxo de trabalho precisa:
- Na configuração do ambiente, ative Permitir que o Codex aceda à Internet.
- Em Permitir domínios, escolha Gestores de pacotes ou Apenas domínios personalizados, e adicione os anfitriões necessários em Domínios adicionais permitidos. Utilize Todos (sem restrições) quando o fluxo de trabalho precisar de um acesso mais amplo.
- Guarde e teste os serviços durante a configuração. Publique ou republique e verifique o acesso numa nova tarefa.
Para os requisitos do espaço de trabalho, consulte Agent Security. Permitir um destino não fornece credenciais nem concede permissões nesse serviço.
Domínios incluídos na predefinição Gestores de pacotes
A predefinição Gestores de pacotes permite estes registos, repositórios e anfitriões de transferências:
- npm e Yarn:
registry.npmjs.org,registry.yarnpkg.com - PyPI e PyTorch:
pypi.org,files.pythonhosted.org,download.pytorch.org,download-r2.pytorch.org - Rust:
crates.io,index.crates.io,static.crates.io,static.rust-lang.org - Go:
proxy.golang.org,sum.golang.org - Maven e Gradle:
repo.maven.apache.org,repo1.maven.org,plugins.gradle.org,plugins-artifacts.gradle.org,services.gradle.org,downloads.gradle.org - Bazel:
bcr.bazel.build,mirror.bazel.build - Buf:
buf.build - CPAN:
cpan.metacpan.org - Repositórios Ubuntu e Debian:
archive.ubuntu.com,security.ubuntu.com,ports.ubuntu.com,ppa.launchpadcontent.net,deb.debian.org,security.debian.org - Repositórios de fornecedores:
packages.microsoft.com,apt.buildkite.com,developer.download.nvidia.com,deb.nodesource.com - Código-fonte, ficheiros comprimidos, versões e LFS do GitHub:
github.com,codeload.github.com,github-cloud.githubusercontent.com,github-cloud.s3.amazonaws.com,release-assets.githubusercontent.com - Outras transferências:
dl.google.com,pkgconfig.freedesktop.org
Para domínios raiz registados, o Codex também permite o nome de anfitrião www correspondente.
Os outros subdomínios precisam das suas próprias entradas de domínios permitidos. Adicione quaisquer outros anfitriões
necessários para as suas dependências em Domínios adicionais permitidos.
Para serviços acessíveis através da Internet pública que filtram ligações por IP de origem, utilize o feed de IPs de saída dos agentes. Permita todos os intervalos publicados, consulte o feed diariamente e atualize a lista de permissões do serviço quando os intervalos mudarem. Estes intervalos são partilhados entre clientes; mantenha os controlos de autenticação e autorização do serviço.
Rede privada (VPN)
Dê às tarefas na cloud acesso a APIs internas, registos de pacotes e outros serviços HTTP ou HTTPS na sua rede privada através de uma ligação VPN.
- Abra as definições Avançadas > VPN do ambiente e selecione Adicionar.
- Introduza as credenciais de ligação do seu fornecedor de VPN.
- Permita os destinos necessários tanto nas regras de acesso da VPN como nas definições de acesso à Internet do ambiente.
- Guarde e publique ou republique. Inicie uma nova tarefa e teste o serviço.
O Tailscale é atualmente o fornecedor de VPN suportado. Ao criar uma chave de autenticação Tailscale, ative Reutilizável e Efémera. Uma chave reutilizável permite que novas VMs de tarefas na cloud se juntem à sua rede. O Tailscale remove automaticamente os dispositivos efémeros depois de ficarem offline. Está previsto o suporte de outros fornecedores de VPN.
São suportadas rotas para sub-redes IPv4 privadas. As tarefas podem utilizar o DNS dividido do Tailscale e o MagicDNS para aceder a serviços privados pelo nome de anfitrião.
Se o seu serviço utilizar o DNS interno da sua organização, configure o DNS dividido na
consola de administração do Tailscale para enviar as consultas relativas ao seu domínio interno para o seu servidor
DNS. Utilize o nome de anfitrião totalmente qualificado do serviço, como
api.corp.example.com, que tem de ser resolvido para um endereço IPv4. O destino
também tem de ser permitido pelas definições de acesso à Internet do ambiente e pelas suas
regras de acesso do Tailscale.
As tarefas num ambiente partilhado utilizam a identidade VPN configurada nesse ambiente.
Aceder a recursos na cloud com OIDC
O OpenID Connect (OIDC) permite que uma tarefa obtenha credenciais de curta duração para recursos na cloud. A sua organização configura uma relação de confiança com o fornecedor de cloud e concede à identidade as permissões de que o fluxo de trabalho precisa.
- Abra as definições Avançadas > OIDC do ambiente guardado.
- Selecione Adicionar e escolha uma ligação disponível ou Criar ligação… para um fornecedor suportado.
- Para uma nova ligação, introduza os detalhes de identidade do fornecedor e crie-a. No fornecedor, configure a relação de confiança utilizando os valores apresentados de Emissor, Público, e Sujeito ou condições de declarações, e conceda permissões de recursos.
- Confirme que a ligação está associada e reveja o respetivo alias. Guarde e publique ou republique o ambiente.
- Inicie uma nova tarefa e teste uma operação permitida e uma operação recusada.
A configuração varia consoante o fornecedor e apenas podem ser associadas ligações suportadas. As permissões da identidade determinam o acesso; as suas permissões pessoais no fornecedor não são transferidas para a identidade. Permita os endpoints necessários do fornecedor e os destinos dos serviços separadamente na política de rede.
Guarde as alterações de associação ou de alias para as aplicar durante a configuração; publique ou republique para as utilizar em novas tarefas. Editar uma ligação de identidade partilhada pode afetar outros ambientes que a utilizem.
O OIDC está disponível mediante pedido para espaços de trabalho Enterprise. Contacte a sua equipa de conta da OpenAI para o ativar.
Executar e regressar a uma tarefa
Selecione um ambiente publicado e descreva o seu objetivo. O Codex utiliza os respetivos repositórios e ferramentas para editar ficheiros, executar comandos e verificar o seu trabalho. Reveja as alterações e os resultados dos testes antes de criar um commit ou abrir um pull request.
Continuar na Web ou em dispositivos móveis
Na Web, escolha Trabalhar em > Nuvem e selecione um ambiente. No telemóvel, abra Codex e escolha um ambiente disponível. Crie novos ambientes na Web ou na aplicação para computador.
Reabra a mesma tarefa para continuar o trabalho em diferentes dispositivos. Uma nova tarefa inicia um trabalho separado a partir da configuração publicada. As tarefas no Codex Cloud podem continuar a trabalhar enquanto o seu computador está em suspensão.
Iniciar tarefas a partir do Slack ou do Microsoft Teams
Num espaço de trabalho Enterprise com delegação na Cloud ativada, peça a @ChatGPT no
Slack ou no Microsoft Teams para trabalhar num repositório. O Codex utiliza o contexto da
conversa para escolher um ambiente partilhado com o seu espaço de trabalho e disponível para
a conta que executa a tarefa. Pode indicar um ambiente preferido ou adicionar
orientações no seu pedido.
Para o Slack, os espaços de trabalho com controlo de acesso baseado em funções do Codex Cloud têm de conceder acesso ao Codex Cloud tanto à conta de serviço da implementação como ao utilizador que faz o pedido. Consulte Ativar o Codex Cloud para o Slack para obter instruções de configuração para administradores.
Conclua todos os pedidos de ligação e aprovação e reveja o resultado na conversa. Envie uma mensagem de seguimento a partir da mesma conta ligada para continuar a tarefa; o pedido de outro participante não dá continuidade automática à sua tarefa.
Consulte Gerir o ChatGPT no Slack e no Teams para configurar o espaço de trabalho e Utilizar o ChatGPT no Slack para os controlos de tarefas do Slack.
Especificações das VMs
Cada tarefa na cloud é executada numa VM com estes recursos predefinidos:
| Plano ChatGPT | vCPUs | Memória | Espaço em disco |
|---|---|---|---|
| Plus, Edu Plus | 2 | 8 GiB | 8 GiB |
| Pro, Business, Enterprise | 4 | 16 GiB | 32 GiB |
| Edu, Edu Pro | 4 | 16 GiB | 32 GiB |
Por predefinição, o estado guardado da VM de uma tarefa pode ser recuperado durante até sete dias após a última vez que inicia um turno ou retoma a tarefa.
Estão disponíveis VMs maiores e especificações personalizadas para Enterprise. Contacte a sua equipa de conta da OpenAI para conhecer as configurações disponíveis e os preços.
Limitações atuais
As seguintes funcionalidades ainda não são suportadas em ambientes na cloud e estão no nosso plano de desenvolvimento:
- Utilização do computador e do navegador
- GitLab e GitHub Enterprise Server alojado na própria infraestrutura
As skills armazenadas no seu repositório estão disponíveis nas tarefas na cloud. As skills pessoais do seu computador local não são sincronizadas com os ambientes na cloud.
Resolver problemas de configuração e de acesso durante a execução
A configuração falha ou falta uma ferramenta necessária
Consulte a conversa de configuração para identificar o comando que falhou. Peça ao Codex para diagnosticar o erro e voltar a executar o comando depois de o corrigir. Por exemplo: "Instale o pnpm e execute os testes do projeto."
- Se a configuração inicial falhar, selecione Tentar novamente para repetir com os repositórios já selecionados nessa sessão de configuração.
- Se a correção exigir alterações aos ficheiros de código-fonte, a um manifesto de pacotes ou a um ficheiro de bloqueio, faça essa alteração numa tarefa de programação e volte depois à configuração.
Depois de o Codex verificar a configuração, publique ou republique o ambiente.
A transferência de um pacote ou um pedido HTTPS falha
Verifique separadamente o nome de anfitrião de destino e a autenticação:
- Confirme que o anfitrião é permitido pelas
definições de acesso à Internet do ambiente. Para um registo privado em
packages.example.com, verifique esse nome de anfitrião exato. Se as transferências também utilizaremdownloads.example.com, esse anfitrião também precisa de acesso. - Verifique o URL e as credenciais configurados no gestor de pacotes ou no cliente. Permitir um domínio não concede acesso ao serviço.
- Se a autenticação utilizar um segredo de rede, verifique se os respetivos Domínios permitidos incluem o destino e se o pedido utiliza HTTPS na porta 443.
- Num espaço de trabalho Enterprise, peça a um administrador para verificar os requisitos de Agent Security aplicáveis em conjunto com as definições do ambiente.
Guarde quaisquer alterações de configuração e teste o pedido durante a configuração. Publique ou republique e verifique o acesso numa nova tarefa.
Um valor necessário está em falta ou não pode ser utilizado
Verifique se adicionou o valor no local correto da configuração do ambiente:
- Variáveis de ambiente: utilize-as para valores que os programas precisam de ler
diretamente, como
APP_MODE=development. - Segredos de rede: utilize-os para credenciais enviadas para um serviço HTTPS permitido, como um token de registo privado. Os programas recebem um marcador de posição; o proxy substitui-o pela credencial nos pedidos correspondentes. Se o programa precisar de ler o valor em bruto, adicione-o em Variáveis de ambiente.
Para um valor pessoal, verifique se a respetiva Chave corresponde ao pedido do ambiente e se Aplica-se a inclui esse ambiente. Um valor para um ambiente específico tem precedência sobre um valor predefinido geral.
Consulte Variáveis de ambiente e segredos de rede para obter instruções de configuração.
A VPN liga, mas um serviço HTTP ou HTTPS está inacessível
- Confirme que o cliente utiliza o proxy HTTP/HTTPS configurado no ambiente.
Ao testar com
curl, omita--noproxypara que o pedido utilize esse proxy. - Verifique se o destino é permitido tanto pelos domínios autorizados do ambiente como pelas regras de acesso da VPN.
- Se o serviço estiver acessível pelo endereço IP, mas não pelo nome de anfitrião, verifique as suas definições de DNS do Tailscale. Para um domínio interno da empresa, verifique se o DNS dividido aponta para o servidor DNS correto e se esse servidor está acessível através da sua rede Tailscale. Utilize o nome de anfitrião totalmente qualificado do serviço e confirme que este é resolvido para um endereço IPv4.
Consulte Rede privada para configurar a ligação.
Um ambiente ou as suas atualizações não estão disponíveis para uma tarefa
Verifique o ambiente em Definições > Codex Cloud > Ambientes. Se tiver a indicação Não publicado, conclua a configuração e selecione Publicar para o tornar disponível para tarefas.
Para alterar um ambiente publicado, abra o respetivo fluxo Editar, deixe o Codex preparar e testar as alterações e selecione Republicar. Inicie uma nova tarefa a partir do ambiente atualizado para utilizar a nova configuração. As tarefas existentes mantêm o seu próprio estado de trabalho.