دوز مباشرة للمحتوى الرئيسي
دروس فالذكاء الاصطناعي

شرح ccodex-sleep-state: التحكّم المرئي فـ Codex، إعداد البروكسي وحلّ مشاكل الاتصال

كيشرح هاد الدليل كيفاش تثبّت ccodex-sleep-state فـ Windows وmacOS، وتربطو بـ Codex، وتضبط البروكسي وسياسة turn-state، وتستعمل اللوحة المحلية وأوامر التشخيص باش تلقى مشاكل تحديد المعدّل، وتعارض الإعدادات، وأعطال الاتصال.

شرح ccodex-sleep-state: التحكّم فـ Codex، إعداد البروكسي وحلّ مشاكل الاتصال

مقدمة على المشروع

ccodex-sleep-state هو أداة محلية مكتوبة بـ Go، والهدف ديالها هو تحسّن المشاكل اللي تقدر تبان فاستعمال Codex، بحال تبدّل جودة الأجوبة، تحديد المعدّل، فشل الاتصال وتعارضات الإعدادات. كتجمع تدبير الاتصال، مخرج البروكسي، جمع turn-state، تولّي الإعدادات وتشخيص الأعطاب فخدمة محلية ولوحة ويب وحدة، باش تنقص الحاجة للتعديل اليدوي فملفات الإعدادات.

خاص نوضحو من الأول: هاد الأداة ما كتزيدش فالحصة ديال الحساب، وما كتضمنش أن جودة النموذج غادي ترجع بالضرورة من بعد تبديل المخرج. هي كتعالج الاتصال والإعدادات وX-Codex-Turn-State اللي كيرجع فالإجابة، باش يولي فحص نتائج الجمع، وحالة الحقن، ومسار الطلب وسبب الخطأ أسهل.

المشروع مازال حاليا فنسخة اختبار عامة. الوظائف تقدر تختلف بين Release وآخر، وخص الاعتماد على ملاحظات الإصدار ديال النسخة اللي تحمّلات. ما خاصش يتفهم نجاح اختبار بعض النماذج أو مسارات الضغط على أنه قبول لجميع الحالات.

واجهة مرتبطة بمشروع ccodex-sleep-state

الوظائف الأساسية

  • لوحة ويب محلية: كتبيّن واش Codex تدار ليه التولي، واش الطلبات كتدوز من الخدمة، حالة الجلسة وعدد الطلبات.
  • جمع وحقن turn-state: كترسل طلبات قصيرة من مخارج محتملة، كتفحص الـ state اللي فالإجابة، ومن بعد كتستعملو فالطلبات الموالية حسب القواعد.
  • طرق متعددة للمصادقة: كتفرّق بين تسجيل الدخول الرسمي ديال ChatGPT، وAPI key الرسمي ديال OpenAI، وAPI key ديال Responses الوسيط أو CCS.
  • عزل النماذج: كيدعم gpt-6-astra وgpt-5.6-sol وgpt-5.6-terra؛ والـ state كيتعزل حسب الحساب وبيانات الاعتماد والنموذج، وما كيتخلطش بين النماذج.
  • البروكسي والاشتراكات: كيدعم HTTP وHTTPS وSOCKS5، وزيد عليهم اشتراكات Clash/Mihomo YAML وURI سطر بسطر وBase64 URI.
  • حماية الإعدادات: كيدير نسخة احتياطية من إعدادات Codex قبل التولي، وكيحاول يرجعها ملي كتوقف الخدمة؛ وإذا تخسرت الإعدادات تقدر تدخل للوحة الإصلاح.
  • التشخيص: تقدر تحمّل تشخيص منزوع الحساسية، أو تشغّل الأمر doctor لجمع معلومات حل المشاكل.

التحضير قبل التثبيت

أول حاجة تأكد أن Codex كيخدم مزيان بلا ما يدوز من هاد الأداة. الحساب الرسمي خاصو يكمل تسجيل الدخول من قبل؛ وإذا كنت كتستعمل خدمة وسيطة، خاصك تكون واجد API key ديالك من الأول.

