قام مطور بنقل سير عمل (workflow) في Claude Code يعود لعدة أشهر إلى OpenCode، واكتشف أن التعامل مع الملفات، وتحميل القواعد، وجرد الأدوات، والبيانات الوصفية للمهارات، والذاكرة عبر الجلسات، كلها قد انهارت. الإصلاحات التي وثقها تعمل الآن كقائمة مرجعية عملية لأي شخص ينتقل من نظام Claude البيئي إلى البديل مفتوح المصدر.

لماذا كانت عملية الانتقال مهمة

يعتمد مستخدمو Claude Code على مجموعة ملفات مترابطة بإحكام — القواعد، وتعاريف المهارات، وسجلات الذاكرة — للحفاظ على عمل مساعد البرمجة المدعوم بالذكاء الاصطناعي بسلاسة. عندما توقف إعداد المؤلف عن تحميل القواعد، واختلطت الملفات، وشهد ارتفاعًا في استهلاك الرموز (tokens)، أصبح مساعد البرمجة اليومي الخاص به غير موثوق. يعد OpenCode بـ "أمن يعتمد على الأذونات أولاً" (permission-first security)، والوصول المستقل عن النموذج عبر OpenRouter، وتسعير الدفع حسب الاستخدام، مما يجعله جذابًا. لكن الانتقال ليس مجرد عملية نسخ ولصق بسيطة؛ يجب عليك إعادة التصريح عن كل مكون بالتنسيق الذي يتوقعه OpenCode.

ما الذي أدى إلى العطل

استخدم Claude Code ملفًا يسمى CLAUDE.md، والذي يتجاهله OpenCode ويقرأ بدلاً منه AGENTS.md للحصول على بيانات وصفية إضافية. افترض المؤلف أن النظامين قابلان للتبادل، مما جعل العديد من القطع الأساسية غير مرئية لـ OpenCode.

الإخفاقات الملموسة وكيفية إصلاحها

  • تجاهل ملف القواعد
    لا يقرأ OpenCode ملف CLAUDE.md أبدًا؛ بل يقوم فقط بتحليل AGENTS.md. إعادة تسمية الملف ليست كافية لأن المحتوى يجب إعادة التصريح عنه بالتنسيق الجديد.
    الإصلاح: أنشئ ملف AGENTS.md جديدًا، وانسخ نص القواعد، وابدأ جلسة OpenCode جديدة واسأل العميل "ما هي قواعدي؟" (What are my rules?). إذا لم يتمكن من اقتباسها، فهذا يعني أن القواعد لم يتم تحميلها.

  • فقدان جرد الأدوات
    فشل أمر الانتقال الذي كان من المفترض أن ينسخ المهارات وخوادم MCP (منصة السحابة المتعددة) لأن OpenCode لا يمكنه جرد الأدوات التي لم يتم تسجيلها أبدًا.
    الإصلاح: بينما لا تزال أدوات Claude Code تعمل، قم بإدراج كل مهارة وأمر يدويًا. قرر أي منها ستعيد بناءه في OpenCode وأيها ستتخلى عنه.

  • حذف البيانات الوصفية (Front-matter) من المهارات
    فقدت ملفات المهارات المنقولة معظم بياناتها الوصفية (front-matter)، بما في ذلك تعيينات النماذج وتوجيهات التعامل مع الأدوات. يحترم OpenCode عددًا قليلًا فقط من الحقول، لذا تصرفت المهارات المستوردة بشكل غير متوقع.
    الإصلاح: تعامل مع كل مهارة مستوردة على أنها معطلة. أعد إنشاء المهارات الثلاث الأكثر استخدامًا من الصفر، مع التأكد من أنها تحتوي فقط على الحقول المدعومة. احذف أي ملفات مهارات غير مستخدمة.

  • عدم وجود ذاكرة عبر الجلسات
    احتفظ Claude Code بسجل مستمر اعتمد عليه المؤلف للحصول على السياق. لا يحافظ OpenCode على الذاكرة عبر الجلسات، لذا "نسي" المساعد كل شيء في اليوم التالي للتحول.
    الإصلاح: أضف تعليمات صريحة إلى AGENTS.md: "في نهاية كل جلسة، أضف ملخصًا قصيرًا إلى session-log.md يغطي ما تم إنجازه، وما هو معلق، والقرارات المتخذة." يصبح سجل الجلسة بعد ذلك هو المصدر الوحيد للحقيقة لضمان الاستمرارية.

المخاطر: ما ستكسبه وما ستخسره

المكاسب

  • أمن يعتمد على الأذونات أولاً: يطلب OpenCode الإذن قبل تنفيذ أي إجراء، مما يقلل من تغييرات الكود غير المقصودة.
  • حرية النماذج: يفتح مفتاح API واحد عشرات النماذج عبر OpenRouter، مما يتيح لك التجربة دون تغيير ملفات التكوين.
  • التحكم في التكلفة: الفوترة تعتمد على الاستخدام، مما يتجنب الاشتراك ذو السعر الثابت الذي يمكن أن يصبح مكلفًا عند ارتفاع استهلاك الرموز (tokens).

الخسائر

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

قائمة مرجعية عملية للانتقال

  1. أنشئ AGENTS.md أولاً – صرّح بكل قاعدة تحتاجها قبل استيراد أي ملفات أخرى.
  2. أضف تعليمات سجل الجلسة – قم بتضمين قاعدة "إضافة ملخص" في الجزء العلوي من AGENTS.md.
  3. أعد بناء أهم ثلاث مهارات – انسخ الحقول المدعومة فقط؛ واختبر كل مهارة بشكل مستقل.
  4. أعد التصريح عن MCPs يدويًا – أدرج كل خادم أو نقطة نهاية سحابية لا تزال بحاجة للوصول إليها.
  5. التحقق من الصحة – ابدأ جلسة OpenCode جديدة واستعلم من المساعد عن قواعده، وقائمة مهاراته، وحالة الذاكرة.

الخلاصة

إن الانتقال من Claude Code إلى OpenCode لا يتعلق بنقل الملفات بقدر ما يتعلق بإعادة هيكلة التصريحات التي تقود المساعد. تجبرك هذه العملية على التجريد للوصول إلى القواعد الأساسية، وإعادة بناء المهارات الضرورية، واعتماد سجل ذاكرة يدوي، ولكنها تفتح الباب أيضًا لمساعدة ذكاء اصطناعي أرخص ومستقلة عن النماذج. إذا كنت مستعدًا للمقايضة بين الراحة والتحكم، فاتبع القائمة المرجعية أعلاه وعامل كل مكون مستورد كبداية جديدة.