Bliver Codex ved med at genoprette forbindelsen? Tjek DNS og Clash-routing

Sidst opdateret: 2026-09-10

Codex-fejl som Reconnecting..., stream disconnected before completion og error sending request kan involvere DNS-interferens eller forkert Clash-routing. Denne vejledning forklarer, hvordan du undersøger den mulighed, anvender en målrettet Clash Verge Rev-forbedring og bekræfter resultatet.

Hvad rapporter fra fællesskabet faktisk viser

Brugere på Reddit har rapporteret afbrudte opgaver rettet mod chatgpt.com/backend-api/codex/responses, gentagne forsøg på at genoprette forbindelsen og fejl i svarindholdet. Disse rapporter fastslår symptomer, ikke en DNS-diagnose. Afbrudt anmodning, genoprettelsesløkke

En separat diskussion beskriver fejl under komprimering af fjernkontekst. En kommentator foreslår at undersøge proxyen, men diskussionen fastslår ikke en verificeret årsag. Diskussion om komprimering

Rapporter på X viser lignende spørgsmål: et opslag fra 9. september beskriver vedvarende stream-fejl, mens et opslag fra 6. september rapporterer en SSE-idle-timeout under fjernkomprimering. Ingen af dem giver en DNS-sammenligning. Det er nyttige eksempler på brugerproblemer, men de fastslår ikke en fælles årsag. X-streamrapport, X-komprimeringsrapport

Symptom Hvad der skal undersøges
Øjeblikkelig timeout med en resolver-fejl DNS, nodens tilgængelighed, og om trafikken går ind i Clash
ChatGPT virker i en browser, men Codex fejler Forskelle i proxy, DNS, certifikater og egress
Output starter, men derefter afbrydes streamen Langvarige forbindelser, netværksændringer og tjenestefejl
Kun lange samtaler eller komprimering fejler Sammenlign med en lille ny opgave; undersøg session- og serverfejl
HTTP 401, 403, 429 eller 5xx Undersøg svaroprindelsen og -indholdet for autentificering, politik, grænser eller tjenestefejl

Tjek OpenAI service status og registrer tidspunktet og klientversionen. For fastlåste chats anbefaler OpenAI også at tjekke for ventende godkendelser og prøve en mindre, fokuseret ny chat. Desktop- og CLI-versioner kan være forskellige. Officiel fejlfinding

Et lokalt tilfælde: et uventet DNS-svar udløste DIRECT

I en registreret undersøgelse på macOS med Clash Verge Rev og Mihomo kunne proxynoder nås, men chatgpt.com matchede en GeoIP/CN-regel og forsøgte en direkte forbindelse, som timed out. En sammenligning med krypteret DNS nået gennem proxyen viste et unormalt svar på den lokale resolveringssti.

Request to chatgpt.com
  → anomalous DNS answer
  → no earlier matching OpenAI domain rule
  → GeoIP selects DIRECT
  → connection times out and Codex retries

Der er to konfigurationsproblemer, der skal håndteres: resolveringsstien og routingbeslutningen. Dette registrerede tilfælde er ikke en benchmark eller et bevis på, at andre Codex-fejl har samme årsag. Et unormalt svar alene kan heller ikke identificere den ansvarlige mellemmand eller specifikt fastslå DNS-cacheforgiftning.

Diagnostisér før du ændrer konfigurationen

Tjek forbindelsesloggen

Søg efter det faktiske værtsnavn i fejlen, herunder chatgpt.com eller openai.com. Registrer den matchede regel, forbindelseskæden og fejlen på fejlstidspunktet. En forbindelse, der burde bruge en proxy, men vælger DIRECT, berettiger en gennemgang af regelrækkefølgen. Mihomo evaluerer routingregler fra top til bund. Routingdokumentation

Hvis der ikke vises nogen matchende forbindelse, skal du først fastslå, om den klient bruger Clash. Succes i browseren fastslår ikke den sti, der bruges af en separat proces.

Sammenlign resolveringsstier

På macOS skal du inspicere systemresolveren og dens aktuelle svar:

scutil --dns
dscacheutil -q host -a name chatgpt.com

For en krypteret sammenligning skal du erstatte 7890 med din Clash HTTP/mixed-port:

curl --noproxy '' --proxy http://127.0.0.1:7890 \
  --connect-timeout 10 --max-time 20 \
  -H 'accept: application/dns-json' \
  'https://1.1.1.1/dns-query?name=chatgpt.com&type=A'

