یک توسعه‌دهنده گردش‌کار (workflow) چند ماهه Claude Code خود را به OpenCode منتقل کرد و متوجه شد که مدیریت فایل، بارگذاری قوانین، موجودی ابزارها، متادیتای مهارت‌ها و حافظه بین‌جلسه‌ای همگی از کار افتاده‌اند. اصلاحاتی که او مستند کرده است، اکنون به عنوان یک چک‌لیست کاربردی برای هر کسی که از اکوسیستم Claude به جایگزین متن‌باز آن مهاجرت می‌کند، عمل می‌کند.

چرا مهاجرت اهمیت داشت

کاربران Claude Code برای اجرای روان یک دستیار کدنویسی مبتنی بر هوش مصنوعی، به مجموعه‌ای از فایل‌های به‌هم‌پیوسته — قوانین، تعاریف مهارت‌ها و لاگ‌های حافظه — وابسته هستند. وقتی تنظیمات نویسنده دیگر قوانین را بارگذاری نمی‌کرد، فایل‌ها را اشتباه ترکیب می‌کرد و شاهد افزایش ناگهانی مصرف توکن بود، دستیار کدنویسی روزانه‌اش غیرقابل اعتماد شد. OpenCode وعده «امنیت مبتنی بر اجازه»، دسترسی مستقل از مدل از طریق OpenRouter و قیمت‌گذاری «پرداخت به میزان مصرف» را می‌دهد که آن را جذاب می‌کند. اما انتقال، یک کپی-پیست ساده نیست؛ شما باید هر مؤلفه را با فرمتی که OpenCode انتظار دارد، دوباره تعریف کنید.

چه چیزی باعث خرابی شد

Claude Code از فایلی به نام CLAUDE.md استفاده می‌کرد که OpenCode آن را نادیده می‌گیرد و در عوض برای متادیتای اضافی، AGENTS.md را می‌خواند. نویسنده تصور می‌کرد این دو سیستم قابل تعویض هستند و باعث شد چندین بخش اصلی برای OpenCode نامرئی بمانند.

شکست‌های ملموس و نحوه رفع آن‌ها

  • فایل قوانین نادیده گرفته می‌شود
    OpenCode هرگز CLAUDE.md را نمی‌خواند؛ بلکه فقط AGENTS.md را تجزیه (parse) می‌کند. تغییر نام فایل کافی نیست زیرا محتوا باید در قالب جدید دوباره تعریف شود.
    راه حل: یک فایل AGENTS.md جدید بسازید، متن قوانین را کپی کنید، یک جلسه جدید OpenCode شروع کنید و از عامل (agent) بپرسید: «قوانین من چیست؟» اگر نتوانست آن‌ها را نقل‌قول کند، یعنی قوانین بارگذاری نشده‌اند.

  • موجودی ابزارها مفقود شده است
    دستور مهاجرتی که قرار بود مهارت‌ها و سرورهای MCP (multi-cloud platform) را کپی کند شکست خورد، زیرا OpenCode نمی‌تواند ابزارهایی را که هرگز ثبت نشده‌اند، فهرست کند.
    راه حل: در حالی که ابزارهای Claude Code هنوز در حال اجرا هستند، هر مهارت و دستور را به صورت دستی لیست کنید. تصمیم بگیرید کدام‌ها را در OpenCode بازسازی کنید و کدام‌ها را حذف کنید.

  • بخش front-matter از مهارت‌ها حذف شده است
    فایل‌های مهارت منتقل شده، بیشتر front-matter خود، از جمله تخصیص مدل‌ها و دستورالعمل‌های مدیریت ابزار را از دست دادند. OpenCode فقط به تعداد محدودی از فیلدها احترام می‌گذارد، بنابراین مهارت‌های وارد شده رفتارهای غیرقابل پیش‌بینی داشتند.
    راه حل: با هر مهارت وارد شده به عنوان یک مورد خراب برخورد کنید. سه مهارت پرکاربرد را از ابتدا بازسازی کنید و مطمئن شوید که فقط شامل فیلدهای پشتیبانی‌شده هستند. هر فایل مهارت بلااستفاده‌ای را حذف کنید.

  • عدم وجود حافظه بین‌جلسه‌ای
    Claude Code یک تاریخچه پایدار داشت که نویسنده برای حفظ زمینه (context) به آن تکیه می‌کرد. OpenCode حافظه را در طول جلسات حفظ نمی‌کند، بنابراین دستیار یک روز پس از تغییر، همه چیز را «فراموش» کرد.
    راه حل: یک دستور صریح به AGENTS.md اضافه کنید: «در پایان هر جلسه، یک خلاصه کوتاه به session-log.md اضافه کنید که شامل کارهای انجام شده، کارهای معوقه و تصمیمات اتخاذ شده باشد.» در این صورت، لاگ جلسات به تنها منبع حقیقت برای تداوم کار تبدیل می‌شود.

پیامدها: چه چیزی به دست می‌آورید و چه چیزی را از دست می‌دهید

بردها

  • امنیت مبتنی بر اجازه: OpenCode قبل از اجرای هر اقدامی سوال می‌پرسد که باعث کاهش تغییرات ناخواسته در کد می‌شود.
  • آزادی مدل: یک کلید API واحد، ده‌ها مدل را از طریق OpenRouter باز می‌کند و به شما اجازه می‌دهد بدون تغییر فایل‌های پیکربندی، آزمایش کنید.
  • کنترل هزینه: صورت‌حساب بر اساس میزان مصرف است و از اشتراک‌های با نرخ ثابت که در صورت افزایش مصرف توکن می‌تواند گران شود، جلوگیری می‌کند.

باخت‌ها

  • عدم وجود حافظه بلندمدت داخلی به این معنی است که باید یک لاگ دستی نگه دارید.
  • محدودیت متادیتای مهارت‌ها شما را مجبور می‌کند بیشتر ابزارهای سفارشی خود را بازسازی کنید.

یک چک‌لیست عملی برای مهاجرت

  1. ابتدا AGENTS.md را بسازید – قبل از وارد کردن هر فایل دیگری، هر قانونی را که نیاز دارید تعریف کنید.
  2. دستور لاگ جلسه را اضافه کنید – قانون «اضافه کردن خلاصه» را در بالای AGENTS.md قرار دهید.
  3. سه مهارت برتر را بازسازی کنید – فقط فیلدهای پشتیبانی‌شده را کپی کنید؛ هر مهارت را به صورت جداگانه تست کنید.
  4. MCPها را به صورت دستی دوباره تعریف کنید – هر سرور یا نقطه پایانی (endpoint) ابری را که هنوز نیاز به دسترسی به آن دارید، لیست کنید.
  5. اعتبارسنجی کنید – یک جلسه جدید OpenCode شروع کنید و از دستیار درباره قوانین، لیست مهارت‌ها و وضعیت حافظه‌اش سوال کنید.

نتیجه‌گیری

مهاجرت از Claude Code به OpenCode کمتر مربوط به جابجایی فایل‌ها و بیشتر مربوط به بازطراحی تعاریفی است که دستیار را هدایت می‌کنند. این فرآیند شما را مجبور می‌کند تا به قوانین اصلی محدود شوید، مهارت‌های ضروری را بازسازی کنید و یک لاگ حافظه دستی را اتخاذ کنید، اما در عین حال در را به روی دستیارهای هوش مصنوعی ارزان‌تر و مستقل از مدل باز می‌کند. اگر آماده هستید تا راحتی را با کنترل کردن معاوضه کنید، چک‌لیست بالا را دنبال کنید و با هر مؤلفه وارد شده، مانند یک شروع تازه برخورد کنید.