ظهور «thread not found» في Codex لا يعني بالضرورة أن سجل المحادثة اختفى. تحقق أولا مما إذا كان الإرسال وحده يفشل، أم أنك لا تستطيع فتح المحادثة أيضا.

ابدأ بقراءة بقية رسالة الخطأ

ميّز الأعراض قبل حذف السجل

السجل يفتح / الإرسال يفشل
thread not found
جرّب إعادة تحميل المحادثة
قراءة السجل والإرسال عمليتان منفصلتان
يتعذر الفتح / الأرشفة تفشل أيضا
os error 2 / أخطاء مرتبطة بمكان الحفظ
افحص السجل المحفوظ وأبلغ عن المشكلة
لا تبدأ بتغيير أسماء الملفات أو تعديل قاعدة البيانات
الإرسال يفشل بعد انتظار طويل
Timeout / request expired
تحقق من الانتظار أو توقف الاستجابة
قد تعكس رسائل الإرسال المتشابهة أعطالا مختلفة
استخدم الأعراض لتحديد ما ينبغي فحصه. الرسالة وحدها لا تثبت سبب العطل.

1. ما الذي لا يجده Codex عند ظهور thread not found؟

Codex من OpenAI قد يعرض خطأ مثل الآتي عند إرسال متابعة إلى مهمة موجودة. يحدد المعرّف المحادثة المعنية، وقد حجبناه هنا. السطر الأول أدناه ترجمة للرسالة اليابانية التي ظهرت في حالتنا.

حدث خطأ أثناء إرسال الرسالة
thread not found: <معرّف المحادثة>

يتناول هذا المقال المهام المحلية الموجودة في تطبيق سطح المكتب. في 21 سبتمبر 2026، قارنّا سجلات فشل الإرسال من جهازنا بالشفرة المصدرية المنشورة وبلاغات المستخدمين. نركز على حالة جهازنا الذي يعمل بنظام Windows، ولا نقدم طريقة إصلاح ثبت نجاحها في جميع البيئات.

قراءة السجل والإرسال يحتاجان إلى فحصين منفصلين

السجل المحفوظ

قراءة التبادلات السابقة

thread/read
استرجاع البيانات المخزنة

محادثة محمّلة للتنفيذ

استقبال تعليمة جديدة

thread/resume → turn/start
استئناف المحادثة ← بدء التعليمة التالية

حتى لو تعاملت الواجهة مع المحادثة على أنها مستأنفة…

قد يفشل الإرسال إذا تعذر العثور على المحادثة اللازمة للتنفيذ، مع بقاء سجلها السابق ظاهرا.

رسم توضيحي يستند إلى المواصفات والشفرة المنشورتين. افحص الواجهة والسجل المحفوظ وحالة التنفيذ كلّا على حدة.

مواصفات App Server الرسمية توضح أن thread/read يقرأ السجل المحفوظ دون تحميل المحادثة في ذاكرة التنفيذ. وتختلف وظيفته عن thread/resume الذي يستأنف المحادثة لمواصلة العمل. هذه أسماء عمليات الاتصال الداخلية للتطبيق، وليست أوامر تكتبها في المحادثة.

راجعنا أيضا إصدار CLI رقم 0.155.0-alpha.9 المسجل في البيانات الوصفية المحفوظة على جهازنا، وقارنّاه مع الشفرة المصدرية المنشورة لعملية الإرسال في الإصدار المقابل. عند بدء turn/start، يحاول المعالج جلب المحادثة ويعيد thread not found إذا فشل العثور عليها. ويبحث في قائمة المحادثات الموجودة في الذاكرة؛ لذلك لا يكفي هذا الخطأ وحده للاستنتاج بأن الملفات المحفوظة اختفت.

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

2. حالة فعلية: عودة الإرسال دون حذف السجل

في بيئة عمل AI Arte، ظهر الخطأ عندما أرسلنا تعليمة لمواصلة العمل إلى مهمة أخرى في إصدار تطبيق Windows رقم 26.915.31029. يلخص التسلسل التالي سجلات التطبيق بتاريخ 21 سبتمبر 2026. جميع الأوقات بتوقيت اليابان القياسي (JST)، مع حذف معرّفات المحادثات وتفاصيل العمل والمعلومات الشخصية.

