Skip to content
Apothem
محوّلات أُطُر العمل

Codex

محوّل إطار عمل Apothem لـ Codex (تجريبي).

المورّد: OpenAI اسم التثبيت: codex الحالة: تجريبي الإعداد الأصلي: ~/.codex/AGENTS.md، و~/.codex/hooks.json، و~/.codex/hooks/، و~/.codex/agents/*.toml، و~/.agents/skills/

التثبيت

apothem install --harness codex

يثبّت المحوّل التعليمات والخطّافات الأصلية لـ Codex، ويحوّل عوامل Apothem إلى عوامل Codex بصيغة TOML، ويُغلِّف مطالبات الأوامر القابلة لإعادة الاستخدام بوصفها مهارات Codex.

الملفات المكتوبة: ~/.codex/AGENTS.md، و~/.codex/hooks.json، و~/.codex/hooks/، و~/.codex/agents/*.toml، و~/.agents/skills/*/SKILL.md، و~/.agents/skills/*/agents/openai.yaml للمهارات التي يستدعيها المستخدم، وملفات الدعم تحت ~/.config/apothem/{rules,templates}/.

مُفسِّر الخطّافات. قبل أن يكتب التثبيت أي شيء، يعثر على مُفسِّر CPython 3.10+. وعلى Windows، تُشغِّل كل مُدخلة commandWindows في الملف hooks.json المسارَ المطلق لذلك المُفسِّر بدلًا من المُشغِّل py -3؛ وتُبقي مُدخلاتُ command في POSIX على python3. أعِد تشغيل apothem update --harness codex بعد نقل المُفسِّر أو إزالته. وإذا لم يُعثَر على CPython 3.10+، يتوقّف التثبيت قبل أن يكتب أي ملف.

تنتهي كتلة Apothem في AGENTS.md بقسم ملفات دعم Apothem الذي يُسمّي الدليل المطلق الذي تُحَلّ نسبةً إليه كل إحالة بأسلوب المستودع في المهارات والقواعد المُثبَّتة: rules/<name>.md وtemplates/... تحت ~/.config/apothem/، وhooks/... تحت ~/.codex/hooks/. لا يشحن تثبيت Codex أي شجرة schemas/ أو conformity/، لذا لا يسرد القسم أيًّا منهما.

المهارات التي يستدعيها المستخدم. يتجاهل Codex المفتاح disable-model-invocation. لكل مهارة أو أمر يضبط مصدرُه disable-model-invocation: true، يكتب المحوّل agents/openai.yaml بجوار SKILL.md الخاص به مع policy.allow_implicit_invocation: false، بحيث لا يختار Codex المهارة من تلقاء نفسه؛ ويظل بإمكانك تشغيلها صراحةً باستخدام $skill-name. راجع وثائق مهارات Codex.

تعيين الملف التعريفي إلى الإعداد الأصلي

يقرأ المحوّل حزم Apothem المشتركة ويثبّت كلًّا منها في سطح Codex الصحيح: التعليمات إلى AGENTS.md، والخطّافات إلى hooks.json وhooks/، والعوامل إلى TOML، والمهارات إلى ~/.agents/skills/، وقواعد/قوالب Markdown غير الأصلية إلى ~/.config/apothem/ بوصفها مادّة دعم.

يضبط كل مساعِد مُحوَّل name، وdescription، وdeveloper_instructions، الذي يحمل متن المساعِد. لا يُضبَط أي نموذج أو جهد استدلال، لذا يرث كل مساعِد اختيارات الجلسة. لا يملك Codex قائمة أدوات أو حدًّا للأدوار لكل مساعِد، لذا لا يُنقَل tools وmaxTurns الخاصان بالمساعِد.

تقول المساعِدات للقراءة فقط (راجع مرجع العوامل) في تعليماتها إنها لا تعدّل شيئًا. ويُفرَض وضع القراءة فقط عبر بيئة العزل الخاصة بالجلسة الأم، لا عبر ملف TOML الخاص بالمساعِد: فكل مساعِد يعمل تحت إعدادات بيئة العزل والموافقة الخاصة بالجلسة التي بدأته. ولا يستطيع ملف المساعِد تجاوز وضع بيئة العزل في الجلسة، ولا سياسة الموافقة، ولا مزوّد النموذج، ولا خوادم MCP، لذا لا يكتب المحوّل أيًّا منها، ويمكن لتعليمات المساعِد أن تطلب منه تجنّب التعديلات دون إنشاء بيئة عزل منفصلة للقراءة فقط. ولجعل قيد القراءة فقط مُلزِمًا، اضبط عناصر التحكّم في بيئة العزل والموافقة على جلسة Codex نفسها. وقد يظل إصدار من Codex أقدم من الإصدار الذي أضاف هذا القيد يحترم sandbox_mode في ملف المساعِد؛ ولم يتثبّت Apothem من أي إصدار هو، ولا يكتب sandbox_mode في كلتا الحالتين.

ملاحظات التوافق

~/.agents/skills/ جذر مشترك يملكه Codex: تُحمِّله أيضًا تسع أدوات مدعومة أخرى (يسردها سجلّ أُطُر العمل)، لذا تظهر مهارات Apothem التي يكتبها تثبيت Codex هناك في تلك الأدوات أيضًا. وتكتب أربع من تلك الأدوات المجلّد بنفسها أيضًا حين تثبّتها (يسردها السجلّ بوصفها مُثبِّتات مشاركة)، بالملفات نفسها التي يكتبها تثبيت Codex، لذا تكون المهارات موجودة على جهاز لا يوجد فيه تثبيت لـ Codex. وينطبق الأمر نفسه على القواعد والقوالب في ~/.config/apothem/، التي تكتبها أيضًا سبعة محوّلات ذات نطاق المشروع. ويقع المجلّد دائمًا في دليلك المنزلي، أيًّا كانت قيمة CODEX_HOME: إذ يقرأ Codex $HOME/.agents/skills، لذا فإن قيمة CODEX_HOME غير ~/.codex تنقل ملفات Codex لكنها لا تنقل المهارات. ويكتب كل تثبيت لـ Apothem يستخدم المجلّد الملفات نفسها هناك، ويسجّل التثبيت التثبيتات التي تستخدمه، لذا لا يهمّ الترتيب الذي تثبّت به. ولا يُزيل إلغاء تثبيت Codex المهارات إلا حين لا يعود أي تثبيت آخر لـ Apothem يستخدمها؛ وإلا فإنه يُبقيها ويذكر التثبيتات التي تستخدمها (راجع إلغاء التثبيت). والمالك المُسجَّل هو الأداة التي يوثّق المورّد المسار لها. والتثبيت الذي وضع الملفات هو أيّ تثبيت لا يزال يستخدمها، وتسمّيه ملاحظة التثبيت. ومجلّد المهارة الذي لم يكتبه Apothem ويحمل الاسم نفسه لمهارة من Apothem يُترَك كما هو، مع تحذير يسمّيه. يطبع التثبيت ملاحظة تُسمّي تلك الأدوات. ~/.codex/agents/ جذر مشترك ثانٍ: إذ تسرد أداة مدعومة أخرى ذلك المجلّد بوصفه موقع توافق (يسمّيها السجلّ)، ولا تقول وثائقها ما إذا كانت تقرأ ملفات TOML التي يكتبها تثبيت Codex هناك.

يحجز Codex الدليل ~/.codex/rules/ لسياسات التنفيذ .rules. لا يضع Apothem قواعد السلوك بصيغة Markdown هناك؛ بل يحتفظ بها في ~/.config/apothem/ ويُشير إليها من AGENTS.md ومن المهارات المُثبَّتة.

إضافة Codex

يشحن Apothem أيضًا إضافة لـ Codex، تُضاف من سوق الإضافات في المستودع (يسرد دليل التثبيت الأوامر تحت القناة 7). والإضافة أداة تمهيد: فهي تحزم مهارة دخول واحدة تُشغِّل المحرّك، ويكتب apothem install --harness codex كل ما هو مذكور أعلاه.

تقع الإضافة في plugins/apothem/. وبيانها ملف plugin.json في الجذر، وهو الموقع الذي يوثّقه Codex للحزمة الجديدة. ولا يسمّي البيان أي مسار للمهارات، لأن Codex يكتشف دليل skills/ الخاص بالإضافة من جذر الإضافة. ويبقى ملف .codex-plugin/plugin.json بجواره بوصفه بديلًا احتياطيًا للتوافق مع إصدارات Codex التي لا تقرأ إلا ذلك الموقع الأقدم؛ ولا يزال Codex يدعمه ويعامل بيان الجذر بوصفه المرجع المعتمد لهوية الإضافة. ويحمل كلا الملفين رقم الإصدار، ويُلزِمهما اختبار بمطابقة إصدار المحرّك.

لا تحزم الإضافة أي عوامل أو خطّافات أو خوادم MCP. ولا يوثّق Codex أي مكوّن للعوامل المخصّصة في الإضافات، لذا يواصل المحرّك كتابة العوامل إلى ~/.codex/agents/*.toml. والخطّافات المحزومة في إضافة تقتصر على الإضافات المُثبَّتة يدويًا في Codex لسطح المكتب ولا تُعَدّ موثوقة تلقائيًا، لذا يواصل المحرّك كتابتها إلى ~/.codex/hooks.json.

يضبط مُدخَل السوق كتلة policy التي يطلب Codex من المؤلّفين تضمينها دائمًا: policy.installation هي AVAILABLE وpolicy.authentication هي ON_INSTALL، وهما القيمتان الافتراضيتان اللتان يوثّقهما Codex للمُدخَل الجديد.

التحقّق

apothem verify --harness codex

يؤكّد أمر التحقّق ما يلي:

  1. الإعداد الأصلي موجود في المسار المتوقَّع.
  2. كل هدف مُدار موجود؛ والملفات المُدارة غير فارغة، وتُحلَّل إعدادات JSON أو YAML. أضِف --profile PATH لتتحقّق كذلك من أن الملفات المثبّتة تطابق ذلك الملف التعريفي.
  3. روتين التحقّق الخاص بالمحوّل يُبلِغ عن النجاح.

التحديث

apothem update --harness codex

يُحدِّث تمهيد Codex، والعوامل المُحوَّلة، والمهارات، وحزم الدعم.

تُكتَب مجلّدات المهارات في ~/.agents/skills/ بصيغة واحدة تتشاركها كل تثبيتات Apothem لذلك المجلّد: مفاتيح الترويسة في SKILL.md وهي version، وupdated، وarchetype، وportability تقع تحت خريطة metadata، ويُكتَب userInvocable بالصيغة user-invocable. ويُعيد أول تحديث بعد الترقية كتابة المجلّدات التي كتبها تثبيت Codex سابقًا بتلك الصيغة، وينسخ احتياطيًا كل مجلّد يغيّره. ويستعيدها apothem rollback --harness codex.

إلغاء التثبيت

apothem uninstall --harness codex

يُزيل كتلة Apothem من ~/.codex/AGENTS.md ويُبقي أي نص خارجها، ويُزيل مدخلات Apothem من ~/.codex/hooks.json ويُبقي مدخلاتك. ويُزيل كذلك ملفات Apothem في ~/.codex/hooks/، و~/.codex/agents/، و~/.agents/skills/، و~/.config/apothem/{rules,templates}/، ما لم يكن تثبيت آخر لـ Apothem لا يزال يستخدمها (فيُبقيها إلغاء التثبيت ويسردها)؛ وتبقى الملفات الأخرى في تلك المجلدات. تختفي المهارات المُزالة من ~/.agents/skills/ من الأدوات الأخرى التي تُحمِّله هي أيضًا (راجع ملاحظات التوافق). وإن كنت قد ضبطت CODEX_HOME على مجلّد غير ~/.codex وثبّتّ بإصدار سابق، فإن النسخ التي كتبها ذلك الإصدار بجوار ذلك المجلّد (<CODEX_HOME>/../.agents/skills/ و<CODEX_HOME>/../.config/apothem/) لا تُزال؛ احذفها يدويًا. يُنسَخ كل ملف احتياطيًا تحت ~/.apothem/backups/ قبل تغييره أو إزالته. لا يتأثّر ملف YAML الخاص بالملف التعريفي المشترك ولا محرّك Apothem.

بوابة المطابقة

python -m apothem.conformity.gate --all .

استكشاف الأخطاء وإصلاحها

العَرَضالإصلاح
ملف الإعداد غير موجودأعد تشغيل apothem install --harness codex
فشل التحقّقشغّل apothem update --harness codex، ثم تحقّق مجدّدًا
محتوى إعداد غير متوقَّعافحص ~/.config/apothem/profile.yaml أو --profile PATH، ثم أعد تشغيل apothem update --harness codex

مفاتيح الضبط

الرايةالقيمة الافتراضيةالوصف
--dry-runfalseمعاينة التثبيت دون كتابة ملفات.

انظر أيضًا

On this page