إلى كنت كتستعمل CCS أو CC Switch ف نفس الوقت، اختار فيه provider والـ upstream وإعدادات المصادقة اللي بغيتي تستعمل فهاد المرة، ومن بعد خرج من Codex ووقف مؤقتا تبديل الإعدادات. ccodex-sleep-state ما كيتولاش قاعدة بيانات الحسابات ديال CCS، غير كيقرا provider المختار حاليا فـ Codex وكيحوّل المدخل مؤقتا للخدمة المحلية.

اختيار حزمة التثبيت الصحيحة

  1. حل صفحة Releases ديال المشروع.
  2. فحاسوب Windows عادي اختار windows-amd64.
  3. فأجهزة Windows ARM اختار windows-arm64.
  4. فـ Mac بمعالج Apple Silicon اختار darwin-arm64.
  5. فـ Mac بمعالج Intel اختار darwin-amd64.
  6. من بعد التحميل فك الضغط كامل، وما تشغّلش غير ملف واحد مباشرة من داخل الأرشيف المضغوط.

التشغيل والتهيئة الأولى

استعمال سكريبت التشغيل

مستعملو Windows ينقرو جوج مرات على start.cmd، ومستعملو macOS ينقرو جوج مرات على start.command. منين كتبدأ الخدمة، المتصفح غالبا كيفتح لوحة التدبير المحلية بوحدو وكيدخل مباشرة للجلسة الحالية، بلا ما تحتاج تنسخ كلمة سر التدبير من قبل.

البرنامج كينشئ إعدادات الخدمة الناقصة، وكيحتافظ بنسخة احتياطية وكيشبك Codex. منين تبان فاللوحة أن التولي تكمل، خاصك تعاد تشغيل Codex وتنشئ جلسة جديدة، ومن بعد تبعث رسالة قصيرة للاختبار. الجلسة القديمة ما كتتبدلش مباشرة، لذلك ما تكملش الاختبار غير فالجلسة القديمة.

التشغيل من سطر الأوامر

إلى ما كانش سكريبت التشغيل فحزمة الإصدار، تقدر تشغّل setup من مجلد البرنامج. الأمر فـ Windows هو:

.\ccodex-sleep-state.exe setup

الأمر فـ macOS هو:

./ccodex-sleep-state setup

setup كينشئ الإعدادات الناقصة، كيشغّل الخدمة وكيحل اللوحة، وما كيرجعش الاشتراكات والبروكسيات المحفوظة للصفر. إلا كانت النسخة القديمة ما كتدعمش هاد الأمر، خاصك تحدّث أولا لنسخة Release أحدث.

إلى ما تحلش المتصفح بوحدو، دخل يدويا لعنوان التدبير اللي باين فالمحطة. العنوان الافتراضي هو http://127.0.0.1:17841/admin/، ومن بعد لسّق كلمة سر التدبير ديال هاد المرة اللي باينة فالمحطة.

برنامج التشغيل بوحدو ما كيرسلش طلبات للنموذج، ولكن منين كيتشبك Codex، جمع الـ state يقدر يستهلك من الحصة الفعلية. خاص تخلي نافذة المحطة محلولة ما دامت الخدمة خدامة.

إكمال أول ربط

  1. دخل للمنطقة ديال «بدا الاستعمال» فاللوحة، وتأكد أن حالة الإعدادات باينة فيها أن التولي تكمل.
  2. إلى ما تلقاش بروكسي، حل «الاشتراكات والبروكسي»، وعمّر عنوان HTTP أو HTTPS أو SOCKS5 المحلي، أو استورد اشتراك بعيد وملف اشتراك محلي.
  3. فتنظيم «إعدادات الاتصال»، تأكد من قواعد النموذج والحساب.
  4. حسب الحاجة، فعّل أو عطّل الحقن فـ «حقن turn-state».
  5. عاود شغّل Codex وأنشئ جلسة جديدة كليا.
  6. بعث رسالة قصيرة، ومن بعد رجع للوحة وفحص عدّاد الطلبات والجلسة وتشخيص الجمع.