من إعادة المحاولة في الواجهة إلى إعادة التحميل الفعلية

17:26:51 / 17:26:59

فشل الإرسال. كانت الاستجابة الداخلية thread not found

كانت الواجهة تتعامل مع المحادثة على أنها مستأنفة بالفعل

18:08:36

الخطأ نفسه بعد إعادة فتح المهمة

الانتقال إلى شاشة أخرى والعودة لم يحل المشكلة

19:00:2819:08:49

رصد حالة عدم التحميل ← نجاح إعادة تحميل المحادثة

notLoadedneeds_resume → نجاح thread/resume

19:09:07 / 19:11:56

قُبلت تعليمات جديدة ونجح الإرسال

أظهر فحص لاحق للسجل أن حالتي التبادل كانتا completed، دون خطأ

المصدر: السجلات المحفوظة على جهاز عمل AI Arte. كان الإرسال قد تعافى بالفعل عند بدء التحقيق؛ لم نُعد تشغيل التطبيق أو نصلح السجل ضمن التحقيق.

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

ما أثبتته هذه الحالة

  • السجل كان لا يزال موجودا
  • نجح الإرسال بعد إعادة التحميل
  • لم يغيّر التحقيق السجل أو الإعدادات

ما لا تثبته هذه الحالة

  • السبب الدقيق لاختفاء المحادثة من حالة التنفيذ
  • أن إعادة التشغيل تصلح المشكلة دائما
  • وجود سبب واحد مشترك بين جميع المستخدمين

التفسير المرجح هو عدم تطابق حالة «مستأنفة» في الواجهة مع الحالة الداخلية. لكننا لم نُعد إنتاج المشكلة لتحديد كيف نشأ هذا الاختلاف بالضبط. كما أن فحص حالة آخر تبادلين لا يساوي التحقق من صحة العمل المنجز خلالهما. تقتصر اختبارات التعافي هنا على الإرسال وحالة المحادثة.

3. ما الذي تجربه إذا كان الإرسال وحده يفشل؟

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

01

افحص المحادثة والعمل السابق مباشرة

تحقق من إمكانية قراءة الرسائل السابقة، ومما إذا كانت التعليمة الأخيرة تبدو مكتملة أو قيد التنفيذ أو متوقفة بخطأ. احفظ أي ملفات عدّلتها وسجل مكان العمل. تعطل عرض المحادثة لا يعني وحده أن ملفات عملك ضاعت.

02

انتظر التحميل ثم أعد فتح المهمة نفسها

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

03

افحص الأعمال الأخرى ثم أعد تشغيل التطبيق بالطريقة المعتادة

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

04

تحقق من اكتمال استجابة قصيرة

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

يمكنك مثلا حصر طلب التحقق كما يلي. هذه تعليمة للنموذج وليست أمرا يصلح التطبيق. وقد يُحتسب إرسالها واستجابة النموذج ضمن الاستخدام المعتاد.

هذا اختبار اتصال. لا تستأنف العمل السابق، ولا تقرأ أو تكتب
ملفات، ولا تستدع أي أدوات. أجب فقط: «تمكنت من الرد».

البلاغ #30710 في مستودع OpenAI على GitHub يصف حالة على Windows تحسن فيها فشل الإرسال عقب فتح المحادثة مباشرة بعد إعادة التشغيل. ويوصي دليل استكشاف الأخطاء الرسمي بانتظار اكتمال المهام النشطة ثم إعادة التشغيل عند تجمد الطرفية المدمجة. هذه الإرشادات ليست إجراء مخصصا لإصلاح خطأ الإرسال هذا. ولا يقدم أي من المصدرين ضمانا بأن إعادة التشغيل تصلح كل حالات thread not found.

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

4. رسائل متشابهة وأسباب وحلول مختلفة

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

العرض الظاهرما ينبغي فحصهما لا ينبغي افتراضه
السجل مقروء لكن الإرسال يفشلهل يعمل الإرسال بعد إعادة التحميل؟قراءة السجل لا تضمن نجاح الإرسال
os error 2 / الأرشفة تفشل أيضاالملفات المحفوظة والمواقع المشار إليهاقد لا تكفي إعادة التشغيل وحدها
Timeout / request expiredتوقف الاستجابة والانتظار وحالة العمليات الأخرىلا تخلط ذلك باستجابة thread not found الفورية
تفشل المتابعة والإيقاف معاهل العمل جار فعلا أم أن العرض قديم؟لا تعتمد على مؤشر التنفيذ في الواجهة وحده

