OpenCode 2.0 اومد: سرویس پسزمینه، Code Mode و سابایجنتهای موازی
خلاصهٔ کاملتر
تیم OpenCode نسخهی 2.0 این ایجنت کدنویسی رو منتشر کرده و میگه این یه بازسازی اساسیه که از تجربهی میلیونها کاربر روزانه درومده. بزرگترین تغییر اینه که مدل client/server که از اول وجود داشت، حالا پیشفرض شده: یه سرویس واحد بهصورت پروسهی پسزمینه روی سیستم اجرا میشه و TUI، رابط وب و اپ دسکتاپ همه با همون یه پروسه حرف میزنن. اسکریپتهایی که با پکیج @opencode/client نوشتی هم خودشون سرویس محلی رو پیدا میکنن، که برای تسکهای زمانبندیشده خیلی بهدرد میخوره.
API هم از صفر نوشته شده. به گفتهی تیم، API قبلی همینطوری بیبرنامه بزرگ شده بود و خوب نبود. نسخهی جدید بر اساس موارد استفادهی واقعی کاربرا طراحی شده و خود OpenCode هم ازش استفاده میکنه؛ مثلاً موقع شروع یه کار جدید، session فعلی رو میبره توی یه git worktree. پکیج @opencode/client کلاینت برای JavaScript معمولی و Effect داره. با دستور /pair هم میشه سرویس رو به هاستها و اپهای دیگه وصل کرد.
Code Mode شاید جالبترین بخش باشه. تیم یه مفسر کوچیک JavaScript توی پکیج @opencode/codemode ساخته که سرورهای MCP (یعنی سرویسهایی که ابزار در اختیار مدل میذارن) یا endpointهای OpenAPI رو میگیره و تبدیلشون میکنه به تابعهایی که ایجنت میتونه توی یه اسکریپت صدا بزنه. اینطوری ایجنت میتونه یه ابزار رو صدا بزنه، روی نتیجه map کنه و ابزار بعدی رو صدا بزنه، همه توی یه رفتوبرگشت. همهی MCPها بهصورت پیشفرض توی codemode هستن، پس به گفتهی تیم میشه هزارتا ازشون اضافه کرد بدون اینکه context مدل پر بشه.
برای کارهای پسزمینه دو چیز اضافه شده. یکی سابایجنتهای پسزمینه، که ایجنت اصلی یه کار رو بهشون میسپره و خودش ادامه میده؛ حتی میشه براشون یه مدل دیگه انتخاب کرد. دومی اجرای غیرهمزمان دستورهای shell، که کارهای طولانی ایجنت رو قفل نکنن و وقتی تموم شدن خبر بدن. اگه یه دستور یا سابایجنت بیشتر از انتظار طول کشید، با یه کلید میانبر میشه فرستادش پسزمینه.
سیستم پلاگین نسخهی 1.0 به گفتهی تیم هیچوقت توجه لازم رو نگرفت. برای همین تقریباً همهی قابلیتهای 2.0 رو به شکل پلاگین داخلی ساختن و الان بیش از 80 تا پلاگین داخلی هست؛ یعنی Plugin API مجبوره همیشه سالم بمونه. پلاگینهای TUI هم از حالت آزمایشی دراومدن و همهچیز hot-reload میشه، پس OpenCode میتونه وسط session برای خودش پلاگین بنویسه و همون لحظه ازش استفاده کنه. پکیج @opencode/sdk هم همون کدیه که CLI رو میچرخونه و میشه باهاش یه نسخهی سفارشی روی سرور یا جاهایی مثل Durable Objects ساخت؛ این بخش هنوز در حال توسعهست.
برای ارتقا باید اول روی آخرین نسخهی 1.x باشی و بعد opencode upgrade --major رو بزنی. تغییرات ناسازگار هم هست: پلاگینهای 1.0 توی 2.0 کار نمیکنن، API سرور کلاً عوض شده و تنظیمات tui.json جابهجا شده. تیم پیشنهاد میده راهنمای مهاجرت رو بدی به خود OpenCode تا کارها رو برات انجام بده.
نکات کلیدی:
- توی 2.0 یه سرویس پسزمینهی واحد اجرا میشه و TUI، وب و دسکتاپ همه بهش وصل میشن.
- پکیج @opencode/codemode ابزارهای MCP و OpenAPI رو به تابعهای قابل اسکریپت تبدیل میکنه و همهی MCPها پیشفرض توشن.
- سابایجنتها و دستورهای shell حالا میتونن توی پسزمینه اجرا بشن، حتی با یه مدل دیگه.
- بیش از 80 قابلیت به شکل پلاگین داخلی ساخته شدن و پلاگینهای TUI پایدار شدن.
- پلاگینهای 1.0 کار نمیکنن و API سرور کاملاً عوض شده؛ ارتقا با opencode upgrade --major انجام میشه.




