Codex se stalno ponovno povezuje? Provjerite DNS i Clash rutiranje

Zadnje ažurirano: 2026-09-10

Pogreške u Codexu kao što su Reconnecting..., stream disconnected before completion i error sending request mogu uključivati DNS smetnje ili neispravno Clash rutiranje. Ovaj vodič objašnjava kako istražiti tu mogućnost, primijeniti ciljano poboljšanje za Clash Verge Rev i provjeriti rezultat.

Što zapravo pokazuju izvještaji zajednice

Korisnici Reddita prijavili su prekinute zadatke koji ciljaju chatgpt.com/backend-api/codex/responses, ponovljene pokušaje ponovnog povezivanja i pogreške u tijelu odgovora. Ti izvještaji utvrđuju simptome, a ne DNS dijagnozu. Prekinuti zahtjev, petlja ponovnog povezivanja

Zasebna rasprava opisuje neuspjehe tijekom daljinske kompakcije konteksta. Jedan komentator predlaže provjeru proxyja, ali rasprava ne utvrđuje potvrđen uzrok. Rasprava o kompakciji

Izvještaji na X pokazuju slična pitanja: objava od 9. rujna opisuje trajne neuspjehe streama, dok objava od 6. rujna prijavljuje SSE idle timeout tijekom daljinske kompakcije. Nijedna ne daje usporedbu DNS-a. To su korisni primjeri korisničkih problema, ali ne utvrđuju zajednički uzrok. X izvještaj o streamu, X izvještaj o kompakciji

Simptom Što istražiti
Trenutni timeout s greškom resolvera DNS, dostupnost čvora i ulazi li promet u Clash
ChatGPT radi u pregledniku, ali Codex ne radi Razlike u proxyju, DNS-u, certifikatima i izlaznom prometu
Izlaz se pokrene, a zatim se stream prekine Dugotrajne veze, mrežne promjene i pogreške usluge
Neuspjeh imaju samo dugi razgovori ili kompakcija Usporedite s malim novim zadatkom; istražite pogreške sesije i poslužitelja
HTTP 401, 403, 429 ili 5xx Pregledajte podrijetlo i tijelo odgovora radi autentikacije, politike, ograničenja ili pogrešaka usluge

Provjerite status OpenAI usluge i zabilježite vrijeme i verziju klijenta. Za zaglavljene razgovore, OpenAI također preporučuje provjeru čekajućih odobrenja i pokušaj manjeg, fokusiranog novog razgovora. Verzije za desktop i CLI mogu se razlikovati. Službeno rješavanje problema

Lokalni slučaj: neočekivani DNS odgovor pokrenuo je DIRECT

U jednoj zabilježenoj macOS istrazi koristeći Clash Verge Rev i Mihomo, proxy čvorovi su bili dostupni, ali je chatgpt.com odgovarao pravilu GeoIP/CN i pokušao izravnu vezu koja je istekla. Usporedba s enkriptiranim DNS-om dohvaćenim preko proxyja pokazala je anomalni odgovor na lokalnoj putanji razrješenja.

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

Postoje dva problema s konfiguracijom koje treba riješiti: putanja razrješenja i odluka o rutiranju. Ovaj zabilježeni slučaj nije benchmark niti dokaz da drugi neuspjesi Codexa imaju isti uzrok. Sam anomalni odgovor također ne može identificirati odgovorni posrednik niti posebno utvrditi DNS cache poisoning.

Dijagnosticirajte prije promjene konfiguracije

Provjerite zapis veze

Potražite stvarni hostname u pogrešci, uključujući chatgpt.com ili openai.com. Zabilježite podudarno pravilo, lanac veze i pogrešku u trenutku neuspjeha. Veza koja bi trebala koristiti proxy, ali odabire DIRECT, opravdava pregled redoslijeda pravila. Mihomo evaluira pravila rutiranja od vrha prema dnu. Dokumentacija o rutiranju

Ako se ne pojavi nijedna podudarna veza, najprije utvrdite koristi li taj klijent Clash. Uspjeh u pregledniku ne utvrđuje putanju koju koristi zaseban proces.

Usporedite putanje razrješenja

Na macOS-u pregledajte sistemski resolver i njegov trenutni odgovor:

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

Za šifriranu usporedbu, zamijenite 7890 svojim Clash HTTP/mixed portom:

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'

Zahtjev koristi Cloudflareovo DNS JSON sučelje. Provjerite panel veze: eksplicitni lokalni proxy jamči ulazak u Clash, ali Clash pravila i dalje određuju konačni izlazni put.

Različite IP adrese same po sebi nisu dokaz smetnji. Odabir CDN-a, predmemorija, obitelji adresa i Fake-IP mogu objasniti razlike. Sintetička adresa iz Clash-ovog Fake-IP raspona nije inherentno sumnjiva. Povežite anomalni odgovor s pogrešnom rutom i neuspjehom, a zatim usporedite s drugom potvrđenom mrežnom putanjom. Uz omogućen TUN, čak i dig @resolver može biti presretnut; to nije automatski neovisan upstream test.

Primijenite ciljano poboljšanje za Clash Verge Rev