فأول تشغيل، إلا ما كانتش سياسة بديلة محددة بوضوح، setup كيستعمل افتراضيا «تمرير عادي ملي ما يتجمعش الـ state». إلا كنت اخترتي من قبل الوضع الصارم بوضوح، غادي يبقى داك الاختيار محفوظ.

زر «ربط Codex بنقرة وحدة» فالصفحة الرئيسية كيتستعمل أساسا لإعادة الفحص وإصلاح الربط، وماشي ضروري تنقر عليه مع كل تشغيل. البروكسيات والاشتراكات والنموذج ومفتاح الحقن اللي سبقو تحددو غادي يبقاو محفوظين.

فهم turn-state و292 و332

الأداة كتركز على X-Codex-Turn-State اللي كيرجع فاستجابة upstream. كترسل طلبات قصيرة من مخارج محتملة، وكتفحص تغليف الـ state ووقتو وعدد كتل التشفير، وكتحفظ القيم اللي كتوافق القواعد التجريبية الحالية؛ فالطلبات الموالية كيتحط داك الـ state وكيستعمل المخرج المرتبط بيه.

  • قواعد الحساب الشخصي: الشكل التجريبي اللي كيقبله المشروع هو 10 كتل، وعادة 292 حرفا؛ 11 كتلة أو 312 حرفا ما كيتعتابروش قيم صالحة.
  • قواعد Team أو Business: الشكل التجريبي اللي كيقبله المشروع هو 12 كتلة، وعادة 332 حرفا؛ 13 كتلة أو 356 حرفا ما كيتعتابروش قيم صالحة.

هاد الأطوال ماشي مؤشرات جودة منشورة رسميا من OpenAI. مطابقة الطول ما كتثبتش أن النموذج بالضرورة فحالة «كامل القوة»، وعدم المطابقة بوحدها ما كتثبتش أن البروكسي خاسر أو أن جودة النموذج نقصات.

التعرّف التلقائي كيرجع للتلميح ديال الخطة فـ الطلب الحالي، وما كيعتمدش غير على الطول باش يحكم أن الحساب Team. إلا ما كانش التلميح واضح، اللوحة كاتوضح القاعدة اللي تستعملات؛ وتقدر حتى تحدد يدويا Personal أو Team.

اختيار الوضع الصارم أو التمرير العادي كحل احتياطي

الوضع الصارم

الوضع الصارم ما كيستعملش state غير صالح. إلا فشل الجمع، الطلب كيرجع السبب بوضوح. إلا كان المستخدم اختار strict بوضوح، التشغيل الموالي ديال setup ما غاديش يبدلو تلقائيا.

التمرير العادي كحل احتياطي

التمرير العادي كحل احتياطي كيوقف الحقن ملي ما كاينش state صالح، ولكن كيبقى كيمرر الطلب الرسمي من المخرج المختار. الطلب الرسمي كيتعاود تمريرو مرة وحدة كحد أقصى، ومعلومات الحالة كاتوضح أن الحقن ما وقعش هاد المرة، بلا ما تتظاهر بأن الجمع نجح.

هاد الوضع ماشي هو إلغاء تحديد المعدّل. إلا بان 401 أو 403 أو 429، الخدمة غادي تبقى ملتازمة بقواعد التوقيف؛ والطلب الرسمي للتوليد اللي تبعث فعلا للـ upstream ما غاديش يعاود يتبعث تلقائيا من بعد تبديل المخرج.

إعداد البروكسي والاشتراكات

إلى كان عندك برنامج بروكسي مركّب، تقدر تعمّر عنوان HTTP أو HTTPS أو SOCKS5 ديال الحاسوب فصفحة «الاشتراكات والبروكسي». الربط التلقائي الأولي كيفحص غير منافذ SOCKS5 المعروفة فوق 127.0.0.1، وما كيفحصش الشبكة المحلية وما كيقراش قاعدة بيانات الحسابات ديال برنامج البروكسي.