Anmodningen bruger Cloudflare’s DNS JSON interface. Tjek forbindelsespanelet: en eksplicit lokal proxy garanterer adgang til Clash, men Clash-regler bestemmer stadig den endelige egress.

Forskellige IP-adresser alene er ikke bevis på interferens. CDN-valg, caching, adressefamilier og Fake-IP kan forklare forskelle. En syntetisk adresse fra Clash’s Fake-IP-område er ikke i sig selv mistænkelig. Knyt et unormalt svar sammen med den forkerte rute og fejlen, og sammenlign derefter med en anden verificeret netværkssti. Med TUN aktiveret kan selv dig @resolver blive opfanget; det er ikke automatisk en uafhængig upstream-test.

Anvend en målrettet Clash Verge Rev-forbedring

Denne skabelon kræver Clash Verge Rev med Mihomo, et eksisterende abonnement og en fungerende proxynode. Det er et abonnements-Script, ikke en komplet selvstændig profil. Tag først backup af den nuværende konfiguration. Hvis du allerede bruger et script, skal du integrere ændringen i dets eksisterende main(config)-funktion. Inspicér den endelige runtime-konfiguration efter alle forbedringstrin. Clash Verge Rev Script-dokumentation

Sæt CODEX_PROXY_GROUP til en eksisterende gruppe, og vælg en fungerende proxynode i den gruppe. Sæt NODE_DNS til en DoH-resolver, der virker, før proxyen forbinder, og som korrekt opløser nodens værtsnavne. AliDNS-eksemplet er beregnet til validering på et netværk i det kinesiske fastland; udskift det, når det ikke er passende. Det bruges ikke til at opløse AI-domænerne nedenfor.

// Clash Verge Rev subscription Script. Use with an existing Mihomo profile.
// Replace this with the exact name of a working proxy group in that profile.
const CODEX_PROXY_GROUP = "REPLACE_WITH_EXISTING_PROXY_GROUP";

// Example bootstrap resolver for a mainland-China network. Verify reachability
// and node-hostname answers on your network, or replace with your trusted DoH.
// It must work BEFORE the proxy is established. It does not resolve AI domains.
const NODE_DNS = ["https://223.5.5.5/dns-query#DIRECT"];