Ovaj predložak zahtijeva Clash Verge Rev s Mihomo, postojeću pretplatu i radni proxy čvor. To je subscription Script, a ne potpuni samostalni profil. Najprije napravite sigurnosnu kopiju trenutne konfiguracije. Ako već koristite skriptu, integrirajte promjenu u njezinu postojeću funkciju main(config). Pregledajte konačnu konfiguraciju u runtime-u nakon svih koraka poboljšanja. Dokumentacija za Clash Verge Rev Script

Postavite CODEX_PROXY_GROUP na postojeću grupu i odaberite funkcionalan proxy čvor u toj grupi. Postavite NODE_DNS na DoH resolver koji radi prije nego što se proxy poveže i ispravno razrješava imena hostova čvorova. Primjer s AliDNS-om namijenjen je za provjeru na mreži u kontinentalnoj Kini; zamijenite ga kada nije prikladan. Ne koristi se za razrješavanje AI domena u nastavku.

// 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;
}

Skripta dodaje DNS politiku specifičnu za domenu i umeće proxy pravila na početak, uz zadržavanje ostalih pravila i DNS politika za domene. Mijenja razrješavanje imena hostova čvorova. Četiri sufiksa domena predstavljaju početni opseg, a ne iscrpan popis svake Codex značajke, prilagođenog provider-a, MCP servisa ili preuzimanja zadataka.

Mihomo podržava nameserver-policy specifičan za domenu i eksplicitni proxy sufiks na adresi DNS poslužitelja. Razrješavanje čvorova treba neovisan put kako bi se izbjegla kružna ovisnost. DNS konfiguracijska referenca

Ciljana skripta zadržava postojeće postavke fallbacka. Prije zamjene zasebno pregledajte šire DNS ovisnosti. Također provjerite postoje li zastarjela mapiranja hostova ili konfliktne, specifičnije politike.

Provjerite TUN zasebno

Za procese koji ne koriste sistemski proxy, omogućite TUN u Clash Verge Rev i provjerite da je pokrenut. Spojite sljedeća polja u postojeći TUN objekt, uz očuvanje ostalih postavki:

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

Ovo pokriva UDP i TCP DNS na portu 53. Mihomo dokumentira ograničenja za LAN-usmjeren DNS na macOS-u i Windowsu; aplikacijom upravljani šifrirani DNS također je izvan ovih pravila za port 53. Umjesto pretpostavke da prekidač pokriva svaki zahtjev, provjerite ponašanje resolvera i sučelja. TUN referenca

Provjerite konfiguraciju, rutiranje i Codex zasebno

Najprije provjerite završnu konfiguraciju zbog grešaka, referenci na grupu i redoslijeda pravila. Ako je dostupna Mihomo CLI alatna linija, mihomo -t -f <final-config-path> provjerava može li se konfiguracija parsirati. To ne dokazuje povezanost.

Zatim pregledajte stvarno rutiranje veza i pokrenite HTTPS probu s provjerom certifikata kroz svoj stvarni lokalni 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/

Odgovor predviđene usluge nakon uspješne provjere certifikata uspostavlja HTTP razmjenu za ovu probu. 401 ili 403 i dalje mogu blokirati pristup. To ne dokazuje da autentificirani Codex zahtjev radi, a isključivanje provjere certifikata poništilo bi ovu provjeru.

Na kraju dovršite mali zadatak u klijentu koji je izvorno neuspješno prošao. Instalirana, autentificirana CLI alatna linija može pokrenuti sljedeću opcionalnu provjeru, koja šalje stvarni zahtjev modelu i koristi kvotu računa:

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

Uspjeh CLI alatne linije potvrđuje samo taj CLI zahtjev; testirajte desktop aplikaciju zasebno ako se tamo dogodio kvar. Ponovno provjerite nakon ažuriranja pretplate, promjene mreže i sleep/wake ciklusa. Kasniji slojevi konfiguracije ili preimenovane grupe i dalje mogu prekinuti poboljšanje.

Često postavljana pitanja

Je li dovoljno promijeniti sistemski DNS na 8.8.8.8?

Ne nužno. Sama adresa resolvera ne uspostavlja enkripciju, proxy rutiranje ni dostupnost. Provjerite resolver, transport i izlaznu rutu zajedno.

Zašto Codex ne uspijeva dok Clash radi?

Proces možda zaobilazi proxy, poklapa se s direktnim pravilom ili ovisi o nedostupnom DNS-u čvora. Problem možda također nije povezan s DNS-om. Pronađite stvarnu vezu prije promjene više postavki odjednom.

Što ako se i dalje prekida?

Ako DNS, TLS i rutiranje rade, istražite status usluge, veličinu razgovora, verziju klijenta, stabilnost veze čvora i točno tijelo greške. OpenAI dokumentira lokacije povratnih informacija i logova; pregledajte logove zbog tajnih podataka prije dijeljenja. Rješavanje problema i logovi

Kako poništiti promjenu?

Onemogućite dodani Script i vratite sigurnosno kopirani profil, TUN postavke i sve sistemske DNS postavke koje ste promijenili. Odvojena proxy-providers arhitektura kasnije može izolirati pretplate na čvorove od lokalnog DNS-a i pravila, ali nije potrebna za ovu ciljanu ispravku.

Za korake instalacije i uvoza pogledajte Clash Verge postavljanje. Za ostale kvarove pogledajte Rješavanje problema za Clash. Ovaj dijagnostički postupak možete koristiti s postojećom kompatibilnom pretplatom; kupnja druge usluge nije preduvjet za testiranje DNS-a.