Codex ühendub pidevalt uuesti? Kontrolli DNS-i ja Clash marsruutimist

Viimati uuendatud: 2026-09-10

Codexi vead nagu Reconnecting..., stream disconnected before completion ja error sending request võivad olla seotud DNS-i häiringu või vale Clash marsruutimisega. See juhend selgitab, kuidas seda võimalust uurida, rakendada sihitud Clash Verge Rev täiustust ja tulemust kontrollida.

Mida kogukonna raportid tegelikult näitavad

Redditi kasutajad on teatanud katkestatud ülesannetest, mis sihivad chatgpt.com/backend-api/codex/responses, korduvatest uuestiühendamise katsetest ja vastusekeha vigadest. Need aruanded kinnitavad sümptomeid, mitte DNS-i diagnoosi. Katkestatud päring, uuestiühendamise tsükkel

Eraldi arutelu kirjeldab tõrkeid kaugkonteksti tihendamise ajal. Üks kommentaator soovitab uurida proksit, kuid arutelu ei tõesta kontrollitud põhjust. Tihendamise arutelu

X-i postitused näitavad sarnaseid küsimusi: 9. septembri postitus kirjeldab püsivaid voogtõrkeid, samas kui 6. septembri postitus teatab SSE jõudeaja aegumisest kaugkonteksti tihendamise ajal. Kumbki ei paku DNS-i võrdlust. Need on kasulikud näited kasutaja probleemidest, kuid need ei kinnita ühist põhjust. X-i voogteade, X-i tihendamise teade

Sümptom Mida uurida
Kohe saabuv aegumine koos lahendaja veaga DNS, sõlme kättesaadavus ja kas liiklus jõuab Clashini
ChatGPT töötab brauseris, kuid Codex ebaõnnestub Erinevused proksis, DNS-is, sertifikaatides ja väljaminevas liikluses
Väljund algab, seejärel voog katkeb Pikaajalised ühendused, võrgumuudatused ja teenusevead
Ebaõnnestuvad ainult pikad vestlused või tihendamine Võrdle väikese uue ülesandega; uuri seansi- ja serverivigu
HTTP 401, 403, 429 või 5xx Kontrolli vastuse päritolu ja keha autentimise, poliitika, piirangute või teenuse tõrgete suhtes

Kontrolli OpenAI teenuse olekut ja märgi üles aeg ning kliendiversioon. Kinni jäänud vestluste puhul soovitab OpenAI samuti kontrollida ootel kinnitusi ja proovida väiksemat, keskendunud uut vestlust. Töölaua- ja CLI-versioonid võivad erineda. Ametlik tõrkeotsing

Kohalik juhtum: ootamatu DNS-i vastus käivitas DIRECT-i

Ühes dokumenteeritud macOS-i uurimises, kasutades Clash Verge Rev-i ja Mihomot, olid proksisõlmed kättesaadavad, kuid chatgpt.com vastas GeoIP/CN reeglile ja püüdis teha otseühendust, mis aegus. Võrdlus läbi proksi jõudnud krüpteeritud DNS-iga näitas kohaliku lahendusraja juures anomaalset vastust.

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

On kaks konfiguratsiooniprobleemi, mida käsitleda: lahendusraja ja marsruutimisotsuse. See dokumenteeritud juhtum ei ole mõõdupuu ega tõend, et teistel Codexi tõrgetel oleks sama põhjus. Anomaalne vastus üksi ei saa ka tuvastada vastutavat vahendajat ega kinnitada just DNS-i vahemälu mürgitust.

Diagnoosi enne konfiguratsiooni muutmist

Kontrolli ühenduse logi

Otsi veast tegelikku hostinime, sealhulgas chatgpt.com või openai.com. Märgi üles sobitatud reegel, ühendusahel ja viga tõrke hetkel. Ühendus, mis peaks kasutama proksit, kuid valib DIRECT, vajab reeglite järjekorra ülevaatust. Mihomo hindab marsruutimisreegleid ülalt alla. Marsruutimise dokumentatsioon

Kui sobivat ühendust ei ilmu, selgita kõigepealt välja, kas see klient kasutab Clashi. Brauseri edu ei kinnita eraldi protsessi kasutatud rada.

Võrdle lahendusrajasid

macOS-is vaata süsteemi lahendajat ja selle praegust vastust:

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

Krüpteeritud võrdluse jaoks asenda 7890 oma Clashi HTTP/mixed pordiga:

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'

Päring kasutab Cloudflare’i DNS JSON-liidest. Kontrolli ühenduse paneeli: selgesõnaline kohalik proxy tagab sisenemise Clash’i, kuid Clash’i reeglid määravad siiski lõpliku väljumise.

Erinevad IP-aadressid üksi ei ole sekkumise tõend. CDN-i valik, vahemällustamine, aadressiperekonnad ja Fake-IP võivad erinevusi selgitada. Clashi Fake-IP vahemikust pärinev sünteetiline aadress ei ole iseenesest kahtlane. Seo anomaalne vastus vale marsruudi ja tõrkega ning võrdle seejärel teise kontrollitud võrgurajaga. TUN-i lubamisel võib isegi dig @resolver olla kinni püütud; see ei ole automaatselt sõltumatu upstream-test.

Rakenda sihitud Clash Verge Rev täiustus

See mall nõuab Clash Verge Rev-i koos Mihomoga, olemasolevat tellimust ja töötavat proksisõlme. See on tellimuse Script, mitte täielik iseseisev profiil. Varunda kõigepealt praegune konfiguratsioon. Kui kasutad juba scripti, integreeri muudatus selle olemasolevasse main(config) funktsiooni. Kontrolli lõplikku tööaja konfiguratsiooni pärast kõiki täiustusetappe. Clash Verge Rev Scripti dokumentatsioon

