Como programar uma feature por voz no Codex e revisar o PR antes do merge

Fala aí, beleza? O Simon Willison acabou de mostrar que dá pra entregar uma feature inteira de Django conversando com o laptop enquanto faz a janta 😀
Em 9 de outubro de 2026 ele publicou a página Newsletters do blog dele, um índice das newsletters semanais gratuitas do Substack e das mensais exclusivas para sponsors
E construiu isso quase todo por voz!
O setup dele foi a aba Codex do app ChatGPT para desktop, no modo de conversa por voz, com o GPT-6 Astra High rodando sobre o checkout local do repositório simonwillisonblog
No fim? Um pull request revisado no GitHub antes do merge
Se liga: este guia segue o fluxo que ele contou no relato original, não é teste meu, beleza?
O que é o modo de voz do Codex no app ChatGPT desktop?
O ChatGPT Voice no app desktop foi lançado em 23 de julho de 2026, quando a OpenAI anunciou e começou a liberar o recurso no mundo todo no mesmo dia
Ele adiciona uma interface de voz ao vivo ao Work e ao Codex dentro do app do ChatGPT para desktop. Com ela, você fala e interrompe naturalmente, igual numa ligação. Quem fala, ouve e coordena o trabalho ao mesmo tempo, por baixo dessa interface, é o modelo GPT-Live
Já o modelo que o Simon usou pra trabalhar no código, o GPT-6 Astra, foi liberado ao público em 4 de setembro de 2026 para usuários pagos, numa versão restrita (depois de um preview mais limitado em 3 de setembro)
Ou seja, no caso dele a voz foi o jeito de conversar, o GPT-Live cuidou da interface falada, e o GPT-6 Astra High foi o modelo que efetivamente mexeu no projeto
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 48min
O que você precisa antes de começar:
- App ChatGPT para desktop no macOS ou no Windows, que é onde a ajuda oficial da OpenAI lista o Codex por voz (a OpenAI também disse ao TechCrunch que dá pra usar o ChatGPT Voice no Codex pelo app de iOS via acesso remoto)
- Acesso ao ChatGPT Voice no app desktop, que a OpenAI começou a liberar globalmente em 23 de julho de 2026 (confira se já apareceu na sua conta)
- Permissão de acesso ao microfone, que o app pede quando você inicia a conversa por voz
- Se quiser usar o contexto do computador, o app também pode pedir as permissões Screen & Audio Recording e Accessibility
- Um projeto local já clonado na máquina
- Uma feature simples e bem delimitada que você já saiba descrever
Esse último item é o mais importante haha
O Simon escolheu a tarefa justamente por ser uma feature de Django simples o bastante pra ele ter certeza de que o modelo daria conta
E ele já tinha uma boa ideia do que queria construir antes de abrir a boca 🙂
Passo a passo: da conversa por voz ao pull request
O fluxo abaixo segue a ordem que o Simon descreveu, do primeiro prompt até a revisão do PR
- Suba o servidor e abra o navegador (digitando, não falando)
Antes de falar qualquer coisa, na sessão do Codex sobre o checkout local, ele digitou:
Start dev server and open in browser
Por que isso primeiro? Porque te dá um preview do site em que o modelo vai trabalhar
Depois tu pode pedir pra ver as páginas novas e acompanhar o progresso visualmente, sem parar pra abrir arquivo
Erro comum deste passo: começar a falar sem o preview aberto, e aí ficar sem jeito de conferir o que está saindo
- Inicie a conversa por voz
Pela ajuda oficial da OpenAI: abra o app ChatGPT para desktop, escolha Codex e selecione o controle de Voice (ou use um atalho configurado em Settings)
O nome muda conforme a fonte: a ajuda oficial fala em controle de Voice, e no relato do Simon o botão aparece como "Start new voice chat", à direita do botão de microfone