function main(config) {
  const groups = config["proxy-groups"] || [];
  if (!groups.some((group) => group.name === CODEX_PROXY_GROUP)) {
    throw new Error("Set CODEX_PROXY_GROUP to an existing working proxy group.");
  }
  if (/[#&,\r\n]/.test(CODEX_PROXY_GROUP)) {
    throw new Error("Use a proxy group name without #, &, commas or newlines.");
  }

  const domains = ["chatgpt.com", "openai.com", "oaistatic.com", "oaiusercontent.com"];
  const doh = [
    "https://1.1.1.1/dns-query#" + CODEX_PROXY_GROUP,
    "https://8.8.8.8/dns-query#" + CODEX_PROXY_GROUP,
  ];
  const dns = config.dns || {};
  const policy = Object.assign({}, dns["nameserver-policy"] || {});
  domains.forEach((domain) => { policy["+." + domain] = doh.slice(); });
  dns.enable = true;
  dns["nameserver-policy"] = policy;
  dns["proxy-server-nameserver"] = NODE_DNS.slice();
  if (!Array.isArray(dns.nameserver) || dns.nameserver.length === 0) {
    dns.nameserver = NODE_DNS.slice();
  }
  config.dns = dns;

  const oldRules = Array.isArray(config.rules) ? config.rules : [];
  const aiRules = domains.map((domain) =>
    "DOMAIN-SUFFIX," + domain + "," + CODEX_PROXY_GROUP
  );
  config.rules = aiRules.concat(oldRules.filter((rule) => !aiRules.includes(rule)));
  return config;
}

Scriptet tilføjer domænespecifik DNS-policy og indsætter proxyregler først, mens andre regler og domænepolitikker bevares. Det ændrer opløsningen af node-værtsnavne. De fire domænesuffikser er et udgangspunkt, ikke en udtømmende liste over alle Codex-funktioner, brugerdefinerede providere, MCP-tjenester eller opgavedownloads.

Mihomo understøtter en domænespecifik nameserver-policy og et eksplicit proxysuffiks på en DNS-serveradresse. Nodeopløsning har brug for en uafhængig sti for at undgå en cirkulær afhængighed. Reference til DNS-konfiguration

Det målrettede script bevarer eksisterende fallback-indstillinger. Gennemgå bredere DNS-afhængigheder separat, før du erstatter dem. Kontrollér også forældede hosts-mappinger eller konflikter med mere specifikke politikker.

Kontrollér TUN separat

For processer, der ikke bruger systemproxyen, skal du aktivere TUN i Clash Verge Rev og bekræfte, at den kører. Flet følgende felter ind i dit eksisterende TUN-objekt, og bevar dets øvrige indstillinger:

tun:
  enable: true
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - any:53
    - tcp://any:53

Disse dækker UDP- og TCP-DNS på port 53. Mihomo dokumenterer begrænsninger for LAN-rettet DNS på macOS og Windows; krypteret DNS, der styres af applikationer, ligger også uden for disse port-53-regler. Verificér resolver- og interfaceadfærd i stedet for at antage, at til/fra-knappen dækker alle forespørgsler. TUN-reference

Verificér konfiguration, routing og Codex separat

Kontrollér først den endelige konfiguration for fejl, gruppereferencer og regelrækkefølge. Hvis Mihomo CLI er tilgængelig, kontrollerer mihomo -t -f <final-config-path>, om konfigurationen kan parses. Det beviser ikke forbindelsen.

Undersøg derefter den faktiske forbindelsesrouting, og kør en HTTPS-probe med certifikatverifikation gennem din reelle lokale port:

curl --noproxy '' --proxy http://127.0.0.1:7890 \
  --connect-timeout 10 --max-time 20 \
  -o /dev/null -sS \
  -w 'HTTP=%{http_code} TLS=%{time_appconnect}s TOTAL=%{time_total}s\n' \
  https://chatgpt.com/

Et svar fra den tilsigtede tjeneste efter vellykket certifikatverifikation fastslår en HTTP-udveksling for denne probe. En 401 eller 403 kan stadig blokere adgang. Det beviser ikke, at en autentificeret Codex-forespørgsel virker, og deaktivering af certifikatverifikation ville gøre denne kontrol ugyldig.

Til sidst skal du fuldføre en lille opgave i den klient, der oprindeligt fejlede. En installeret, autentificeret CLI kan køre følgende valgfrie kontrol, som laver en reel modelanmodning og bruger kontokvote:

codex exec --skip-git-repo-check --sandbox read-only \
  'Reply with exactly: PONG. Do not use tools.'

Succes i CLI verificerer kun den CLI-forespørgsel; test desktop-appen separat, hvis det var dér, fejlen opstod. Kontrollér igen efter en abonnementsopdatering, netværksændring og sleep/wake. Senere konfigurationslag eller omdøbte grupper kan stadig ødelægge en forbedring.

Ofte stillede spørgsmål

Er det nok at ændre system-DNS til 8.8.8.8?

Ikke nødvendigvis. En resolveradresse alene etablerer ikke kryptering, proxyrouting eller tilgængelighed. Verificér resolver, transport og egress samlet.

Hvorfor fejler Codex, mens Clash kører?

Processen omgår muligvis proxyen, matcher en direkte regel eller afhænger af utilgængelig node-DNS. Problemet kan også være uden relation til DNS. Find den faktiske forbindelse, før du ændrer flere indstillinger på én gang.

Hvad hvis den stadig afbryder forbindelsen?

Hvis DNS, TLS og routing fungerer, så undersøg tjenestestatus, samtalestørrelse, klientversion, stabiliteten af nodeforbindelsen og den præcise fejltekst. OpenAI dokumenterer placeringer for feedback og logs; gennemgå logs for hemmeligheder, før du deler dem. Fejlfinding og logs

Hvordan fortryder jeg ændringen?

Deaktivér det tilføjede Script, og gendan den sikkerhedskopierede profil, TUN-indstillingerne og eventuelle system-DNS-indstillinger, du har ændret. En separat proxy-providers-arkitektur kan senere isolere nodeabonnementer fra lokal DNS og regler, men er ikke påkrævet for denne målrettede rettelse.

For installations- og importtrin, se opsætning af Clash Verge. For andre fejl, se fejlfinding for Clash. Du kan bruge denne diagnoseproces med et eksisterende kompatibelt abonnement; køb af en anden tjeneste er ikke en forudsætning for at teste DNS.