للاطلاع على مثال بقي فيه السجل متاحا، راجع تعقيب مستخدم macOS في #30710. كانت الواجهة تعتبر المحادثة مستأنفة، لكن الإرسال فشل مرارا، ثم نجحت إعادة التحميل لاحقا من نسخة جديدة من الواجهة. هذا بلاغ عن عدم اتساق الحالة لا يفسره مجرد تزامن خاطئ لحظة الفتح. يشبه حالتنا، لكن تطابق السبب لم يثبت.

في المقابل، يصف بلاغ Windows رقم #39179 فشل الإرسال والأرشفة واستمرار المشكلة بعد إعادة التشغيل. ويتضمن #39575 أيضا تشخيصا يتعلق بالطوابع الزمنية في أسماء الملفات المحفوظة وآلية العثور عليها. لكنها تحقيقات أجراها مستخدمون. وجود بادئة في المسار أو فرق توقيت لا يثبت وحده أن بياناتك تالفة.

للفشل بعد الانتظار، راجع بلاغ انتهاء مهلة الإرسال #27395؛ وللفشل الذي يشمل الإيقاف أيضا، راجع بلاغ عدم اتساق السجل وحالة التنفيذ #42604. وجود بلاغات مشابهة لا يعني أن المشكلة تتكرر بكثرة لدى جميع المستخدمين. لم نجد في هذا التحقيق معدل حدوث محسوبا نسبة إلى عدد المستخدمين أو محاولات الإرسال.

5. الفحص ونقل العمل إذا استمرت المشكلة

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

افحص المهمة المستهدفة للقراءة فقط.
معرّف الهدف: ضع هنا معرّف المحادثة الظاهر في الخطأ

أبلغني بإمكانية قراءة السجل وحالة آخر تبادل وأي أخطاء.
لا ترسل رسائل إلى مهمة أخرى، ولا تستأنف عملا سابقا، ولا تنشئ تفرعا أو تؤرشف المهمة،
ولا تغير الإعدادات أو تعدل قاعدة البيانات أو تنقل ملفات السجل أو تحذفها.
إذا لم تتوفر أدوات لإدارة المهام، فاذكر هذا القيد.

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

اختر الخطوة التالية بحسب نتيجة الفحص

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

تعقيب في #39179 يصف إرسال فحص قصير من مهمة أخرى سليمة؛ وبعد اكتمال استجابته عادت المحادثة العادية أيضا. لكن تعقيبا آخر يذكر فشل إرسال مماثل، بينما قُبلت تعليمة جديدة في تفرع من السجل المكتمل. وردا على هذه الحالة المخالفة، أوضح صاحب البلاغ السابق أن هذه الطريقة ليست حلا عاما.

إنشاء تفرع هو خيار لنقل السجل المكتمل إلى مهمة أخرى، وليس إصلاحا للمهمة الأصلية. لا تفترض أن العمل غير المكتمل سيُستعاد كما كان. بعد النقل، افحص مجلد العمل والملفات المعدلة وآخر خطوة اكتملت. قبول تعليمة جديدة في بلاغ منشور لا يضمن كذلك أن العمل اللاحق انتهى بصورة صحيحة.

سجل المحادثة وملفات العمل شيئان منفصلان أيضا. قد تبقى تعديلات المشروع حتى إن تعذر فتح المحادثة. والعكس صحيح: إمكانية قراءة السجل لا تضمن أن الملفات محدثة. إذا كان المشروع يستخدم Git، راجع قائمة التغييرات وحدد ما نُفذ بالفعل قبل المتابعة.

6. معلومات تحتفظ بها عند طلب المساعدة

ميّز ما نجح مما فشل بدلا من الاكتفاء بعبارة «لا أستطيع الإرسال». يساعد ذكر إصدار التطبيق ونظام التشغيل والوقت ومنطقته الزمنية ومعرّف المحادثة والإجراء السابق في فصل أنواع الأعطال المختلفة. لا حاجة إلى نشر المحادثة كاملة منذ البداية.