VPS Hostinger para seu sistema
10% OFF extraVPS com SSD NVMe e backups semanais. O cupom MATHEUSHORADECODAR é aplicado automaticamente pelo link.
Ver planos com 10% OFF →Erro comum deste passo: clicar no microfone achando que é a conversa. Não é! O da conversa por voz é o que fica do lado direito dele
- Descreva escopo e restrições em linguagem natural
Pode falar do jeito que sai, com "hum", "não, espera" e tal
O trecho da transcrição dele é cheio de vai e volta, e mesmo assim o modelo entendeu o que ele queria construir
Pelo relato, na voz ele descreveu as regras de exibição: a newsletter não deveria aparecer nas páginas de tag nem na home do blog, mas deveria aparecer nas páginas por data. Também pediu que as newsletters mensais, depois de públicas, entrassem na busca do site, e as do Substack não
Antes mesmo de começar a falar, ele já tinha em mente que a feature ia envolver um model novo, uma migration, views, templates e funções de importação, embora o relato não detalhe se cada uma dessas peças foi narrada passo a passo na conversa
A transcrição completa, com hesitações e tudo, está neste Gist, vale MUITO ler pra sentir o tom
Erro comum deste passo: escopo vago. "Faz uma página de newsletters" deixa o modelo decidir tudo sozinho, e o Simon fez o contrário: disse onde aparece, onde NÃO aparece e o que entra na busca
- Responda às perguntas de esclarecimento
No relato, o modelo respondia, às vezes fazia perguntas de esclarecimento e depois partia pra alterar o código
A conversa toda durou cerca de 30 minutos, o tempo de fazer o jantar xD
- Peça para criar um branch e abrir um pull request
Quando terminou de cozinhar e considerou a feature praticamente completa, o Simon pediu ao Codex pra criar um branch e abrir um PR
Erro comum deste passo: pedir o PR com a feature ainda pela metade. Ele só pediu depois de julgar que estava quase tudo pronto
- Revise o diff no GitHub antes do merge
Ele revisou o código na interface de PR do GitHub
E foi aí que apareceu o problema que a conversa não pegou (já já te conto)…
O que dá para construir por voz: o exemplo da página Newsletters
Esse é o ponto que mais impressiona, porque não foi uma telinha só
O que saiu por voz:
- Um model novo e uma migration no Django, com configuração no Django Admin
- Quatro importadores: itens recentes do Substack via RSS, os demais via API não documentada do Substack, as newsletters mensais do repositório público simonw/monthly-newsletter-archive e a newsletter privada mais recente de um repositório privado
- As páginas
/newsletters/e/newsletters/2026/ - Regras de exibição: aparece nas páginas de arquivo por dia e por mês, mas não nas de tag nem na home
- Integração com a busca do site
Ou seja, o tamanho de tarefa que coube no modo de voz foi uma feature completa de Django, mas BEM definida, daquelas que você já sabe descrever de cabeça

