نقل مشروع من Codex إلى Hermes على خادم
Markdownنقل مستودع إلى خادم للعمل في Hermes: التغييرات المحفوظة، والتبعيات، والأسرار، ومجلد العمل، والفحوصات قبل متابعة التطوير.
قراءة المقال كاملًا
للحصول على مساعدة بشأن استخدام الخدمة، راجع وثائق Ailoot.
الخلاصة الرئيسية
لمتابعة العمل في Hermes على مشروع أُنشئ باستخدام Codex، انقل المستودع نفسه واستعد بيئته. لا تحتاج في هذا الأسلوب إلى خطوة منفصلة بعنوان «استيراد مشروع من وكيل». تحقّق أولاً من الملفات المحفوظة والتبعيات، ثم افتح المجلد الصحيح في Hermes. يفترض هذا الدليل أن الخادم وHermes قد أُعدّا بالفعل وأن لديك صلاحية الوصول إلى المستودع.
ما الذي ينبغي تجهيزه قبل النقل
المستودع هو مجلد مشروع يتضمن سجل تغييرات Git. وتحتوي نسخة العمل على الملفات التي تعدّلها. المطلوب هنا هو نقل تلك النسخة إلى الخادم ومتابعة التطوير. ليس عليك إتاحة التطبيق للزوار بعد.
إذا لم يكن الوكيل مثبتاً على الخادم بعد، فابدأ بـتثبيت Hermes Agent على VPS. ستحتاج هنا إلى تثبيت عامل لـ Hermes، وطرفية الخادم، وGit. كما تحتاج إلى مستودع بعيد يمكن الوصول إليه من الخادم؛ إذا لم يكن لديك واحد بعد، فأنشئه أولاً واحفظ المشروع فيه من دون أسرار. إذا كان المستودع خاصاً، فأعد مسبقاً إعداد صلاحية القراءة من حسابك؛ لا تضع رمزاً في عنوان URL للمستودع أو في رسالة إلى الوكيل.
أوقف التعديلات المتوازية على المشروع أثناء النقل. على الكمبيوتر المصدر، افتح طرفية داخل مجلد المشروع نفسه وشغّل:
git status --short --branch
git status --short --ignored
يعرض الأمر الأول الفرع وحالة الملفات. يشير M إلى تعديل، ويشير ?? إلى ملف لا يتتبعه Git بعد. في الأمر الثاني، توضع العلامة !! على الملفات المتجاهلة. لا تثبت الحالة النظيفة المعتادة عدم وجود ملفات لازمة خارج Git.
احفظ التغييرات اللازمة في عملية إيداع مستقلة، وادفع الفرع الصحيح إلى مستودعك البعيد بالطريقة المعتادة. تحقّق مما تتضمنه عملية الإيداع قبل الدفع: يجب ألا تحتوي على مفاتيح أو كلمات مرور أو بيانات حقيقية للمستخدمين. إذا لم تكن تعرف التغييرات التي ينبغي حفظها، فاطلب من Codex أولاً سردها وشرح الغرض منها، من دون حذف الملفات أو الدفع إلى المستودع.
| جزء المشروع | ما ينبغي التحقق منه قبل النقل |
|---|---|
| ملفات المصدر وسجل Git | التغييرات اللازمة محفوظة ويمكن الوصول إليها في الفرع المحدد من المستودع البعيد |
| README وتعليمات الوكيل | خطوات بدء التشغيل والفحوصات والقيود موثقة، والتعليمات محدّثة |
| ملفات التبعيات | ملفات تعريف التبعيات وملف القفل الذي يستخدمه المشروع، وهو الملف الذي يثبت الإصدارات، محفوظة |
| الأسرار | توجد طريقة منفصلة وآمنة لإعدادها على الخادم؛ قيمها ليست في Git ولا تُرسل عبر الدردشة |
| قاعدة البيانات والملفات المرفوعة | تعرف أين تحصل على بيانات اختبار مسموح بها وكيف تستعيدها باتباع تعليمات المشروع |
لا تفترض أن استنساخ المستودع سينقل قاعدة بيانات خارجية أو محتويات مجلد متجاهل أو محادثاتك مع Codex. سجل الدردشة والاشتراكات والملفات الشخصية وإعدادات الوكلاء نفسها ليست جزءاً من طريقة النقل هذه.
نسخ الفرع الصحيح إلى الخادم
أولاً، احفظ ناتج هذا الأمر على الكمبيوتر المصدر:
git status --porcelain=v2 --branch
يعرض السطر # branch.oid عملية الإيداع الحالية، ويعرض # branch.head الفرع. عملية الإيداع هي نسخة محفوظة من المشروع. في مشروع نموذجي يتضمن عمليات إيداع سابقة، يتيح لك ذلك مقارنة النسخة المصدر بالنسخة الجديدة؛ لكن هذه المقارنة لا تتحقق من التغييرات غير المودعة.
على الخادم، انتقل إلى الدليل الذي ستخزن فيه مشاريعك. استنسخ مستودعك إلى مجلد جديد. في القالب أدناه، استبدل REPOSITORY_URL بعنوان URL لمستودعك، وBRANCH_NAME باسم الفرع الذي حفظته ودفعت به، وmy-project بالاسم الذي تريده للمجلد الجديد:
git clone --branch BRANCH_NAME REPOSITORY_URL my-project
cd my-project
git status --porcelain=v2 --branch
هذا قالب وليس عنوان URL جاهزاً للنسخ. ينشئ git clone مجلداً ونسخة عمل من الفرع المحدد. إذا كان مجلد الوجهة موجوداً بالفعل، فيجب أن يكون فارغاً: لا تحذف محتوياته لإعادة تشغيل الأمر؛ اختر اسماً جديداً.
قارن قيمة # branch.oid في النسختين. إذا اختلفت القيم، فلا تبدأ بإصلاح الشيفرة على الخادم: تحقّق من الفرع المحدد، وعمليات الإيداع التي دفعت بها، وما إذا كانت قد أُجريت تغييرات متوازية. إذا أظهر ناتج الحالة ملفات معدّلة، فتحقق منها كلٌّ على حدة. لا تستخدم التنظيف أو إعادة الضبط القسرية لمحاولة «جعلها متطابقة».
تتطلب المستودعات التي تحتوي على وحدات Git فرعية، أي مستودعات متداخلة، جلب محتوياتها أيضاً. يتضمن git clone خيار --recurse-submodules لهذا الغرض؛ استخدمه إذا كان المشروع يحتوي فعلاً على وحدات فرعية وتحققت من عناوين URL الخاصة بها. قد تتطلب المشاريع التي تعتمد على موارد خارجية أخرى إجراءً إضافياً موضحاً في README.
استعادة التبعيات وفقاً لقواعد المشروع
اقرأ أولاً README وملفات إعداد المشروع. تعرّف على إصدار بيئة التشغيل المطلوب ومدير الحزم المستخدم لتثبيت التبعيات. لا تستبدل الأداة المعتادة للمشروع بـ npm لمجرد ظهوره في المثال أدناه.
مثال افتراضي على Node.js وnpm: يحتوي المستودع على ملفي package.json وpackage-lock.json متسقين، ومثبت على الخادم إصدار من Node.js مناسب للمشروع. في هذه الحالة، شغّل الأمر التالي في مجلد المشروع:
npm ci
وفقاً لـوثائق npm ci، يثبّت الأمر تبعيات المشروع بأكمله من ملف القفل من دون إعادة كتابة package.json أو package-lock.json. إذا لم يتطابق محتواهما، يفشل التثبيت. يُحذف أي مجلد node_modules موجود قبل التثبيت.
إذا أُنشئ ملف القفل باستخدام خيارات تؤثر في شجرة التبعيات، مثل --legacy-peer-deps، فسيحتاج npm ci إلى الخيارات نفسها. راجع تعليمات المشروع المصدر وإعداداته. لا تحذف ملف القفل ولا تحدّث جميع التبعيات لإخفاء خطأ النقل الأول.
تحقّق من أوامر التثبيت وبدء التشغيل في مشروعك قبل التثبيت. شغّلها في نسخة عمل منفصلة لا يمكنها الوصول إلى بيانات الإنتاج، واضبط أي قيم بيئة لازمة خارج الدردشة وGit. استخدم، حيثما أمكن، بيانات اعتماد اختبار ذات صلاحيات محدودة للتحقق من المشروع. إذا كان المشروع يعتمد على قاعدة بيانات أو ملفات، فاستعد أولاً مجموعة بيانات اختبار مسموحاً بها وفقاً للتعليمات؛ ملفات المصدر المتطابقة لا تعوّض تلك البيانات.
بعد التثبيت، شغّل الفحوصات الموجودة في README: الاختبارات والبناء، إن كانا متاحين. تختلف أسماء الأوامر باختلاف المشروع. نجاح تثبيت التبعيات لا يعني بعد أن التطبيق يعمل.
فتح نسخة العمل في Hermes
في طرفية الخادم، انتقل إلى جذر النسخة الجديدة وشغّل الوكيل المثبت بالفعل:
cd /absolute/path/to/my-project
hermes
هنا، /absolute/path/to/my-project عنصر نائب للمسار الكامل إلى مشروعك. تحقّق في شاشة بدء Hermes من دليل العمل والبيئة التي تُنفّذ فيها أوامر الطرفية. طريقة البدء هذه مخصصة لبيئة الطرفية المحلية لـ Hermes على الخادم. إذا كان SSH أو Docker مضبوطاً، فقد ينفّذ الوكيل الأوامر في بيئة أخرى؛ تحقّق أولاً من أن مسار المشروع متاح فيها.
اطلب من الوكيل تأكيد مجلد العمل الفعلي باستخدام أداة الطرفية لديه، ثم قراءة README وتعليمات المشروع. لا يكفي التحقق من اسم مجلد مذكور في رسالة.
الترتيب الوارد أدناه مذكور في إصدار مثبت من الوثائق وقد يختلف عن الإصدار المثبت لديك من Hermes. تحقّق من التعليمات الحالية في جلستك. يدعم Hermes ملف AGENTS.md، لكن قراءة ذلك الملف تعتمد على أولوية ملفات السياق. وفقاً لـوثائق Hermes الرسمية، يُختار نوع واحد من ملفات التعليمات، بهذا الترتيب: .hermes.md، ثم AGENTS.override.md، ثم AGENTS.md، ثم CLAUDE.md، ثم .cursorrules. تحقّق من وجود ملف .hermes.md قديم أو ملف AGENTS.override.md شخصي قبل بدء العمل؛ لا تفترض أن الوكيل سيطبّق بالضرورة ملف AGENTS.md إلى جانب الملف الآخر.
احتفظ في التعليمات المختارة بغرض المشروع وأوامر الفحص والقيود المفروضة على التغييرات. لا تحوّلها إلى أرشيف للمحادثات. إذا احتجت إلى نقل إعدادات الوكلاء نفسها، فهذه عملية مختلفة، ونطاقها مشروح في دليل الترحيل من Claude Code إلى Codex.
إسناد مهمة واحدة إلى الوكيل والتحقق من النتيجة
ابدأ بقراءة المشروع من دون إجراء تغييرات. على سبيل المثال:
نعمل على مشروع موجود في المجلد الذي حددته.
أكّد دليل العمل الفعلي باستخدام أداة الطرفية.
اقرأ README وتعليمات المشروع الحالية.
لا تفتح ملفات تحتوي على أسرار ولا تعرض قيم البيئة.
اذكر أوامر الفحص والمتطلبات اللازمة لتشغيلها.
في الوقت الحالي، لا تغيّر أي شيء أو تثبّت شيئًا، ولا تدفع التغييرات إلى المستودع.
بعد ذلك، اتفقا على مهمة صغيرة واحدة، مثل تصحيح نص في الواجهة. حدّد الملفات أو النطاق الذي سيُعدّل، وامنع تحديثات التبعيات العرضية. إذا أردت فصل التجربة عن النسخة الرئيسية، فتعرّف أولاً على نسخة عمل منفصلة باستخدام Git worktree.
اقبل النتيجة بناءً على تغييرات الملفات وإعادة تشغيل فحوصات المشروع. قبل تجربة قد تفشل، احفظ النسخة المصدر ونقطة استعادة؛ لا تطلب من الوكيل إعادة ضبط جميع التغييرات دفعة واحدة. إذا فشل فحص، فقارن الخطأ بالنسخة المصدر؛ فهذا يساعد على التمييز بين مشكلة نقل وعيب كان موجوداً من قبل.
يمكن اعتبار النقل مكتملاً عندما تكون نسخة ملفات المصدر المطلوبة في مكانها، وتُستعاد البيئة، وتتوفر البيانات اللازمة في بيئة اختبار آمنة، وتجتاز الفحوصات، ويعمل Hermes في هذا المجلد بعينه. نشر التطبيق للزوار مرحلة تالية منفصلة، ولا يدخل ضمن هذا الفحص.
تعرّف على Ailoot.
المزيد من التفاصيل
أسئلة شائعة
هل ينقل استنساخ المستودع بيئة العمل كاملة؟
لا. لا يجلب استنساخ Git الملفات المتجاهلة أو قواعد البيانات الخارجية أو البيانات المرفوعة أو الأسرار أو سجل محادثات الوكيل. استعد التبعيات المطلوبة وبيانات الاختبار المسموحة بصورة مستقلة وفق تعليمات المشروع.
ماذا أقارن قبل تعديل نسخة الخادم؟
قارن الفرع ومعرّف commit المحفوظين بنسخة المصدر، وافحص التغييرات غير المثبتة، واطلب من Hermes التحقق من مجلد عمله الفعلي. ثم نفّذ فحوص المشروع القائمة داخل تلك النسخة بالضبط.