Määra CODEX_PROXY_GROUP olemasolevasse gruppi ja vali selles grupis töötav proxy-sõlm. Määra NODE_DNS DoH lahendajale, mis töötab enne proxy ühenduse loomist ja lahendab õigesti sõlmede hostinimed. AliDNS-i näide on mõeldud valideerimiseks Mandri-Hiina võrgus; asenda see sobimatuse korral. Seda ei kasutata allolevate AI-domeenide lahendamiseks.

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

Skript lisab domeenipõhise DNS-poliitika ja seab proxy-reeglid ettepoole, säilitades samal ajal muud reeglid ja domeenipoliitikad. See muudab sõlme hostinime lahendamist. Need neli domeenipikendust on lähteulatus, mitte ammendav loend kõigist Codexi funktsioonidest, kohandatud pakkujatest, MCP teenustest või ülesande allalaadimistest.

Mihomo toetab domeenipõhist nameserver-policy-t ja DNS-serveri aadressil selgesõnalist proxy sufiksit. Sõlme lahendamine vajab tsüklilise sõltuvuse vältimiseks eraldi teed. DNS configuration reference

Suunatud skript säilitab olemasolevad fallback-seaded. Vaata laiemad DNS-sõltuvused enne nende asendamist eraldi üle. Kontrolli ka vananenud hosts-mappe või vastuolulisi, täpsemaid poliitikaid.

Kontrolli TUN-i eraldi

Protsesside jaoks, mis ei kasuta süsteemset proxy’t, lülita Clash Verge Rev-is TUN sisse ja kontrolli, et see töötab. Ühenda järgmised väljad oma olemasolevasse TUN-objekti, säilitades selle muud seaded:

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

Need katavad UDP ja TCP DNS-i pordil 53. Mihomo dokumenteerib macOS-i ja Windowsi LAN-ile suunatud DNS-i piiranguid; rakenduse hallatav krüptitud DNS jääb samuti neist pordi-53 reeglitest väljapoole. Kontrolli lahendaja ja liidese käitumist, mitte ära eelda, et lüliti katab iga päringu. TUN reference

Kontrolli konfiguratsiooni, marsruutimist ja Codexit eraldi

Kõigepealt kontrolli lõppkonfiguratsiooni vigade, grupiviidete ja reeglite järjestuse suhtes. Kui Mihomo CLI on saadaval, siis mihomo -t -f <final-config-path> kontrollib, kas konfiguratsioon parsitakse. See ei tõesta ühenduvust.

Seejärel uuri tegelikku ühenduse marsruutimist ja käivita sertifikaadiga kontrollitud HTTPS-proov sinu päris kohaliku pordi kaudu:

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/

Eduka sertifikaaditõenduse järel saadud vastus sihtteenuselt kinnitab selle proovi jaoks HTTP vahetuse. 401 või 403 võib siiski juurdepääsu blokeerida. See ei tõesta, et autentitud Codexi päring töötab, ning sertifikaadi kontrolli väljalülitamine muudaks selle kontrolli kehtetuks.

Lõpuks lõpeta kliendis väike ülesanne, mis algselt ebaõnnestus. Paigaldatud ja autentitud CLI saab käivitada järgmise valikulise kontrolli, mis teeb päriselt mudeli päringu ja kasutab konto kvooti:

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

CLI edu kinnitab ainult seda CLI päringut; testi töölauarakendust eraldi, kui viga tekkis seal. Kontrolli uuesti pärast tellimuse uuendust, võrguvahetust ja unerežiimi/äratust. Hilisemad konfiguratsioonikihid või ümbernimetatud grupid võivad ikkagi mõne täiustuse rikkuda.

Korduma kippuvad küsimused

Kas süsteemse DNS-i muutmine väärtusele 8.8.8.8 on piisav?

Mitte tingimata. Ainult lahendaja aadress ei taga krüptimist, proxy marsruutimist ega kättesaadavust. Kontrolli lahendajat, transporti ja väljuvat ühendust koos.

Miks Codex ebaõnnestub, samal ajal kui Clash töötab?

Protsess võib proxy’st mööda minna, sobituda otse-reegliga või sõltuda kättesaamatust sõlme DNS-ist. Probleem ei pruugi üldse DNS-iga seotud olla. Leia tegelik ühendus enne mitme seade korraga muutmist.

Mis siis, kui see ikka katkeb?

Kui DNS, TLS ja marsruutimine töötavad, uuri teenuse olekut, vestluse suurust, kliendi versiooni, sõlmeühenduse stabiilsust ja täpset veateksti. OpenAI dokumenteerib tagasiside ja logide asukohad; enne jagamist vaata logid üle saladuste suhtes. Troubleshooting and logs

Kuidas muudatus tagasi võtta?

Keela lisatud Script ja taasta varundatud profiil, TUN-seaded ning kõik süsteemse DNS-i seaded, mida muutsid. Eraldi proxy-providers arhitektuur võib hiljem isoleerida sõlme tellimused kohalikust DNS-ist ja reeglitest, kuid see ei ole selle sihitud paranduse jaoks vajalik.

Installi- ja importimisetappide jaoks vaata Clash Verge setup. Muude tõrgete jaoks vaata Clash troubleshooting. Seda diagnostilist protsessi saab kasutada olemasoleva ühilduva tellimusega; teise teenuse ostmine ei ole DNS-i testimiseks eeltingimus.