Crie sistemas com IA para vender
Prompts, modelos e checklists para criar e publicar seu sistema com IA e preparar a oferta para o primeiro cliente.
Quero o e-book gratuito Receba o livro e os bônus no seu e-mail.Limites do modo de voz: o que ainda exige teclado e revisão
O próprio relato mostra onde a coisa trava, e é bom saber disso antes de largar o teclado de vez
Credenciais precisam do teclado:
Sintoma: o Astra ofereceu exportar os dados da cópia local pra importar em produção
Causa: segundo o relato, o Simon queria scripts de importação iguais aos que ele já usa, e como parte dos dados estava num repositório privado do GitHub, era preciso criar uma nova chave de API
Solução: como ele mesmo conta, criar essa chave exigiu sentar ao teclado
Credencial não é coisa pra ditar em voz alta numa conversa, né? Deixa essa parte fora da voz desde o começo
A revisão do PR pegou o que a conversa não pegou:
Sintoma: no PR, estava quase tudo como ele precisava, exceto um dos scripts de importação, que chamava o Git via subprocess
Causa: o modelo escolheu implementar esse importador usando Git via subprocess; como esse importador precisava puxar de um repositório Git privado, o Simon achou que a API seria uma opção melhor
Solução: ele voltou a digitar e fez o Codex trocar o subprocess por um importador via API. Também ajustou a exibição nas páginas públicas. Esse trabalho, feito por teclado, levou mais meia hora de prompts digitados antes do merge e do deploy. Ou seja, declarar os padrões do projeto como restrição logo no início da conversa ajuda, mas a revisão humana do PR, e o teclado quando precisar, seguem obrigatórios
E se eu sair de perto do computador?
Pela aba Remote do app mobile do ChatGPT dá pra acessar os chats do Codex do desktop que tenham suporte
Só que esses chats não passam a fazer parte do histórico da web nem do mobile, então não espere encontrar a conversa lá depois
Vale programar por voz no Codex?
Pelo relato do Simon, vale, mas com recorte bem claro
Funciona pra features simples e bem delimitadas, que você já sabe descrever antes de começar a falar
Não é "fala qualquer coisa e sai um sistema pronto", e ainda bem haha
O resultado que dá pra verificar é um PR aberto, revisado, com os ajustes finais feitos por teclado e só então mergeado e deployado, não um merge cego
Quer fazer o teste? Escolhe uma feature pequena do teu projeto, escreve as restrições antes de falar, deixa credenciais pro teclado e revisa o diff linha por linha antes do merge =)
Até o próximo post!
Perguntas frequentes
Dá para acompanhar uma sessão de Codex por voz pelo celular?
Sim, pela aba Remote do app mobile do ChatGPT dá para acessar chats do Codex que foram abertos no desktop, quando o chat tem suporte a isso. Só que esses chats não entram no histórico da web nem do mobile, ficam separados.
Quais planos do ChatGPT dão acesso ao Codex por voz?
A OpenAI anunciou a liberação global do ChatGPT Voice no app desktop em 23 de julho de 2026, mas as fontes consultadas não especificam uma lista de planos elegíveis. O recurso funciona com o ChatGPT Work e com o Codex; vale confirmar diretamente no seu app ChatGPT desktop se já apareceu disponível.
Qual modelo entra em ação quando você fala com o Codex por voz?
A interface de voz em si roda sobre o GPT-Live, que fala, escuta e coordena o trabalho enquanto você conversa naturalmente e interrompe quando precisar. Já quem efetivamente lê e altera o código, como no caso do Simon, foi o GPT-6 Astra High, modelo liberado ao público em 4 de setembro de 2026 para usuários pagos, numa versão restrita.
Funciona falar com o Codex por voz no Linux?
A ajuda oficial da OpenAI lista o ChatGPT Voice no Work e no Codex como recurso de desktop disponível no macOS e no Windows. As fontes consultadas não mencionam Linux, então não há confirmação de suporte para esse sistema.
Que tipo de erro escapa da conversa por voz e só aparece na revisão do PR?
No relato do Simon, um dos importadores criados por voz chamava o Git via subprocess, um detalhe que só apareceu quando ele revisou o código na interface de PR do GitHub. O ajuste, trocando isso por uma importação via API, foi feito digitando, não por voz, e levou mais meia hora de prompts antes do merge. Por isso o passo de revisar o diff antes do merge não é opcional.
O Codex por voz precisa de permissão para ver a tela do computador?
Só se você quiser usar o contexto do computador. Nesse caso, o app pode pedir as permissões Screen & Audio Recording e Accessibility, além da permissão de microfone que o app solicita quando você inicia a conversa por voz.
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 30min
Blog | Mais populares
Codex CLI: como instalar, autenticar e rodar o Codex no terminal
Codex CLI: veja como instalar com npm, autenticar via ChatGPT e rodar o agente de código da OpenAI direto no terminal, com sandbox seguro por padrão.
Quanto custa o Codex? Planos, preços e limites de uso
Codex preço: veja quanto custa o Codex em cada plano do ChatGPT, de US$ 8 no Go até US$ 200 no Pro 20x, e como funcionam os créditos e limites de uso.
Como usar o Codex no ChatGPT: o passo a passo para rodar tarefas sem abrir o terminal
Veja como usar o Codex no ChatGPT: onde acessar pelo navegador, app e celular, como conectar o GitHub e rodar sua primeira tarefa sem abrir o terminal.