نموذج معلومات البلاغ

البيئة
إصدار التطبيق / نظام التشغيل / مكان التنفيذ، محليا أو عن بعد مثلا
حدوث المشكلة
الوقت والمنطقة الزمنية / نص الخطأ كاملا / الإجراء السابق
ما يعمل وما لا يعمل
نتائج عرض السجل / الإرسال / الإيقاف / الأرشفة
الإجراءات المجربة
ما الذي تغير قبل إعادة الفتح أو التشغيل وبعدهما؟

إذا أمكنك فحص السجلات، انظر إلى ما يحيط بالطلب الذي فشل. يشير method=turn/start إلى بدء تعليمة، ويمثل thread/resume استئناف المحادثة، ويوفر errorCode قرينة عن الاستجابة الداخلية. احتفظ بأسطر النجاح أيضا، وميّز بين فشل واحد يظهر في عدة أسطر وفشل عدة طلبات بالفعل.

كانت سجلات التطبيق على جهاز Windows لدينا في %LOCALAPPDATA%\Codex\Logs. هذا هو الموقع الذي تحققنا منه على جهازنا، وليس ضمانا لجميع طرق توزيع التطبيق. تحدد الوثائق الرسمية مكان حفظ الجلسات في $CODEX_HOME/sessions، والقيمة الافتراضية هي ~/.codex/sessions. قد يعني اختلاف الإعدادات أو مكان التنفيذ أن البيانات المطلوبة ليست في المجلد الذي تفحصه. عدم العثور عليها بالبحث لا يثبت أنها حُذفت.

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

7. تحقق من التعافي باستجابة قصيرة

بدلا من البدء بحذف السجل، افحص ثلاثة أمور على حدة: هل يمكن قراءته، وهل يمكن استئنافه، وهل تكتمل تعليمة جديدة؟ نجح الإرسال بعد إعادة التحميل في حالتنا، لكن ذلك لا يثبت أن الطريقة نفسها تصلح أخطاء أخرى في مكان الحفظ.

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

Claude Code قد يعرض أيضا Prompt is too long، وهو متعلق بسعة الإدخال، أو MCP error -32000: Connection closed، وهو يستدعي فحص الاتصال بالأدوات الخارجية. هذان خطآن مختلفان في منتج آخر. حتى إن بدا العرض واحدا، أي تعذر توجيه تعليمات للذكاء الاصطناعي، فاختر الإجراء بناء على اسم المنتج ونص الخطأ كاملا. لا تنقل أوامر معالجتهما مباشرة إلى محادثة Codex.

الأسئلة الشائعة

س. هل يعني thread not found أن المحادثة حُذفت؟
ج. ليس بالضرورة. قد يبقى السجل المحفوظ مقروءا رغم عدم تحميل محادثة التنفيذ اللازمة لاستقبال الرسائل. لكن قد تكون هناك أيضا مشكلة في الإشارة إلى البيانات المحفوظة أو في الملفات نفسها؛ لذا تحقق من إمكانية قراءة السجل فعليا.

س. هل notLoaded حالة خطأ؟
ج. اسم الحالة وحده لا يثبت وجود خطأ. قد يصف وضعا طبيعيا تكون فيه المحادثة المحفوظة غير محمّلة حاليا للتنفيذ. تحقق من استئنافها عند المتابعة ومن اكتمال استجابة قصيرة.

س. هل تصلح إعادة التشغيل المشكلة دائما؟
ج. لا. تصف بعض البلاغات تحسنا، بينما تصف أخرى استمرار أخطاء مكان الحفظ أو الأرشفة بعد إعادة التشغيل. على جهازنا، لاحظنا نجاح الإرسال بعد إعادة تحميل المحادثة، ولم نُجر تجربة لاختبار أثر إعادة التشغيل.

س. هل يحل التحديث إلى أحدث إصدار المشكلة؟
ج. وقت مراجعتنا، لم نتحقق من إصدار معين يحل هذه الفئة من الأعراض بالكامل. سجل إصدار التطبيق والنتيجة قبل التحديث وبعده. إصدار CLI المثبت بصورة مستقلة ليس بالضرورة مطابقا لإصدار Codex المرفق بالتطبيق.