Codex sa stále znovu pripája? Skontrolujte DNS a smerovanie Clash
Chyby Codex, ako Reconnecting..., stream disconnected before completion a error sending request, môžu súvisieť so zásahmi do DNS alebo nesprávnym smerovaním Clash. Táto príručka vysvetľuje, ako túto možnosť preskúmať, použiť cielené vylepšenie Clash Verge Rev a overiť výsledok.
Čo správy komunity skutočne ukazujú
Používatelia na Reddit hlásili prerušené úlohy smerujúce na chatgpt.com/backend-api/codex/responses, opakované pokusy o znovupripojenie a chyby tela odpovede. Tieto hlásenia potvrdzujú príznaky, nie diagnózu DNS. Prerušená požiadavka, slučka znovupripojenia
Samostatná diskusia opisuje zlyhania počas vzdialenej kompakcie kontextu. Jeden komentujúci navrhuje preskúmať proxy, ale diskusia nestanovuje overenú príčinu. Diskusia o kompaktcii
Hlásenia na X ukazujú podobné otázky: príspevok z 9. septembra opisuje pretrvávajúce zlyhania streamu, zatiaľ čo príspevok zo 6. septembra hlási časový limit nečinnosti SSE počas vzdialenej kompakcie. Ani jedno neposkytuje porovnanie DNS. Sú to užitočné príklady problémov používateľov, ale nepotvrdzujú spoločnú príčinu. Hlásenie streamu na X, Hlásenie kompakcie na X
| Príznak | Čo skúmať |
|---|---|
| Okamžitý časový limit s chybou resolvera | DNS, dostupnosť uzla a to, či prevádzka vstupuje do Clash |
| ChatGPT funguje v prehliadači, ale Codex zlyháva | Rozdiely v proxy, DNS, certifikátoch a odchádzajúcej prevádzke |
| Výstup sa začne, potom sa stream odpojí | Dlhodobé spojenia, zmeny siete a chyby služby |
| Zlyhávajú iba dlhé konverzácie alebo kompakcia | Porovnajte s malou novou úlohou; skúmajte chyby relácie a servera |
| HTTP 401, 403, 429 alebo 5xx | Skontrolujte pôvod odpovede a telo kvôli autentifikácii, zásadám, limitom alebo zlyhaniam služby |
Skontrolujte stav služby OpenAI a zaznamenajte čas a verziu klienta. Pri zaseknutých chatoch OpenAI tiež odporúča skontrolovať čakajúce schválenia a skúsiť menší, zameraný nový chat. Verzie Desktop a CLI sa môžu líšiť. Oficiálne riešenie problémov
Lokálny prípad: neočakávaná odpoveď DNS spustila DIRECT
V jednom zaznamenanom vyšetrovaní na macOS s použitím Clash Verge Rev a Mihomo boli proxy uzly dostupné, ale chatgpt.com sa zhodovalo s pravidlom GeoIP/CN a pokúsilo sa o priame pripojenie, ktoré vypršalo. Porovnanie so šifrovaným DNS dosiahnutým cez proxy ukázalo anomálnu odpoveď na lokálnej ceste rozlišovania.
Request to chatgpt.com
→ anomalous DNS answer
→ no earlier matching OpenAI domain rule
→ GeoIP selects DIRECT
→ connection times out and Codex retries
Je potrebné riešiť dva konfiguračné problémy: cestu rozlišovania a rozhodnutie o smerovaní. Tento zaznamenaný prípad nie je benchmark ani dôkaz, že iné zlyhania Codex majú rovnakú príčinu. Samotná anomálna odpoveď tiež nemôže identifikovať zodpovedný medzičlánok ani konkrétne preukázať otravu DNS cache.
Diagnostikujte pred zmenou konfigurácie
Skontrolujte denník pripojenia
Vyhľadajte skutočný hostname v chybe vrátane chatgpt.com alebo openai.com. Zaznamenajte zodpovedajúce pravidlo, reťazec pripojenia a chybu v čase zlyhania. Pripojenie, ktoré by malo používať proxy, ale vyberie DIRECT, si vyžaduje kontrolu poradia pravidiel. Mihomo vyhodnocuje pravidlá smerovania zhora nadol. Dokumentácia smerovania
Ak sa nezobrazuje žiadne zodpovedajúce pripojenie, najprv zistite, či tento klient používa Clash. Úspech v prehliadači nepotvrdzuje cestu použitú samostatným procesom.
Porovnajte cesty rozlišovania
Na macOS skontrolujte systémový resolver a jeho aktuálnu odpoveď:
scutil --dns
dscacheutil -q host -a name chatgpt.com
Pre šifrované porovnanie nahraďte 7890 svojím HTTP/mixed portom Clash:
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'
Požiadavka používa rozhranie DNS JSON od Cloudflare. Skontrolujte panel pripojenia: explicitná lokálna proxy zaručuje vstup do Clash, ale pravidlá Clash stále určujú konečný výstup.
Samotné odlišné IP adresy nie sú dôkazom zásahu. Rozdiely môžu vysvetliť výber CDN, cache, rodiny adries a Fake-IP. Syntetická adresa z rozsahu Fake-IP Clash nie je sama osebe podozrivá. Dajte anomálnu odpoveď do súvisu s nesprávnou trasou a zlyhaním, potom ju porovnajte s inou overenou sieťovou cestou. So zapnutým TUN môže byť aj dig @resolver zachytený; nejde automaticky o nezávislý test upstreamu.
Použite cielené vylepšenie Clash Verge Rev
Táto šablóna vyžaduje Clash Verge Rev s Mihomo, existujúce predplatné a funkčný proxy uzol. Ide o Script predplatného, nie o úplný samostatný profil. Najprv zálohujte aktuálnu konfiguráciu. Ak už používate script, začleňte zmenu do jeho existujúcej funkcie main(config). Skontrolujte konečnú konfiguráciu za behu po všetkých krokoch vylepšenia. Dokumentácia ku Script pre Clash Verge Rev
Nastavte CODEX_PROXY_GROUP na existujúcu skupinu a v tejto skupine vyberte funkčný proxy uzol. Nastavte NODE_DNS na DoH resolver, ktorý funguje ešte pred pripojením proxy a správne prekladá názvy hostiteľov uzlov. Príklad AliDNS je určený na overenie v sieti v pevninskej Číne; ak nie je vhodný, nahraďte ho. Nepoužíva sa na preklad AI domén nižšie.
// 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 pridá DNS politiku špecifickú pre domény a vloží proxy pravidlá na začiatok, pričom zachová ostatné pravidlá a doménové politiky. Mení spôsob prekladu názvov hostiteľov uzlov. Štyri doménové prípony predstavujú počiatočný rozsah, nie úplný zoznam všetkých funkcií Codex, vlastných providerov, služieb MCP alebo sťahovaní úloh.
Mihomo podporuje nameserver-policy špecifickú pre doménu a explicitnú proxy príponu na adrese DNS servera. Preklad uzlov potrebuje nezávislú cestu, aby sa predišlo kruhovej závislosti. Referenčná príručka konfigurácie DNS
Cielený skript zachováva existujúce nastavenia fallback. Pred ich nahradením samostatne skontrolujte širšie DNS závislosti. Skontrolujte aj zastarané mapovania hosts alebo konfliktné, špecifickejšie politiky.
Skontrolujte TUN samostatne
Pre procesy, ktoré nepoužívajú systémový proxy, povoľte TUN v Clash Verge Rev a overte, že je spustený. Zlúčte nasledujúce polia do svojho existujúceho objektu TUN a zachovajte jeho ostatné nastavenia:
tun:
enable: true
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
- tcp://any:53
Tieto pokrývajú UDP a TCP DNS na porte 53. Mihomo dokumentuje obmedzenia pre DNS smerované do LAN v systémoch macOS a Windows; šifrované DNS spravované aplikáciou je tiež mimo týchto pravidiel pre port 53. Overte správanie resolvera a rozhrania namiesto predpokladu, že toto prepnutie pokryje každú požiadavku. Referenčná príručka TUN
Overte konfiguráciu, smerovanie a Codex samostatne
Najprv skontrolujte finálnu konfiguráciu na chyby, odkazy na skupiny a poradie pravidiel. Ak je k dispozícii Mihomo CLI, mihomo -t -f <final-config-path> skontroluje, či sa konfigurácia dá parsovať. Nedokazuje to pripojiteľnosť.
Potom skontrolujte skutočné smerovanie pripojenia a spustite HTTPS sondu s overením certifikátu cez svoj skutočný lokálny 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/
Odpoveď od zamýšľanej služby po úspešnom overení certifikátu potvrdzuje HTTP výmenu pre túto sondu. 401 alebo 403 môžu stále blokovať prístup. Nedokazuje to, že bude fungovať autentifikovaná požiadavka Codex, a vypnutie overovania certifikátu by túto kontrolu zneplatnilo.
Nakoniec dokončite malú úlohu v klientovi, ktorý pôvodne zlyhal. Nainštalované a autentifikované CLI môže spustiť nasledujúcu voliteľnú kontrolu, ktorá vykoná skutočnú požiadavku na model a použije kvótu účtu:
codex exec --skip-git-repo-check --sandbox read-only \
'Reply with exactly: PONG. Do not use tools.'
Úspech v CLI overuje iba túto požiadavku CLI; ak k zlyhaniu došlo v desktopovej aplikácii, otestujte ju samostatne. Skontrolujte to znova po aktualizácii predplatného, zmene siete a uspání/prebudení. Neskoršie vrstvy konfigurácie alebo premenované skupiny môžu stále narušiť rozšírenie.
Často kladené otázky
Stačí zmeniť systémové DNS na 8.8.8.8?
Nie nevyhnutne. Samotná adresa resolvera nezabezpečuje šifrovanie, smerovanie cez proxy ani dosiahnuteľnosť. Overte spolu resolver, transport a výstupnú trasu.
Prečo Codex zlyháva, keď je Clash spustený?
Proces môže obchádzať proxy, zodpovedať pravidlu direct alebo závisieť od nedostupného DNS pre uzly. Problém tiež nemusí súvisieť s DNS. Pred zmenou viacerých nastavení naraz najprv zistite skutočné pripojenie.
Čo ak sa stále odpája?
Ak DNS, TLS a smerovanie fungujú, preskúmajte stav služby, veľkosť konverzácie, verziu klienta, stabilitu pripojenia uzla a presný obsah chyby. OpenAI dokumentuje umiestnenia spätnej väzby a logov; pred zdieľaním skontrolujte logy na prítomnosť tajných údajov. Riešenie problémov a logy
Ako zmenu vrátim späť?
Zakážte pridaný Script a obnovte zálohovaný profil, nastavenia TUN a všetky systémové DNS nastavenia, ktoré ste zmenili. Samostatná architektúra proxy-providers môže neskôr oddeliť predplatné uzlov od lokálneho DNS a pravidiel, ale pre túto cielenú opravu sa nevyžaduje.
Kroky inštalácie a importu nájdete v nastavení Clash Verge. Pri iných zlyhaniach pozrite riešenie problémov Clash. Tento diagnostický postup môžete použiť s existujúcim kompatibilným predplatným; kúpa inej služby nie je predpokladom na testovanie DNS.