المشروع كيدعم حتى اشتراكات Clash/Mihomo YAML وURI سطر بسطر وBase64 URI. المحولات المدمجة للمخارج كتشمل AnyTLS وSS وSSR وVMess وVLESS وTrojan وHysteria وHysteria2 وTUIC، ولكن ما كتستوردش TUN ولا DNS ولا قواعد النظام اللي فالاشتراك.

تقدر تختبر الاتصال، تثبّت مخرجا معينا أو ترجع للاختيار التلقائي من صفحة «التوجيه». خاص تنتبه أن نجاح اختبار الاتصال كيعني غير أن مسار الشبكة خدام، وما كيعنيش بالضرورة أنه تجمع state صالح.

الاستعمال مع CCS والخدمات الوسيطة

بالنسبة لتسجيل الدخول الرسمي ديال ChatGPT، الأداة تقدر تجمع وتحقن الـ state، وكتسمح حتى بإيقاف الحقن. أما API key الرسمي ديال OpenAI، كيدوز حسب قناة API وما كيتعاملش معاه كتسجيل دخول لاشتراك ChatGPT.

بالنسبة لـ Responses الوسيط أو API key ديال CCS، الأداة كتحافظ على طريقة المصادقة الأصلية ديال upstream وAPI key، وما كترسلش بيانات الدخول الرسمية للخدمة الوسيطة وما كتدخلش state الرسمي.

إلى بدّل CCS فعلا الـ provider أو upstream أو طريقة المصادقة، الخدمة غادي توقف التمرير باش ما تبعثش بيانات الاعتماد للهدف الغلط. الترتيب الموصى به للتبديل هو:

  1. وقف ccodex-sleep-state.
  2. بدّل الإعدادات فـ CCS.
  3. عاود شغّل ccodex-sleep-state.
  4. عاود شغّل Codex وأنشئ جلسة جديدة.

إلى بان تعارض فالإعدادات، ما تمسحش ملفات المعاملات وما تبدلش TOML يدويا بلا فحص. دخل لـ «فحص وإصلاح الإعدادات»، عاين التغييرات، وخلي أولوية الإعدادات الحالية ديال CCS، ومن بعد عاود التولي.

إيقاف الخدمة واسترجاع الإعدادات

خاص تبقى نافذة المحطة محلولة والخدمة خدامة. ملي تبغي تخرج، ضغط Ctrl+C فالمحطة، وتسنى حتى يكمل استرجاع الإعدادات، ومن بعد عاود شغّل Codex.

سدّ المتصفح، وإيقاف حقن الـ state، ووقف الخدمة هما ثلاث عمليات مختلفة: سدّ المتصفح ما كيوقفش الخدمة فالخلفية؛ إيقاف الحقن يقدر يخلي تمرير الطلبات مستمرا؛ غير إنهاء عملية الخدمة هو اللي كيدخل فمسار التوقيف واسترجاع الإعدادات.

حلول الأعطال الشائعة

اللوحة كاتبين «ما تدارش التولي»

تشغيل الخدمة ما كيعنيش أن Codex كمل الربط. تبع توجيهات الإعدادات اللي فاللوحة، وتأكد أنك ما كتستعملش الوضع القابل للقراءة فقط --no-config.

Codex كيجاوب، ولكن ما كاين حتى طلب فاللوحة

عاود شغّل Codex وأنشئ جلسة جديدة. إلا ما بان حتى سجل، فحص واش Codex كيستعمل نسخة أخرى من الإعدادات، أو profile أو مشروع أو تغطية على مستوى المهمة، أو واش كاينة نسخة أخرى خدامة فالنفس الوقت.

بان codex_config_changed أو 409

حل «فحص وإصلاح الإعدادات»، عاين الفرق، وخلي أولوية الإعدادات الحالية ديال CCS، ومن بعد عاود التولي.

بان state_unavailable أو 503 محلي

