Um truque simples para resolver as 5 reconexões do Codex Desktop

@jinglian
CHINÊShá 1 mês · 06/06/2026
500K
883
151
54
2.2K

TL;DR

Este artigo explica como corrigir o tempo limite de handshake de WebSocket do Codex Desktop configurando corretamente as variáveis de ambiente de proxy HTTP e HTTPS no arquivo de configuração do aplicativo.

前端哥Liam - inline image

2:59

Ao usar o Codex Desktop, você provavelmente encontra a seguinte situação com frequência:

前端哥Liam - inline image

Quase sempre ele só responde após 5 tentativas de reconexão. Essas 5 reconexões fazem todo mundo esperar demais e são uma perda de tempo total.

O motivo é que, após a atualização para a nova versão do Codex Desktop (a versão específica é desconhecida), o método de conexão padrão foi alterado para o protocolo WebSocket. Quando essa conexão falha, ele aparece diretamente nos logs como um tempo limite de handshake WebSocket.

Por que isso acontece? Porque o Codex Desktop é um aplicativo de desktop, ele não herda automaticamente os proxies do sistema como um navegador faria. Ao iniciar, ele precisa ler explicitamente variáveis de ambiente como HTTP_PROXY e HTTPS_PROXY para usar um proxy. Se essas variáveis não estiverem definidas, ele presume que pode conectar diretamente, resultando em nenhuma resposta por um longo tempo e entrando em um loop de reconexão.

Usando macOS como Exemplo

  1. Digite o seguinte comando no terminal para ver as informações do proxy:
text
1scutil --proxy
前端哥Liam - inline image

A imagem acima mostra que as portas de proxy para http e https são 6152. Você pode criar ou editar manualmente o arquivo ~/.codex/.env existente e escrever as variáveis de proxy.

text
1HTTP_PROXY=http://127.0.0.1:6152
2HTTPS_PROXY=http://127.0.0.1:6152

Após editar ~/.codex/.env e salvá-lo, feche o Codex Desktop e reabra-o para resolver esse problema.

Se você não quiser fazer isso manualmente, pode usar o seguinte Prompt e enviá-lo para o Codex:

text
1Ajude-me a corrigir o problema do Codex Desktop que fica reconectando.
2
3Por favor, localize a porta e o protocolo de proxy atualmente em uso na minha máquina, crie ou atualize ~/.codex/.env e escreva a seguinte configuração de proxy. Não codifique a porta; substitua-a pela porta real. Se o arquivo já existir, mantenha as outras configurações.
4
5HTTP_PROXY="http://127.0.0.1:<porta HTTP ou mista>"
6HTTPS_PROXY="http://127.0.0.1:<porta HTTP ou mista>"
7
8Após escrever, verifique se a configuração está correta e me diga como preciso reiniciar o Codex Desktop.

Claro, você também pode tentar meu script de automação com um clique (apenas macOS):

bash
1#!/bin/bash
2# Detecta o proxy do sistema macOS e atualiza ~/.codex/.env
3
4ENV_DIR="$HOME/.codex"
5ENV_FILE="$ENV_DIR/.env"
6
7# Lê a configuração de proxy do sistema
8proxy_info=$(scutil --proxy)
9
10http_enabled=$(echo "$proxy_info" | awk '/HTTPEnable/{print $3}')
11http_host=$(echo "$proxy_info" | awk '/HTTPProxy/{print $3}')
12http_port=$(echo "$proxy_info" | awk '/HTTPPort/{print $3}')
13
14https_enabled=$(echo "$proxy_info" | awk '/HTTPSEnable/{print $3}')
15https_host=$(echo "$proxy_info" | awk '/HTTPSProxy/{print $3}')
16https_port=$(echo "$proxy_info" | awk '/HTTPSPort/{print $3}')
17
18# Constrói as URLs do proxy
19http_proxy=""
20https_proxy=""
21
22if [[ "$http_enabled" == "1" && -n "$http_host" && -n "$http_port" ]]; then
23 http_proxy="http://${http_host}:${http_port}"
24fi
25
26if [[ "$https_enabled" == "1" && -n "$https_host" && -n "$https_port" ]]; then
27 https_proxy="http://${https_host}:${https_port}"
28fi
29
30# Se nenhum proxy HTTP ou HTTPS foi encontrado
31if [[ -z "$http_proxy" && -z "$https_proxy" ]]; then
32 echo "❌ Nenhum proxy de sistema detectado; nenhuma configuração de proxy aplicada."
33 exit 0
34fi
35
36# Se o HTTPS não for definido separadamente, reutiliza o proxy HTTP
37if [[ -n "$http_proxy" && -z "$https_proxy" ]]; then
38 https_proxy="$http_proxy"
39fi
40
41echo "✅ Proxy de sistema detectado:"
42[[ -n "$http_proxy" ]] && echo " HTTP_PROXY=$http_proxy"
43[[ -n "$https_proxy" ]] && echo " HTTPS_PROXY=$https_proxy"
44
45# Garante que o diretório exista
46mkdir -p "$ENV_DIR"
47
48# Se o arquivo .env não existir, cria ele
49if [[ ! -f "$ENV_FILE" ]]; then
50 {
51 [[ -n "$http_proxy" ]] && echo "HTTP_PROXY=$http_proxy"
52 [[ -n "$https_proxy" ]] && echo "HTTPS_PROXY=$https_proxy"
53 } > "$ENV_FILE"
54 echo "📄 Arquivo $ENV_FILE criado e configuração de proxy escrita."
55 exit 0
56fi
57
58# Arquivo existe, atualiza ou adiciona
59update_or_append() {
60 local key="$1" value="$2"
61 if grep -q "^${key}=" "$ENV_FILE"; then
62 sed -i '' "s|^${key}=.*|${key}=${value}|" "$ENV_FILE"
63 echo "🔄 ${key} atualizado"
64 else
65 echo "${key}=${value}" >> "$ENV_FILE"
66 echo "➕ ${key} adicionado"
67 fi
68}
69
70[[ -n "$http_proxy" ]] && update_or_append "HTTP_PROXY" "$http_proxy"
71[[ -n "$https_proxy" ]] && update_or_append "HTTPS_PROXY" "$https_proxy"
72
73echo "✅ Atualização do $ENV_FILE concluída."

Quer começar a usar IA rapidamente mas não sabe por onde começar?

A AI Spark organizou uma base de conhecimento gratuita sobre IA, cobrindo fundamentos de IA, construção de bases de conhecimento, aplicações de workflows, ferramentas de IA mais populares, Obsidian, Codex, Skill e prática de Prompt.

Base de conhecimento gratuita:

https://lcnniolukk80.feishu.cn/wiki/space/7644091204958866380?ccm_open_type=lark_wiki_spaceLink&open_tab_from=wiki_home

Guardar com um clique

Faça leitura aprofundada de artigos virais com IA no YouMind

Guarde a fonte, faça perguntas específicas, resuma o argumento e transforme um artigo viral em notas reutilizáveis num único espaço de trabalho com IA.

Explorar o YouMind
Para criadores

Transforme o seu Markdown num artigo 𝕏 impecável

Quando publica os seus próprios textos longos, formatar imagens, tabelas e blocos de código para o 𝕏 é uma dor de cabeça. O YouMind transforma um rascunho completo em Markdown num artigo 𝕏 impecável e pronto a publicar.

Experimente Markdown para 𝕏

Mais padrões para decifrar

Artigos virais recentes

Explorar mais artigos virais