Codex: Modo Não Interativo & Multiplataforma do Codex

Última atualização: 2026-08-31

O modo não interativo torna o Codex adequado para scripts e automação, enquanto Windows e Worktrees requerem configuração especial.

📋 Pré-requisitos: Compreensão das operações básicas do Codex CLI

1. O Que Você Vai Aprender


2. Modo Não Interativo

(1) Métodos de Inicialização

BASH
# Passar tarefa diretamente, sai após execução
codex "Fix all lint errors"

# Modo silencioso, menos saída
codex --quiet "Generate API documentation" > api-docs.md

# Saída JSON, adequada para parsing programático
codex --json "List all TODOs" > todos.json

# Totalmente automatizado
codex --full-auto --approval-policy approve "Run all tests and fix failures"

(2) Entrada via Pipe

BASH
# Ler de stdin
echo "Explain this code" | codex --quiet

# Ler de arquivo
cat error.log | codex --quiet "Analyze the error root cause"

# Combinar com git
git diff main | codex --quiet "Review the changes"

(3) Códigos de Saída

Código de Saída Descrição
0 Tarefa completada com sucesso
1 Tarefa falhou
2 Erro de parâmetro
130 Usuário interrompeu (Ctrl+C)

▶ Exemplo 1: Script de Automação de Alice

BASH
#!/bin/bash
# auto-fix.sh - Script diário de auto-fix

# Puxar código mais recente
git pull origin main

# Corrigir lint
codex --full-auto --quiet "Fix all lint errors"

# Gerar testes ausentes
codex --full-auto --quiet "Generate unit tests for source files without tests"

# Executar testes
npm test
if [ $? -eq 0 ]; then
  git add -A
  git commit -m "chore: daily auto-fix"
  git push origin main
  echo "✅ Auto-fix completed and pushed"
else
  echo "❌ Tests failed, skipping push"
fi

3. Ambiente Windows

(1) Métodos de Instalação

POWERSHELL
# Opção 1: npm (requer Node.js)
npm install -g @openai/codex

# Opção 2: WSL (recomendado)
wsl
# Instalar como Linux dentro do WSL

(2) Configuração do PowerShell

POWERSHELL
# Definir API Key
$env:OPENAI_API_KEY = "sk-your-key"

# Configuração permanente
[System.Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-your-key", "User")

# Definir Base URL (DeepSeek)
$env:OPENAI_BASE_URL = "https://api.deepseek.com"

(3) Problemas Comuns

Problema Solução
Separadores de caminho diferentes Use path.join() ou barras normais
Problemas de encoding Defina $OutputEncoding = [System.Text.Encoding]::UTF8
Permissão restrita Execute PowerShell como Administrador
Comando não encontrado Verifique variável de ambiente PATH

(4) WSL Recomendado

BASH
# Instalar e usar Codex dentro do WSL
sudo npm install -g @openai/codex
export OPENAI_API_KEY="sk-xxx"
codex

4. Integração com Git Worktrees

(1) O Que São Worktrees

Git Worktrees permitem que você faça checkout de múltiplas branches do mesmo repositório em diretórios diferentes simultaneamente, ideal para desenvolvimento paralelo.

BASH
# Criar worktree
git worktree add ../feature-auth feature/auth
git worktree add ../feature-payment feature/payment

(2) Codex + Worktrees

Cada Worktree pode rodar uma instância independente do Codex:

BASH
# Terminal 1: Trabalhar na funcionalidade de autenticação
cd ../feature-auth
codex "Implement JWT authentication"

# Terminal 2: Trabalhar na funcionalidade de pagamento
cd ../feature-payment
codex "Add Stripe payment"

▶ Exemplo 2: Desenvolvimento Paralelo de Bob

BASH
# Bob usa Worktrees para desenvolvimento paralelo
git worktree add ../fix-bug-123 fix/bug-123
git worktree add ../new-feature new/feature-x

# Terminal 1
cd ../fix-bug-123
codex --full-auto "Fix Issue #123"

# Terminal 2
cd ../new-feature
codex "Implement feature X"

# Duas tarefas executam em paralelo sem interferência

(3) Limpeza de Worktrees

BASH
# Listar todos os worktrees
git worktree list

# Remover worktree
git worktree remove ../feature-auth

# Podar worktrees obsoletos
git worktree prune

5. Considerações Multiplataforma

Consideração macOS/Linux Windows
Separador de Caminho / \ (recomenda-se /)
Finais de Linha LF CRLF
Variáveis de Ambiente export KEY=value $env:KEY = "value"
Shell bash/zsh PowerShell/WSL
Permissões chmod Diálogo de propriedades

❓ Perguntas Frequentes

P: O modo não interativo pode usar Computer Use? R: Não. Computer Use requer interface gráfica e confirmação interativa, que o modo não interativo não suporta.

P: Windows nativo ou WSL — qual é melhor? R: WSL é melhor. O Codex CLI tem a melhor compatibilidade no Linux; o WSL fornece uma experiência Linux nativa.

P: Instâncias do Codex em Worktrees vão conflitar? R: Não. Cada Worktree é um diretório independente, instâncias do Codex não interferem. Mas não modifique o mesmo arquivo na mesma branch em duas instâncias.

P: Como o modo não interativo lida com solicitações de confirmação? R: Requer --approval-policy approve ou --full-auto. Caso contrário, travará. Operações apenas leitura devem usar deny; modificações precisam de approve.

P: E problemas de encoding no Windows? R: Defina encoding do PowerShell para UTF-8: [Console]::OutputEncoding = [System.Text.Encoding]::UTF8.


📖 Resumo


📝 Exercícios

  1. Básico (⭐): Use modo não interativo para um code review, saída para arquivo.
  2. Intermediário (⭐⭐): Escreva um script de automação usando modo não interativo para lint fix + teste + commit.
  3. Avançado (⭐⭐⭐): Configure um ambiente de desenvolvimento paralelo com Git Worktrees, duas instâncias do Codex trabalhando em branches diferentes simultaneamente.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%