فحص قواعد الحساب وتشخيص الجمع ومدة التبريد. إلا كنت محتاج ترجع للاستعمال، تقدر تختار بوضوح التمرير العادي كحل احتياطي، أو توقف الحقن مؤقتا.

بان state_shape_changed

هاد الشي كيعني أن شكل الـ state ما متوافقش مع القواعد الحالية. الطلب الرسمي يقدر يكون استهلك من الحصة، والخدمة ما غاديش تعاود ترسلو تلقائيا. خاصك تفحص قواعد الحساب والـ upstream والتغييرات الأخيرة، وماشي غير تبدل قواعد الطول.

بان 415

النسخة الجديدة كتدعم ترميز طلبات العميل الرسمي gzip وzstd. تأكد ما كتشغلش نسخة قديمة، ومن بعد شوف التشخيص منزوع الحساسية.

بان 502 أو 503 أو timeout

فحص مخرج البروكسي وحالة خدمة upstream. عطل الشبكة ما كيتحلش بتبديل طول الـ state.

بان 401 أو 403 أو 429

فحص على التوالي حالة تسجيل الدخول، وصلاحيات الوصول، أو تسنى حتى يسالي تحديد المعدّل. المشروع ما غاديش يحاول يتجاوز هاد الشروط ديال التوقيف بتبديل IP باستمرار.

ملف الإعدادات خاسر

إلى تخسر JSON ديال الخدمة، setup كيفتح لوحة إصلاح للقراءة فقط. أكد النسخة الاحتياطية قبل ما تعاود البناء والتشغيل. إلا تخسر TOML ديال Codex، خزن النسخة الاحتياطية أولا، ومن بعد استعمل مسار إعادة بناء واضح أو خلّي CCS يعاود ينشئو، وما تحاولش تخمّن API key من ملف خاسر.

جمع التشخيص باستعمال doctor

قبل ما تعطي معلومات حل المشاكل للمسؤولين أو لأعضاء المجموعة أو لـ AI Agent، يقدر مستعملو Windows يشغلو:

.\ccodex-sleep-state.exe doctor

المستخدمين ديال macOS يشغلو:

./ccodex-sleep-state doctor

فاش كتبعث الملاحظات، غالباً كافي توفّر نظام التشغيل، نسخة Codex، نسخة الأداة، رسالة الخطأ، والتشخيص الضروري من بعد ما تحيد منّو المعطيات الحساسة. ما تبعثش auth.json، كلمة سر الإدارة، روابط الاشتراك كاملة، بيانات الدخول للحساب، ولا مجلد البيانات كامل.

نصائح متقدمة للاستعمال

تأكّد من مجلد الإعدادات المستعمل فعلياً

إلا كنت عيّنت CODEX_HOME، الأداة غادي تتبع داك المسار. وكتدعم حتى CCODEX_STATE_HOME و --data-dir. إلا ما كنتيش متأكد شنو هي نسخة الإعدادات المستعملة دابا، خاصك تشغّل:

ccodex-sleep-state paths

ما تعتمدش غير على سميّة المجلد باش تخمّن فين كاين الإعداد الحالي.

فهم تكلفة الجمع ومدة التهدئة

جمع state كيستعمل الكوطا الحقيقية. افتراضياً، كل دورة كتجرّب حتى لـ 6 مخارج محتملة، وكل فحص كيقدر يدوم حتى لـ 20 ثانية، وخاص تكون مدة فاصلة لا تقل على 180 ثانية بين جوج دورات ديال الجمع. الطلبات العادية ديال التوليد ما كتعاودش تلقائياً، لذلك ما تعتبرش الجمع ولا تبديل المخرج إعادة محاولة بلا تكلفة.

العزل حسب النموذج والحساب

ما تعاودش تستعمل نفس state بين Astra وSol وTerra. من بعد ما تبدّل النموذج الافتراضي، خاصك تعاود تشغّل Codex ولا تفتح جلسة جديدة. واش النموذج قابل للاستعمال فعلاً كيبقى متعلق بصلاحيات الحساب وبواش الخدمة العليا كتوفّر داك النموذج.

