Codex disable_response_storage: إعداد ZDR محذوف
اعتبارًا من 2026-10-08، يُعد disable_response_storage إعدادًا قديمًا في Codex CLI أُزيل: فقد أضافه PR #714 في مستودع Codex مفتوح المصدر إلى config.toml في 2025-04-28 لمؤسسات OpenAI التي لديها الاحتفاظ الصفري بالبيانات (ZDR)، وينص PR #3212، المدمج في 2025-09-05، على أن «خيار الإعداد disable_response_storage أُزيل.» شُحن التغيير في rust-v0.30.0، ولا يعثر البحث في config-reference الحالي على مفتاح بهذا الاسم. تغطي هذه الصفحة ما كان يفعله، وسبب إسقاطه، وما يحدث إذا كان إعداد قديم لا يزال يحتويه.
آخر تحديث 2026-11-14
مفتاح واحد لـ Claude وGPT وأبرز النماذج الصينية، والفوترة حسب token، ويعمل خلال دقائق.
- الفوترة حسب token — الأسعار المباشرة على /models
- الدفع بالبطاقة (Visa / Mastercard) أو Apple Pay أو Google Pay أو العملات الرقمية
- خدمة ذاتية: شحن الرصيد والتفعيل فورًا
أربع نقاط رئيسية
أُضيف إلى config.toml (PR #714)
يقول PR إن تمرير علامة سطر الأوامر في كل مرة كان مرهقًا لعملاء ZDR، لذا أتاح لهم ضبط القيمة مرة واحدة في config.toml والانتهاء من ذلك.
أُزيل (PR #3212)
ينص قسم التغيير الكاسر في PR المعنون «عدم تخزين الطلبات مطلقًا» على أن الخيار أُزيل؛ ويسرد rust-v0.30.0، الصادر في اليوم نفسه، PR المذكور ضمن تغييراته المدمجة.
كيف تُرسل الطلبات بعد الإزالة
ثبّت PR #3212 القيمة store على false في طلبات Responses؛ وفي rust-v0.161.0، الصادر في 2026-10-07، لا يزال مُنشئ الطلبات يضبط store: false.
إذا كان إعداد قديم لا يزال يحتويه
عندما يحمّل rust-v0.161.0 الملف config.toml، يسرد المفاتيح التي لا يتعرف عليها في تحذير بدء التشغيل ويضع علامة «يُتجاهل» على كل مفتاح منها؛ وعند تشغيله مع --strict-config، يتوقف بخطأ بدلًا من ذلك.
ما كان عليه ولماذا وُجد
اعتبارًا من 2026-10-08، يُعد disable_response_storage إعدادًا منطقيًا محذوفًا في Codex CLI، ولا يعثر البحث في config-reference الحالي على مفتاح بهذا الاسم. نشأ من الاحتفاظ الصفري بالبيانات (ZDR): منح PR #642، المدمج في 2025-04-25، Rust CLI أولًا علامة --disable-response-storage، ويوضح وصفه أنه بالنسبة لعميل يستخدم ZDR، لا يكون previous_response_id متاحًا أبدًا، لذا يجب أن يحمل إدخال كل طلب كامل نص المحادثة حتى تلك اللحظة. بعد ثلاثة أيام، جعل PR #714 هذا الإعداد قابلًا للضبط في config.toml؛ ويقول تعليق المصدر «تعطيل تخزين الاستجابة من جانب الخادم (يرسل سياق المحادثة الكامل مع كل طلب)» ويشير إلى أن ذلك كان ضروريًا حينها لعملاء OpenAI الذين اختاروا ZDR. وإذا تُرك دون ضبط، كان false.
كيف صاغ PR #3212 الإزالة (2025-09-05)
عنوان PR #3212 هو «عدم تخزين الطلبات مطلقًا»، ويتضمن قسم التغيير الكاسر فيه جملة واحدة: «خيار الإعداد disable_response_storage أُزيل.» السبب المذكور: عندما تُرسل معرّفات العناصر إلى Responses API، فإنه يحمّلها من قاعدة البيانات ويتجاهل القيم المقدمة، و«يضيف ذلك زمن استجابة إضافيًا»؛ كما أن إسقاط الوضع الذي يخزّن الطلبات يبسّط الشيفرة. حذف PR نفسه قسم disable_response_storage من docs/config.md في المستودع وقلّص متن docs/zdr.md إلى سطر واحد: «يدعم Codex CLI بشكل أصلي مؤسسات OpenAI التي فعّلت الاحتفاظ الصفري بالبيانات (ZDR).» شُحن في rust-v0.30.0، الصادر في اليوم نفسه، وتُدرجه ملاحظاته تحت عنوان «عدم تخزين الطلبات مطلقًا».
الجدول الزمني
دُمج PR #714، لذا يمكن وضع disable_response_storage = true في config.toml؛ وكان PR #642، المدمج في 2025-04-25، قد أضاف بالفعل علامة سطر الأوامر --disable-response-storage.
دُمج PR #3212، «عدم تخزين الطلبات»: أُزيل الخيار وتتحول الطلبات إلى store: false. ويُشحن rust-v0.30.0 في اليوم نفسه متضمنًا إياه.
تم التحقق في هذا التاريخ: لا يعثر البحث في config-reference الحالي على مفتاح بهذا الاسم، ويتعامل مصدر rust-v0.161.0 (الصادر في 2026-10-07) معه كإعداد غير معروف ويسرده في تحذير بدء التشغيل.
مؤكد مقابل غير متحقق منه
مؤكد (حرفيًا في مستودع Codex مفتوح المصدر ووثائق OpenAI الرسمية)
يمكن التحقق مما يلي كلمة بكلمة في مستودع Codex مفتوح المصدر أو في وثائق Codex الرسمية من OpenAI: أضاف PR #642 (دُمج في 2025-04-25) العلامة --disable-response-storage لدعم عملاء ZDR؛ وجعل PR #714 (دُمج في 2025-04-28) المفتاح قابلًا للتعيين في config.toml؛ ويذكر PR #3212 (دُمج في 2025-09-05) «أُزيل خيار الإعداد disable_response_storage.» كما غيّر store في الطلبات إلى false؛ وتسرد ملاحظات إصدار rust-v0.30.0 PR #3212؛ وحتى 2026-10-08، لا يعثر بحث في config-reference الحالي على هذا المفتاح؛ وبنية إعداد rust-v0.161.0 لا تحتوي هذا الحقل، والمفاتيح غير المعروفة تطلق تحذيرًا يبدأ بـ «يتجاهل Codex»؛ وتنص وثائق CLI الرسمية على أن --strict-config يعطي خطأ عندما يحتوي config.toml على حقول لا يتعرف عليها ذلك الإصدار من Codex. أمر آخر: لا يزال docs/config.md ضمن وسم rust-v0.40.0 (صدر في 2025-09-23، بعد PR #3212) يدرج المفتاح في جدوله مع الملاحظة «مطلوب لمؤسسات ZDR». اعتمد الوثائق الحالية.
غير مُتحقَّق منه أو لم يذكره المزوّد
لم يتم التحقق مما يلي، لذا لا تستنتج منه: أولًا، ما إذا كانت الإصدارات بين rust-v0.30.0 وrust-v0.161.0 قد تجاهلت هذا المفتاح بصمت أو حذّرت منه؛ فتحققت هذه الصفحة من مصدر rust-v0.161.0 فقط، لا من كل إصدار. ثانيًا، لم يعثر بحث في وثائق Codex الحالية من OpenAI على قسم مخصص لـ Codex CLI وZDR؛ فعبارة «يدعم أصليًا» تأتي من وثيقة المستودع التي أعاد PR #3212 كتابتها في 2025-09-05. ثالثًا، اقترح مستخدم على GitHub خيارًا صريحًا للاشتراك في تخزين الاستجابات للمزوّدين المخصصين؛ وحتى تاريخ الفحص لا يزال ذلك الاقتراح مفتوحًا وليس إعدادًا حاليًا. رابعًا، يخضع ما إذا كانت مؤسستك قد فعّلت ZDR وكيفية الاحتفاظ ببياناتها لإعدادات حسابك واتفاقيتك مع OpenAI؛ ولا تصدر هذه الصفحة حكمًا بشأن ذلك.
قبل الإزالة وبعدها
قبل (ما قبل rust-v0.30.0)
كان عدم تعيينه يعني false. وكان تعيينه إلى true يوقف تخزين الاستجابات على جانب الخادم ويرسل سياق المحادثة الكامل مع كل طلب. وكان docs/config.md آنذاك يقول إن الحسابات التي لديها ZDR يجب أن تعيّنه إلى true، وكان docs/zdr.md يسرد الخطأ المطابق الذي ينتهي بـ «لا يمكن استخدام الاستجابة السابقة لهذه المؤسسة بسبب عدم الاحتفاظ بالبيانات». وفي مصدر ذلك الوقت، لم تكن الطلبات المنفذة أثناء تسجيل الدخول باستخدام ChatGPT تُخزَّن على أي حال.
بعد (ابتداءً من rust-v0.30.0)
اختفى المفتاح مع الوضع الذي يخزّن الطلبات: ثبّت PR #3212 قيمة store على false في الطلبات، ويقول وصفه إن إسقاط ذلك الوضع يبسّط الكود. وفي rust-v0.161.0، الصادر في 2026-10-07، لا يزال باني طلبات Responses يعيّن store: false. وأعاد PR #3212 كتابة وثيقة المستودع لتقرأ «يدعم Codex CLI أصليًا مؤسسات OpenAI التي يكون فيها عدم الاحتفاظ بالبيانات (ZDR) مفعّلًا».
تنظيف إعداد قديم والاتصال بـ QCode
① افتح ~/.codex/config.toml واحذف سطر disable_response_storage؛ وإذا كنت قد عيّنته أيضًا داخل قسم profile فاحذفه كذلك (أزال PR #3212 من إعداد profile أيضًا). احذف --config disable_response_storage=true من أي سكربتات تشغيل. ② شغّل codex --strict-config مرة واحدة: تنص وثائق CLI الرسمية على أنه يعطي خطأ عندما يحتوي config.toml على حقول لا يتعرف عليها ذلك الإصدار. وفي مصدر rust-v0.161.0، يبلغ فقط عن أول حقل غير معروف في كل تشغيل (unknown configuration field مع اسم الحقل)، لذا أصلحه وأعد التشغيل حتى يختفي الخطأ. ③ عند تشغيل عادي بدون ذلك العلم، إذا ما زلت ترى تحذيرًا يحتوي على «Check for typos or deprecated settings.» فاحذف كل مفتاح يدرجه. ④ لاستخدام QCode، اتبع وثائق QCode وضع ما يلي في config.toml: model_provider = "qcode"، model = "gpt-6.1-sol"، model_reasoning_effort = "high"، ثم قسم [model_providers.qcode] يتضمن name = "qcode"، base_url = "https://api.qcode.cc/openai"، wire_api = "responses"، requires_openai_auth = true (اسم المزوّد متروك لك؛ ومثال الوثائق يستخدم qcode). ⑤ ضع مفتاحك (يبدأ بـ cr_) في OPENAI_API_KEY في ~/.codex/auth.json. ولتمرير المفتاح عبر متغير بيئة بدلًا من ذلك، استبدل requires_openai_auth = true في الجدول بـ env_key = "QCODE_API_KEY" (اسم المتغير أيضًا متروك لك) ثم نفّذ export QCODE_API_KEY. استخدم أحد الخيارين: تنص الوثائق الرسمية على أن Codex يتجاهل env_key عندما تكون requires_openai_auth = true.
تشغيل Codex على QCode
وفقًا لوثائق QCode، يتصل Codex بـ QCode عبر بروتوكول OpenAI Responses: في config.toml عيّن base_url = "https://api.qcode.cc/openai" وwire_api = "responses"، واستخدم مفتاح API الخاص بك من QCode، الذي يبدأ بـ cr_. تخدم نقطة النهاية هذه نماذج GPT؛ ولا تمر نماذج Claude والنماذج المطوّرة صينيًا عبرها. أما بالنسبة إلى النموذج، فاستخدم gpt-6.1-sol كما في مثال الوثائق، أو gpt-6-sol. لا يتضمن مثال إعداد Codex في وثائق QCode سطر disable_response_storage، لذا اضبطه تمامًا كما هو موثق. الفوترة لكل token؛ راجع /models لمعرفة سعر كل نموذج.
الأسئلة الشائعة
ما هو disable_response_storage؟
كان إعدادًا منطقيًا مبكرًا في Codex CLI، وأُزيل في 2025-09-05. عند ضبطه على true، كان يجعل Codex يوقف تخزين الاستجابات من جهة الخادم ويرسل سياق المحادثة الكامل مع كل طلب؛ وكان مخصصًا لمؤسسات OpenAI التي لديها Zero Data Retention (ZDR) مفعّل. أضافه PR #714 إلى config.toml في 2025-04-28، وأزاله PR #3212 في 2025-09-05، وصدر ضمن rust-v0.30.0.
هل ما زلت بحاجة إلى disable_response_storage = true؟
لا، وضبطه ليس له أي تأثير. اعتبارًا من 2026-10-08، لا يعثر البحث في config-reference الحالي على مفتاح كهذا؛ ينص PR #3212 على «The disable_response_storage configuration option is removed.» وحوّل الطلبات إلى store: false. ويُدرجه rust-v0.161.0 كإعداد متجاهَل عند تحميل الإعداد.
هل يتسبب config.toml قديم لا يزال يحتويه في خطأ؟
ليس افتراضيًا، لكنك ستتلقى تحذيرًا. وفقًا لمصدر rust-v0.161.0، تظهر المفاتيح غير المتعرّف عليها في تحذير بدء التشغيل يبدأ بـ «Codex is ignoring» مع عدد الإعدادات المتجاهَلة، ويضيف «Check for typos or deprecated settings.»، ثم يسرد كل مفتاح متبوعًا بـ «is ignored.» إذا شغّلت باستخدام --strict-config، فتقول وثائق CLI الرسمية إن Codex يُصدر خطأً عندما يحتوي config.toml على حقول لا يتعرّف عليها؛ ونص الخطأ في المصدر هو unknown configuration field متبوعًا باسم الحقل.
هل يوجد إعداد أحدث يحل محله؟
اعتبارًا من 2026-10-08، لا يعثر البحث في config-reference الحالي على مفتاح كهذا، ولا على أي مفتاح متعلق بـ ZDR أو تخزين الاستجابات. ويشرح PR #3212 السبب: فقد ضبط store على false في طلبات Responses، وأسقط الوضع الذي يخزّن الطلبات، وأعاد كتابة وثيقة المستودع لتنص على أن Codex CLI تدعم بشكل أصلي مؤسسات OpenAI التي فعّلت Zero Data Retention (ZDR).
ما الخطأ الذي كانت مؤسسات ZDR تصطدم به سابقًا؟
كان ملف docs/zdr.md قبل الإزالة يسرد خطأً ينتهي بـ «Message: 400 Previous response cannot be used for this organization due to Zero Data Retention.» وكان الإصلاح آنذاك هو التشغيل باستخدام --config disable_response_storage=true أو إضافة disable_response_storage = true إلى ~/.codex/config.toml. حذف PR #3212 ذلك المقطع، ولم تعد الإصدارات الحالية تتضمن هذا الإعداد.
كيف أكتب config.toml عند استخدام Codex عبر QCode؟
اتبع وثائق QCode: base_url = "https://api.qcode.cc/openai"، وwire_api = "responses"، ومفتاح QCode يبدأ بـ cr_، وgpt-6-sol أو gpt-6.1-sol كنموذج؛ وتوجد قائمة الحقول الكاملة في خطوات الإعداد أعلاه. لا يتضمن مثال الإعداد في الوثائق disable_response_storage، ولست بحاجة إلى إضافته. الفوترة لكل token؛ راجع /models لمعرفة سعر كل نموذج.
المصادر
مستودع Codex مفتوح المصدر (github.com/openai/codex): أوصاف وتغييرات الشيفرة في PRs #642 و#714 و#3212؛ وملاحظات الإصدار لـ rust-v0.29.0 وrust-v0.30.0 وrust-v0.40.0 وrust-v0.161.0؛ وdocs/config.md ضمن وسم rust-v0.40.0؛ ومصدر codex-rs/config وcodex-rs/core ضمن وسم rust-v0.161.0؛ وissue #46470 (استُخدمت فقط كمؤشر على طلب المستخدمين). ووثائق Codex الرسمية من OpenAI: صفحة Configuration Reference وجدول خيارات سطر الأوامر في مجموعة وثائق Codex (learn.chatgpt.com). ودليل Codex في وثائق QCode (محدّث في 2026-09-30). جُلب الجميع في 2026-10-08.
أعدّ Codex وفق الوثائق وابدأ
مفتاح واحد يبدأ بـ cr_ يشغّل gpt-6-sol وgpt-6.1-sol في Codex، وتُحتسب الفوترة لكل token؛ راجع /models لمعرفة سعر كل نموذج.
قراءات ذات صلة
دليل إعداد API لطرف ثالث في Codex CLI
كيفية ضبط model_provider وbase_url وenv_key في config.toml، إضافة إلى الأخطاء الشائعة.
عدم عمل magpie: أخطاء 401 و405 وإصلاحاتها (2026-11)
السبب الرسمي والإصلاح لأخطاء magpie الشائعة: خيار لا ينطبق، و401 في Docker، وZCode 405، و400 في اختبار المزوّد والنماذج المفقودة.
Codex: «النموذج المحدد بلغ الحد الأقصى للسعة»
كيف تختلف رسالة السعة عن الحصة و429، وكيفية تبديل النماذج وتأخير إعادة المحاولة.
دليل الدفع بالعملات المشفرة
تسع عملات، و56 شبكة، وبدون رسوم منصة لرصيد API للبرمجة بالذكاء الاصطناعي.
تم التحقق من التفاصيل والاقتباسات في هذه الصفحة في 2026-10-08 مقابل وثائق Codex الرسمية من OpenAI ومستودع Codex مفتوح المصدر؛ قد تحدث تغييرات من المزوّد دون إشعار. يختلف السلوك حسب الإصدار، لذا اعتمد على الإصدار الذي يعرضه codex --version على جهازك؛ أما توفر النماذج فهو ما يعرضه /models.