Codex Inaendelea Kuunganisha Tena? Angalia DNS na Uelekezaji wa Clash
Hitilafu za Codex kama Reconnecting..., stream disconnected before completion, na error sending request zinaweza kuhusisha mwingiliano wa DNS au uelekezaji usio sahihi wa Clash. Mwongozo huu unaeleza jinsi ya kuchunguza uwezekano huo, kutumia uboreshaji maalumu wa Clash Verge Rev, na kuthibitisha matokeo.
Ripoti za jamii zinaonyesha nini hasa
Watumiaji wa Reddit wameripoti kazi zilizokatizwa zikilenga chatgpt.com/backend-api/codex/responses, majaribio ya mara kwa mara ya kuunganisha tena, na hitilafu za sehemu ya mwili wa majibu. Ripoti hizi zinathibitisha dalili, si utambuzi wa DNS. Ombi lililokatizwa, mzunguko wa kuunganisha tena
Majadiliano tofauti yanaeleza kushindwa wakati wa kufinyaza muktadha wa mbali. Mtoa maoni mmoja anapendekeza kuchunguza proxy, lakini majadiliano hayo hayaonyeshi sababu iliyothibitishwa. Majadiliano ya compaction
Ripoti kwenye X zinaonyesha maswali yanayofanana: chapisho la Septemba 9 linaeleza kushindwa kwa stream kunakoendelea, huku chapisho la Septemba 6 likiripoti SSE idle timeout wakati wa compaction ya mbali. Hakuna hata moja linalotoa ulinganisho wa DNS. Hii ni mifano yenye manufaa ya matatizo ya watumiaji, lakini haiweki sababu ya pamoja. Ripoti ya stream kwenye X, ripoti ya compaction kwenye X
| Dalili | Nini cha kuchunguza |
|---|---|
| Timeout ya papo hapo yenye hitilafu ya resolver | DNS, ufikikaji wa node, na kama trafiki inaingia kwenye Clash |
| ChatGPT inafanya kazi kwenye kivinjari lakini Codex inashindwa | Tofauti katika proxy, DNS, vyeti, na egress |
| Matokeo yanaanza, kisha stream inakatika | Miunganisho ya muda mrefu, mabadiliko ya mtandao, na hitilafu za huduma |
| Ni mazungumzo marefu pekee au compaction ndiyo hushindwa | Linganisha na kazi mpya ndogo; chunguza hitilafu za session na seva |
| HTTP 401, 403, 429, au 5xx | Kagua chanzo cha jibu na sehemu yake ya mwili kwa uthibitishaji, sera, vikomo, au hitilafu za huduma |
Angalia hali ya huduma ya OpenAI na andika muda na toleo la mteja. Kwa mazungumzo yaliyokwama, OpenAI pia inapendekeza kuangalia idhini zinazosubiri na kujaribu mazungumzo mapya madogo na yenye mwelekeo. Matoleo ya Desktop na CLI yanaweza kutofautiana. Utatuzi rasmi wa hitilafu
Kesi ya ndani: jibu lisilotarajiwa la DNS lilisababisha DIRECT
Katika uchunguzi mmoja uliorekodiwa wa macOS uliotumia Clash Verge Rev na Mihomo, node za proxy zilikuwa zinafikiwa, lakini chatgpt.com ililingana na sheria ya GeoIP/CN na kujaribu muunganisho wa moja kwa moja ambao ulipata timeout. Ulinganisho na DNS iliyosimbwa iliyofikiwa kupitia proxy ulionyesha jibu lisilo la kawaida kwenye njia ya ndani ya utatuzi.
Request to chatgpt.com
→ anomalous DNS answer
→ no earlier matching OpenAI domain rule
→ GeoIP selects DIRECT
→ connection times out and Codex retries
Kuna masuala mawili ya usanidi ya kushughulikia: njia ya utatuzi na uamuzi wa uelekezaji. Kesi hii iliyorekodiwa si kipimo wala uthibitisho kwamba kushindwa kwingine kwa Codex kuna sababu hiyo hiyo. Jibu lisilo la kawaida peke yake pia haliwezi kutambua mpatanishi anayehusika au kuthibitisha mahsusi DNS cache poisoning.
Tambua kabla ya kubadilisha usanidi
Angalia kumbukumbu ya muunganisho
Tafuta hostname halisi kwenye hitilafu, ikijumuisha chatgpt.com au openai.com. Andika sheria iliyolingana, mlolongo wa muunganisho, na hitilafu wakati wa kushindwa. Muunganisho ambao unapaswa kutumia proxy lakini unachagua DIRECT unahitaji mapitio ya mpangilio wa sheria. Mihomo hutathmini sheria za uelekezaji kutoka juu kwenda chini. Nyaraka za uelekezaji
Ikiwa hakuna muunganisho unaolingana unaoonekana, kwanza thibitisha kama mteja huyo anatumia Clash. Mafanikio kwenye kivinjari hayaonyeshi njia inayotumiwa na mchakato tofauti.
Linganisha njia za utatuzi
Kwenye macOS, kagua resolver ya mfumo na jibu lake la sasa:
scutil --dns
dscacheutil -q host -a name chatgpt.com
Kwa ulinganisho uliosimbwa, badilisha 7890 na port yako ya HTTP/mixed ya 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'
Ombi linatumia kiolesura cha DNS JSON cha Cloudflare. Angalia paneli ya muunganisho: proxy ya ndani iliyoelezwa wazi huhakikisha kuingia kwenye Clash, lakini sheria za Clash bado huamua egress ya mwisho.
Anwani tofauti za IP pekee si uthibitisho wa mwingiliano. Uteuzi wa CDN, caching, familia za anwani, na Fake-IP vinaweza kueleza tofauti. Anwani ya kisintetiki kutoka safu ya Fake-IP ya Clash si ya kutiliwa shaka kiasili. Husianisha jibu lisilo la kawaida na njia isiyo sahihi pamoja na kushindwa, kisha linganisha dhidi ya njia nyingine ya mtandao iliyothibitishwa. TUN ikiwa imewezeshwa, hata dig @resolver inaweza kunaswa; si jaribio huru la upstream moja kwa moja.
Tumia uboreshaji maalumu wa Clash Verge Rev
Kiolezo hiki kinahitaji Clash Verge Rev yenye Mihomo, usajili uliopo, na node ya proxy inayofanya kazi. Hii ni Script ya usajili, si profile kamili ya kujitegemea. Hifadhi nakala ya usanidi wa sasa kwanza. Ikiwa tayari unatumia script, unganisha mabadiliko ndani ya kazi yake iliyopo ya main(config). Kagua usanidi wa mwisho wa wakati wa utekelezaji baada ya hatua zote za uboreshaji. Nyaraka za Script ya Clash Verge Rev
Weka CODEX_PROXY_GROUP kwenye kikundi kilichopo na uchague nodi ya proksi inayofanya kazi ndani ya kikundi hicho. Weka NODE_DNS kwa kisuluhishi cha DoH kinachofanya kazi kabla ya proksi kuunganishwa na kinachosuluhisha kwa usahihi majina ya hosti ya nodi. Mfano wa AliDNS umekusudiwa kwa uthibitishaji kwenye mtandao wa China bara; ubadilishe usipofaa. Hautumiki kusuluhisha domeni za AI zilizo hapa chini.
// 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;
}
Skripti huongeza sera ya DNS maalum kwa domeni na huweka mbele kanuni za proksi huku ikihifadhi kanuni nyingine na sera za domeni. Inabadilisha usuluhishaji wa jina la hosti la nodi. Viambishi tamati vinne vya domeni ni wigo wa kuanzia, si orodha kamili ya kila kipengele cha Codex, mtoa huduma maalum, huduma ya MCP, au upakuaji wa kazi.
Mihomo inaunga mkono nameserver-policy maalum kwa domeni na kiambishi tamati wazi cha proksi kwenye anwani ya seva ya DNS. Usuluhishaji wa nodi unahitaji njia huru ili kuepuka utegemezi wa mviringo. Marejeo ya usanidi wa DNS
Skripti iliyolengwa huhifadhi mipangilio iliyopo ya fallback. Kagua utegemezi mpana zaidi wa DNS kando kabla ya kuibadilisha. Pia angalia ramani za hosts zilizopitwa na wakati au sera zinazokinzana na zilizo maalum zaidi.
Kagua TUN kando
Kwa michakato ambayo haitumii proksi ya mfumo, washa TUN katika Clash Verge Rev na uthibitishe kuwa inaendesha. Unganisha sehemu zifuatazo kwenye kifaa chako cha TUN kilichopo, huku ukihifadhi mipangilio yake mingine:
tun:
enable: true
auto-route: true
auto-detect-interface: true
dns-hijack:
- any:53
- tcp://any:53
Hizi hufunika DNS ya UDP na TCP kwenye bandari 53. Mihomo inaandika vikwazo kwa DNS inayoelekezwa LAN kwenye macOS na Windows; DNS iliyosimbwa kwa njia fiche inayodhibitiwa na programu pia iko nje ya kanuni hizi za bandari-53. Thibitisha tabia ya kisuluhishi na kiolesura badala ya kudhani swichi hiyo inafunika kila ombi. Marejeo ya TUN
Thibitisha usanidi, uelekezaji, na Codex kando
Kwanza kagua usanidi wa mwisho kwa hitilafu, marejeo ya vikundi, na mpangilio wa kanuni. Ikiwa CLI ya Mihomo inapatikana, mihomo -t -f <final-config-path> hukagua kama usanidi unaweza kuchanganuliwa. Hii haithibitishi muunganisho.
Kisha kagua uelekezaji halisi wa muunganisho na uendeshe kipimo cha HTTPS chenye uthibitishaji wa cheti kupitia bandari yako halisi ya ndani:
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/
Jibu kutoka kwa huduma iliyokusudiwa baada ya uthibitishaji wa cheti kufanikiwa huanzisha ubadilishanaji wa HTTP kwa kipimo hiki. 401 au 403 bado inaweza kuzuia ufikiaji. Hii haithibitishi kwamba ombi la Codex lililoidhinishwa linafanya kazi, na kuzima uthibitishaji wa cheti kungebatilisha ukaguzi huu.
Mwisho, kamilisha kazi ndogo katika mteja ambayo ilishindwa awali. CLI iliyosakinishwa na kuthibitishwa inaweza kuendesha ukaguzi ufuatao wa hiari, ambao hufanya ombi halisi la modeli na hutumia quota ya akaunti:
codex exec --skip-git-repo-check --sandbox read-only \
'Reply with exactly: PONG. Do not use tools.'
Mafanikio ya CLI huthibitisha tu ombi hilo la CLI; jaribu programu ya mezani kando ikiwa hapo ndipo hitilafu ilipotokea. Kagua tena baada ya masasisho ya usajili, mabadiliko ya mtandao, na sleep/wake. Tabaka za usanidi za baadaye au vikundi vilivyopewa majina mapya bado vinaweza kuvunja uboreshaji.
Maswali yanayoulizwa mara kwa mara
Je, kubadilisha DNS ya mfumo kuwa 8.8.8.8 kunatosha?
Si lazima. Anwani ya kisuluhishi pekee haianzishi usimbaji fiche, uelekezaji wa proksi, au ufikikaji. Thibitisha kisuluhishi, usafirishaji, na egress kwa pamoja.
Kwa nini Codex inashindwa huku Clash ikiendelea kufanya kazi?
Mchakato unaweza kukwepa proksi, kulingana na kanuni ya moja kwa moja, au kutegemea DNS ya nodi isiyopatikana. Tatizo linaweza pia lisihusiane na DNS. Tafuta muunganisho halisi kabla ya kubadilisha mipangilio kadhaa kwa wakati mmoja.
Vipi ikiwa bado inakatika?
Ikiwa DNS, TLS, na uelekezaji vinafanya kazi, chunguza hali ya huduma, ukubwa wa mazungumzo, toleo la mteja, uthabiti wa muunganisho wa nodi, na mwili halisi wa hitilafu. OpenAI inaandika maeneo ya maoni na kumbukumbu; kagua kumbukumbu kwa siri kabla ya kushiriki. Utatuzi wa hitilafu na kumbukumbu
Nitatenguaje mabadiliko?
Zima Script iliyoongezwa na urejeshe profaili iliyohifadhiwa nakala, mipangilio ya TUN, na mipangilio yoyote ya DNS ya mfumo uliyobadilisha. Muundo tofauti wa proxy-providers unaweza baadaye kutenga usajili wa nodi na DNS ya ndani na kanuni, lakini hauhitajiki kwa suluhisho hili lililolengwa.
Kwa hatua za usakinishaji na uingizaji, tazama Usanidi wa Clash Verge. Kwa hitilafu nyingine, tazama Utatuzi wa hitilafu wa Clash. Unaweza kutumia mchakato huu wa utambuzi na usajili uliopo unaolingana; kununua huduma nyingine si sharti la awali la kupima DNS.