الحكم بحذر على دعم الضغط

السجلات ديال المشروع كاتبيّن أن الضغط عن بُعد الحقيقي ديال Sol الجديد V2، والاستمرار فالرد من بعد الضغط، نجحو؛ أما V1 القديم اللي كيتصل مباشرة بالخدمة العليا فرجّع 404. الاختبار اللي تدار قبل الإرسال عبر الجسر كان غير اختباراً لعميل محلي محاكى، وفالقبول الحقيقي الإضافي وقع حتى فشل فالنقل عبر المخرج، لذلك ما نقدرواش نعتابرو أن جميع طرق الضغط خدامة مزيان.

القيود المهمة وحدود الأمان

  • النماذج المدعومة حالياً غير هي gpt-6-astra وgpt-5.6-sol وgpt-5.6-terra.
  • دابا كيتستعمل Responses HTTP وSSE، وما كيدعمش WebSocket، وما كيوفّرش تحويل عشوائي بين البروتوكولات.
  • الأداة ما غاديش تفعّل صلاحية النموذج للحساب نيابةً عنك، وما غاديش تبدّل النموذج فصمت.
  • ما كتبدّلش بروكسي النظام، وما كتجدّدش تسجيل الدخول ديال Codex، وما كتستعملش بطاقة إعادة الضبط.
  • كون خدمة الوسيط قادرة تتصل ما كيعنيش أن طريقة turn-state صالحة مع داك الوسيط.
  • قيم المصادقة وstate الكامل ما كيتكتبوش فاللوغ العادي، والمشروع ما فيهش تيليمتري، وما كيطلعش اللوغات للمؤلف.
  • إعدادات البروكسي المحلي والنسخ الاحتياطية ديال الاسترجاع يقدرو يبقاو فيهم معلومات حساسة، وخاصك تحافظ عليهم مزيان بوحدك.

معلومات للمطورين

المشروع مكتوب بـ Go، وصفحة الإدارة الساكنة مدموجة فالثنائي، وما كتحتاجش تشغّل خدمة واجهة أمامية بوحدها. البنية الرئيسية للكود فيها:

  • cmd/ccodex-sleep-state: الأوامر، نقطة الدخول بنقرة وحدة، والتشخيص.
  • internal/codexconfig: تحليل provider، تولّي التحكم فالإعدادات، الفحص الدلالي، والإصلاح القابل للاسترجاع.
  • internal/gateway: العزل بين النماذج والحسابات، الجمع، الضغط، والتحويل المتدفق.
  • internal/turnstate: قواعد تغليف state، القيمة الحالية، والقيمة الاحتياطية.
  • internal/proxyroute: تحليل الاشتراكات والاتصالات الخارجة.
  • internal/service: النسخة الوحيدة، لوحة الويب، التبديل السريع للإعدادات، وتشخيص الطلبات.

المشروع مرخّص برخصة GPL-3.0، وجزء البروكسي عاود استعمال Mihomo. هاد المشروع ما عندوش علاقة تبعية بـ OpenAI ولا Mihomo ولا GPT-Load.

الخلاصة

القيمة الأساسية ديال ccodex-sleep-state ماشي هي الوعد بإلغاء تحديد المعدل ولا باسترجاع جودة النموذج، ولكن هي أنه كيخلّي الولوج لـ Codex، ومخارج البروكسي، وturn-state، والنسخ الاحتياطية ديال الإعدادات، وتشخيص الأخطاء، باينين وقابلين للفحص والاسترجاع. فالأول، من الأحسن تتأكد أن Codex الأصلي خدام، ومن بعد شغّل setup، وأكّد تولّي التحكم من خلال اللوحة، وعاود شغّل Codex وفتح جلسة جديدة. إلا وقع مشكل، شوف أولاً تشخيص اللوحة وشغّل doctor، وما تبدّلش الإعدادات بعشوائية وما تسرّبش بيانات الدخول الحساسة.