SSD Nodes Learn Hosting plans →
راهنماها Matt Connorتوسط Matt Connor

MiMo-Code چیست و چه تفاوتی با Claude Code دارد؟

MiMo-Code ابزار کدنویسی ترمینالی MIT از Xiaomi و fork پروژه OpenCode است. ساختار CLI، اتصال به modelهای مختلف و ادعاهای benchmark خودگزارش‌شده را پیش از مهاجرت بخوانید.

MiMo-Code چیست؟

MiMo-Code یک agent کدنویسی ترمینالی است که تیم MiMo شرکت Xiaomi آن را ساخته و در ژوئن 2026 با مجوز MIT به‌صورت open source منتشر کرده است. مقاله معرفی Xiaomi که تاریخ 10 ژوئن 2026 را دارد، آن را از همان ابتدا open source معرفی می‌کند. این ابزار به‌صورت یک CLI (رابط خط فرمان) در shell اجرا می‌شود. فایل‌های یک پروژه را می‌خواند و ویرایش می‌کند، فرمان‌های shell را اجرا می‌کند، با git کار می‌کند و بین sessionها یادداشت‌هایی درباره codebase نگه می‌دارد.

ساختار آن مانند Claude Code است. شما یک task را با زبان ساده توضیح می‌دهید، agent ویرایش‌ها و فرمان‌ها را پیشنهاد می‌کند و شما آن‌ها را تأیید می‌کنید. دو تفاوت مهم وجود دارد. source آن open است؛ بنابراین می‌توانید دقیقاً ببینید agent چه چیزی برای model ارسال می‌کند. همچنین model از agent جداست؛ بنابراین همین harness می‌تواند به modelهای Xiaomi، یک endpoint سازگار با OpenAI یا modelی که خودتان میزبانی می‌کنید متصل شود.

نام repository، MiMo-Code، است و فرمانی که نصب می‌کند mimo است. هر دو نام در مستندات آمده‌اند؛ بنابراین جست‌وجوی هرکدام از آن‌ها همان ابزار را پیدا می‌کند.

منشأ MiMo-Code و دلیل اهمیت آن

MiMo-Code یک fork از OpenCode است؛ OpenCode یک agent متن‌باز ترمینال از پروژه sst است. فایل LICENSE خط اصلی Copyright (c) 2025 opencode را حفظ کرده است و README نیز بخش کوتاهی درباره این رابطه دارد. در repository یک issue باز وجود دارد که از Xiaomi می‌خواهد مشارکت‌کنندگان OpenCode را کامل‌تر از یک خط license حفظ‌شده اعتباردهی کند.

دانستن این موضوع، مسئله‌ای را توضیح می‌دهد که در نگاه اول غیرممکن به نظر می‌رسد. پروژه‌ای که نخستین بار در June 2026 منتشر شده است، از همان ابتدا یک TUI (text user interface) پرداخت‌شده، سیستم plugin، یک abstraction برای provider که با APIهای مدل‌های متعدد ارتباط برقرار می‌کند، پشتیبانی از MCP (model context protocol) و یکپارچه‌سازی با LSP (language server protocol) دارد. این قابلیت‌ها در چند هفته ساخته نشده‌اند. آن‌ها همراه fork وارد پروژه شده‌اند. بخش جدیدی که Xiaomi اضافه کرده، لایه memory و اتصال به مدل‌های اختصاصی Xiaomi است.

اگر پیش‌تر OpenCode را روی یک VPS اجرا کرده‌اید، ساختار و keybindingها برایتان آشنا خواهد بود، چون کد زیربنایی همان است.

معنای واقعی «هم‌تکامل مدل‌ها و عامل‌ها»

شعار repository این است: «مدل‌ها و عامل‌ها در کنار یکدیگر هم‌تکامل می‌یابند». این عبارت دو ادعای جداگانه دارد، اما جزئیات منتشرشده فقط یکی از آن‌ها را تأیید می‌کند.

ادعای نخست درباره runtime است و مستند شده است. MiMo-Code برای هر پروژه یک مخزن memory پایدار دارد که از جست‌وجوی full-text در SQLite پشتیبانی می‌کند و در کنار session state و task progress قرار می‌گیرد. دو slash command این فرایند را هدایت می‌کنند. /dream دانش پایدار را از sessionهای اخیر استخراج و در project memory ذخیره می‌کند. /distill یک رویه تکرارشونده را به یک skill قابل استفاده مجدد تبدیل می‌کند. در نوشته مهندسی خود Xiaomi آمده است که Dream به‌صورت خودکار هر 7 روز و Distill هر 30 روز اجرا می‌شوند، نه پس از هر session. بنابراین رفتار agent در repository شما به‌مرور تغییر می‌کند، در حالی که فایل model ثابت می‌ماند. این store به‌صورت خودکار پر می‌شود، اما جایگزین instruction fileهایی نیست که دستی می‌نویسید؛ در یک monorepo نیز بهتر است این فایل‌ها به‌صورت یک فایل کوچک برای هر package، نه یک فایل واحد در ریشه نگهداری شوند تا agent فایلی را بارگیری کند که مربوط به directory محل کار فعلی آن است. نوشتن این فایل‌ها بخش ساده کار است و وقتی agent از کنار قاعده‌ای عبور می‌کند که مطمئن بودید روشن نوشته شده است، دلایل نادیده‌گرفته‌شدن یک instruction بیشتر فنی و قابل‌بررسی‌اند تا اسرارآمیز. Memory استخراج‌شده از sessionهای قبلی فقط یکی از راه‌های جلوگیری از یادگیری دوباره یک پروژه از ابتدا توسط agent است؛ یک نقشه tree-sitter از repository که agent بتواند از طریق MCP آن را query کند نیز با ارائه ساختار repository، نه وادارکردن agent به خواندن دوباره آن، از سوی دیگر همین اتلاف را هدف می‌گیرد.

ادعای دوم درباره training است و در اینجا باید محتاط باشید. Xiaomi post-training مدل MiMo-V2.5 را یک pipeline سه‌مرحله‌ای توصیف می‌کند: supervised fine-tuning، سپس large-scale agentic reinforcement learning (RL)، و بعد on-policy distillation از چند مدل specialist teacher به یک student. Agentic RL یعنی model به‌جای جفت‌های پرسش‌وپاسخ منفرد، با episodeهای چندمرحله‌ایِ فراخوانی tool آموزش دیده است. این بخش واقعی است و توضیح می‌دهد چرا model در طول sequenceهای طولانیِ tool، انسجام خود را حفظ می‌کند. اما Xiaomi training reportی منتشر نکرده است که نشان دهد model داخل همین harness بهینه‌سازی شده و harness نیز در پاسخ به آن تغییر کرده است.

بنابراین «هم‌تکامل» را بیانیه‌ای از قصد تیمی بدانید که هر دو بخش را در اختیار دارد. مزیتی که واقعاً می‌توانید مشاهده کنید محدودتر است، اما همچنان ارزش دارد: همان افراد schemaهای tool و system prompt را می‌نویسند و model را عرضه می‌کنند؛ بنابراین این اجزا با یکدیگر سازگارند. Claude Code نمی‌تواند به این شکل کار کند، زیرا harness آن client یک API model ثابت است. Anthropic نیز modelهای خود را برای استفاده agentic آموزش می‌دهد، اما نمی‌توانید model را در زیر harness با model دیگری جایگزین کنید.

شکل یک جلسه MiMo-Code در ترمینال

اجرای mimo یک رابط ترمینالی تمام‌صفحه باز می‌کند. شما یک وظیفه را وارد می‌کنید، agent فایل‌ها را می‌خواند، یک تغییر را پیشنهاد می‌دهد و پیش از نوشتن یا اجرای هر چیزی از شما اجازه می‌گیرد. این ابزار، علاوه بر حالت build پیش‌فرض، حالت‌های plan و compose و همچنین یک سیستم subagent دارد که بخشی از کار را به یک اجرای جداگانه از agent می‌سپارد. Claude Code همین قابلیت را از مسیر دیگری ارائه می‌کند: در آن‌جا یک output style خود system prompt را بازنویسی می‌کند، نه این‌که شما را بین مجموعه‌ای ثابت از حالت‌های ازپیش‌آماده جابه‌جا کند. این ابزار همچنین مجموعه بزرگی از skillهای داخلی دارد که رویه‌های بسته‌بندی‌شده‌ای هستند و agent می‌تواند آن‌ها را با نام فراخوانی کند. یک skill می‌تواند به‌جای تغییر دانسته‌های agent، نحوه کار آن را تغییر دهد؛ ایده‌ای که در Ponytail، یک skill که agent را به کوچک‌ترین تغییر مؤثر محدود می‌کند به کار رفته است.

پیش از شروع، دانستن چند نکته مفید است.

  • تأیید به‌طور پیش‌فرض برای هر action جداگانه انجام می‌شود. فلگ --dangerously-skip-permissions این درخواست‌ها را حذف می‌کند. نام فلگ دقیق است؛ بنابراین فقط در شرایطی از آن استفاده کنید که اشتباه هیچ هزینه‌ای نداشته باشد. MiMo-Code این تصمیم را به یک سوییچ همه‌یا‌هیچ تبدیل می‌کند، اما Claude Code همین تصمیم را به modeهای permission درجه‌بندی‌شده تقسیم کرده است؛ بنابراین پیش از استفاده از فلگ، این‌که auto mode بدون درخواست اجازه چه کارهایی را به agent واگذار می‌کند مقایسه مفیدی است.
  • بدون ترمینال تعاملی نیز اجرا می‌شود. mimo run یک prompt دریافت می‌کند و آن را به‌صورت non-interactive اجرا می‌کند؛ این همان چیزی است که یک script یا job در CI به آن نیاز دارد.
  • configuration در فایل‌هایی قرار دارد که می‌توانید آن‌ها را commit کنید. یک پروژه .mimocode/mimocode.jsonc را می‌خواند و تنظیمات global در ~/.config/mimocode/mimocode.jsonc قرار دارند.
  • credentials در این فایل‌ها قرار ندارند. آن‌ها در ~/.local/share/mimocode/auth.json ذخیره می‌شوند؛ بنابراین این مسیر را از git و هر backup اشتراکی خارج نگه دارید.

agentی که می‌تواند commandهای shell را اجرا کند، برنامه‌ای است که shell خود را در اختیار آن گذاشته‌اید. برای آن machine و user جداگانه در نظر بگیرید. امن‌ترین روش برای آزمایش یک agent جدید، استفاده از یک VM موقت است که بتوانید پس از پایان جلسه آن را حذف کنید؛ زیرا در این حالت یک command نامناسب فقط به rebuild نیاز دارد، نه restore.

آیا MiMo-Code واقعاً از Claude Code بهتر است؟

مطلب معرفی Xiaomi ادعای مشخصی مطرح می‌کند: اگر یک مدل یکسان را در هر دو harness اجرا کنید، امتیاز MiMo-Code بیشتر خواهد بود. ارقام منتشرشده به این شرح‌اند.

نمودارXiaomi's self-reported harness comparison, same model in both agents
داده‌های پشت این نمودار
[
  {
    "tool": "MiMo-Code",
    "swe_bench_pro_pct": 62,
    "terminal_bench_2_pct": 73
  },
  {
    "tool": "Claude Code",
    "swe_bench_pro_pct": 57,
    "terminal_bench_2_pct": 68
  }
]

در SWE-bench Pro، Xiaomi برای MiMo-Code امتیاز 62 درصد و برای Claude Code امتیاز 57 درصد را گزارش می‌کند. در Terminal Bench 2 نیز این ارقام به‌ترتیب 73 درصد و 68 درصد هستند. مبنای این مقایسه آن است که مدل ثابت نگه داشته شده است؛ بنابراین اختلاف حدود پنج امتیاز باید از سیستم agent ناشی شود، نه از مدل. این استدلال فقط زمانی معنا دارد که بدانید harness یک agent دقیقاً چه بخش‌هایی را پوشش می‌دهد: loop، تعریف ابزارها، درخواست‌های permission و state نشست، بخش‌هایی هستند که بین این دو تفاوت دارند؛ درحالی‌که weights ثابت می‌مانند.

این ارقام را ارقام vendor در نظر بگیرید. Xiaomi ارزیابی را اجرا و نتایج آن را منتشر کرده است. بااین‌حال، تا August 2026، MiMo-Code در leaderboardهای عمومی SWE-bench یا Terminal-Bench دیده نمی‌شد؛ بنابراین تا آن زمان هیچ طرف مستقلی این اختلاف را بازتولید نکرده بود. Xiaomi درباره محدودیت نتیجه خودش شفاف‌تر از معمول است. در توضیح منتشرشده توسط این شرکت آمده است که این benchmarkها حل مسئله در یک نوبت و برای issueهای منفرد یک repository را اندازه‌گیری می‌کنند و در آزمون‌های داخلی Xiaomi، این دو agent در کمتر از حدود 200 گام اجرا تقریباً عملکرد یکسانی داشتند. برتری ادعاشده در اجراهای طولانی ظاهر می‌شود؛ اما benchmark یک‌نوبتی چنین حالتی را پوشش نمی‌دهد.

برداشت دقیق همین است. اختلاف پنج امتیازی در benchmarkی که vendor اجرا کرده است، دلیلی برای امتحان‌کردن ابزار محسوب می‌شود. اما دلیلی نیست که کارهای حیاتی تیم خود را به آن منتقل کنید.

هزینه‌های اجرای MiMo-Code

در زمان عرضه، Xiaomi یک کانال رایگان به نام MiMo Auto ارائه کرد که بدون نیاز به ثبت‌نام قابل استفاده بود. این سرویس از ابتدا به عنوان یک پیشنهاد محدود در نظر گرفته شده بود و Xiaomi در تاریخ 23 ژوئیه 2026 اعلام کرد که دوره استفاده رایگان از MiMo Code در ساعت 18:00 روز 26 ژوئیه 2026 به پایان می‌رسد و کاربران را به استفاده از طرح‌های پولی Token Plan هدایت کرد. آن کانال اکنون بسته شده است، بنابراین برای دسترسی پولی برنامه‌ریزی کنید.

هزینه دسترسی پولی به پلتفرم Xiaomi در مقایسه با ارائه‌دهندگان پیشرو بسیار ارزان است. یک کاهش قیمت دائمی و هماهنگ‌شده جهانی که از 27 مه 2026 اعمال شد، قیمت MiMo-V2.5-Pro را به 0.435 دلار به ازای هر میلیون توکن ورودی در صورت cache miss و 0.87 دلار به ازای هر میلیون توکن خروجی رساند. همین کاهش قیمت، نرخ‌های جداگانه بر اساس طول ورودی را حذف کرد، بنابراین یک نرخ واحد کل پنجره کانتکست 1 میلیون توکنی را پوشش می‌داد. مدل MiMo-V2.5-Pro از آن زمان بازنشسته شده است. Xiaomi درخواست‌های مربوط به آن را از ساعت 18:00 روز 14 اکتبر 2026 (به وقت UTC+8) به MiMo-V2.6 هدایت کرد و مدل‌های MiMo-V2.5-Pro و MiMo-V2.5 در ساعت 10:00 روز 21 اکتبر 2026 (به وقت UTC+8) بازنشسته شدند. شناسه‌های این مدل‌ها دیگر کار نمی‌کنند، بنابراین هرگونه پیکربندی را به MiMo-V2.6-Pro تغییر دهید. از تاریخ 25 اکتبر 2026، Xiaomi قیمت MiMo-V2.6-Pro را همان 0.435 دلار برای ورودی و 0.87 دلار برای خروجی به ازای هر میلیون توکن اعلام کرده است که همچنان دارای پنجره کانتکست 1 میلیون توکنی است. قیمت‌ها تغییر می‌کنند، بنابراین پیش از بودجه‌بندی، صفحه فعلی قیمت‌ها را مطالعه کنید.

مسیر دیگر، استفاده از سخت‌افزار شخصی است. وزن‌های (weights) مدل‌های MiMo-V2.5 و MiMo-V2.5-Pro تحت مجوز MIT در Hugging Face منتشر شده‌اند و بازنشستگی API باعث حذف آن‌ها نشده است، بنابراین هیچ مانعی برای میزبانی شخصی آن‌ها وجود ندارد. در مورد مقیاس واقع‌بین باشید. مدلی با پنجره کانتکست یک میلیون توکنی برای یک VPS معمولی مناسب نیست و شما به یک VPS با GPU متصل یا یک ماشین اختصاصی نیاز دارید. مدل‌های محلی کوچک‌تر بحث متفاوتی هستند و به اجرای Ollama روی یک VPS برای میزبانی شخصی LLM نزدیک‌ترند.

MiMo-Code به سایر فروشندگان نیز متصل می‌شود. این ابزار می‌تواند لاگین فعلی Claude Code را منتقل کند، به یک حساب OpenAI متصل شود، کلید API ارائه‌دهنده‌ای دیگر را بپذیرد یا با هر endpoint سازگار با OpenAI ارتباط برقرار کند. پیش از اتصال، شرایط اشتراک مصرف‌کننده خود را بررسی کنید، زیرا شرایط ارائه‌دهنده تعیین می‌کند که کدام کلاینت‌ها مجاز به استفاده از طرح اشتراک هستند و یک CLI از فروشنده دیگر همیشه تحت پوشش نیست.

آیا باید از Claude Code مهاجرت کرد؟

اگر در حال حاضر هزینه Claude Code را پرداخت می‌کنید و برایتان کار می‌کند، خیر. نسخه 0.1.15 در اواخر سپتامبر 2026، حدود سه ماه پس از اولین انتشار و همچنان آخرین نسخه تا تاریخ 25 اکتبر 2026، یک سیگنال صادقانه است. شماره نسخه 0.1.x به معنای تغییرات ساختاری بین نسخه‌ها و فرمت پیکربندی است که هنوز در حال تغییر است. این برای ابزاری که در حال ارزیابی آن هستید مناسب است، اما برای ابزاری که یک تیم به آن وابسته است، دردسرساز خواهد بود.

MiMo-Code در چهار موقعیت ارزش بررسی جدی دارد:

  • صورت‌حساب برای شما اهمیت دارد. قیمت‌های توکن Xiaomi بسیار پایین‌تر از فروشندگان پیشرو است و خودِ ایجنت هزینه‌ای ندارد.
  • نیاز دارید که کدهای ابزار را بررسی کنید. متن‌باز بودن به این معنی است که می‌توانید پرامپت‌ها و تعاریف ابزار را بازبینی کنید که برای بررسی امنیتی یا حسابرسی اهمیت دارد.
  • می‌خواهید ایجنت و مدل، خریدهای جداگانه‌ای باشند تا تغییر یکی، شما را مجبور به تغییر دیگری نکند.
  • کد نباید از شبکه شما خارج شود. وزن‌های متن‌باز، داشتن یک بک‌اند میزبانی‌شده شخصی را به جای مذاکره با سرویس‌دهنده ممکن می‌سازد.

Cursor و Copilot مقایسه متفاوتی هستند. هر دو در داخل یک ویرایشگر زندگی می‌کنند، در حالی که MiMo-Code در ترمینال اجرا می‌شود. این تفاوت بیش از هر امتیاز بنچمارکی بر روز کاری شما تأثیر می‌گذارد و مقایسه Claude Code با Cursor، Codex و Copilot این تفاوت‌ها را با جزئیات پوشش می‌دهد.

اجرای MiMo-Code روی VPS که از قبل اجاره کرده‌اید

یک agent ترمینال باید روی سرور اجرا شود. این agent ممکن است ساعت‌ها یک session را باز نگه دارد، به شبکه‌ای پایدار نیاز دارد و باید پس از بسته‌شدن درِ لپ‌تاپ نیز به کار خود ادامه دهد. الگوی عملی همان الگویی است که برای سایر agentهای ترمینال استفاده می‌شود: یک session طولانی‌مدت روی سروری کوچک که از هر جا می‌توانید دوباره به آن متصل شوید؛ این الگو در اجرای یک coding agent در tmux روی VPS توضیح داده شده است. وقتی بیش از یک agent روی آن سرور کار می‌کند، Claude Code می‌تواند متن را مستقیماً از یک session به session دیگر بفرستد؛ در نتیجه لازم نیست خروجی را دستی بین پنجره‌های tmux جابه‌جا کنید.

برای آن یک کاربر اختصاصی و فاقد امتیازهای privileged ایجاد کنید و آن را به clone مخزن هدایت کنید، نه به تنها نسخه‌ای که در اختیار دارید. دامنه دسترسی agent همان دامنه دسترسی حساب کاربری‌ای است که با آن اجرا می‌شود؛ این تنها کنترلی است که وقتی یک prompt اشتباه پیش می‌رود همچنان مؤثر می‌ماند.

این پروژه از دو روش توزیع می‌شود: یک shell installer که از طریق HTTPS ارائه می‌شود و یک npm package با نام @mimo-ai/cli برای هر سیستمی که از قبل Node.js داشته باشد. روی سروری که برایتان اهمیت دارد، npm package را ترجیح دهید. پیش از اجرا می‌توانید محتوای package را بررسی کنید و یک script راه‌دور را مستقیماً به shell pipe نمی‌کنید. برای دید کلی‌تر درباره چیزهای دیگری که شایسته است روی آن سرور قرار گیرند، مروری بر agentهای AI خودمیزبان نقشه راه شماست.

FAQ

آیا MiMo-Code رایگان است؟

این ایجنت رایگان و متن‌باز تحت مجوز MIT است، بنابراین می‌توانید آن را بخوانید و تغییر دهید. بخشی که هزینه دارد، مدل پشت آن است. Xiaomi در زمان عرضه یک کانال رایگان محدود به نام MiMo Auto ارائه کرد و دوره استفاده رایگان از MiMo Code را در 26 ژوئیه 2026 به پایان رساند، بنابراین برای دسترسی پولی برنامه‌ریزی کنید. کاهش قیمت دائمی در 27 مه 2026، قیمت MiMo-V2.5-Pro را به 0.435 دلار برای هر میلیون توکن ورودی در صورت cache miss و 0.87 دلار برای هر میلیون توکن خروجی رساند. Xiaomi مدل MiMo-V2.5-Pro را در 21 اکتبر 2026 بازنشسته کرد و جانشین آن، MiMo-V2.6-Pro، از تاریخ 25 اکتبر 2026 با همان نرخ‌ها لیست شده است. شما همچنین می‌توانید MiMo-Code را به هر endpoint سازگار با OpenAI متصل کنید و به فروشنده دیگری هزینه پرداخت کنید.

آیا MiMo-Code همان OpenCode است؟

این پروژه به عنوان یک فورک از OpenCode آغاز شد و همچنان هسته آن را به اشتراک می‌گذارد. رابط ترمینال، سیستم پلاگین، انتزاع ارائه‌دهنده و یکپارچه‌سازی MCP همگی از آن کدبیس آمده‌اند و خط کپی‌رایت OpenCode در فایل LICENSE مخزن حفظ شده است. Xiaomi یک لایه حافظه پایدار با پشتیبانی از جستجوی تمام‌متن SQLite، حالت‌های ایجنت اضافی و دسترسی مستقیم به مدل‌های خود را به آن افزوده است. اگر با OpenCode آشنا هستید، اکثر رفتارهای MiMo-Code را از قبل می‌شناسید.

آیا می‌توانم به جای مدل‌های Xiaomi از مدل‌های Claude یا GPT با MiMo-Code استفاده کنم؟

بله. راه‌اندازی اولیه پیشنهاد می‌دهد که لاگین فعلی Claude Code را منتقل کنید، به یک حساب OpenAI متصل شوید یا کلید API ارائه‌دهنده دیگری را بپذیرید. همچنین می‌توانید هر endpoint سازگار با OpenAI را به صورت دستی در ~/.config/mimocode/mimocode.jsonc پیکربندی کنید. پیش از اتصال، شرایط اشتراک مصرف‌کننده خود را بررسی کنید، زیرا شرایط ارائه‌دهنده کنترل می‌کند که کدام کلاینت‌ها مجاز به استفاده از طرح اشتراک هستند.

آیا اجرای MiMo-Code روی ماشین اصلی امن است؟

با آن مانند هر ایجنتی که می‌تواند دستورات shell را اجرا کند رفتار کنید. این ابزار به‌طور پیش‌فرض پیش از هر اقدام درخواست تأیید می‌کند و --dangerously-skip-permissions آن پرامپت‌ها را غیرفعال می‌کند که عامل اصلی اکثر حوادث است. آن را به عنوان یک کاربر اختصاصی بدون دسترسی‌های ویژه (unprivileged)، روی یک کلون از مخزن و ترجیحاً روی ماشینی که می‌توانید آن را تخریب و بازسازی کنید، اجرا کنید. شعاع انفجار آن محدود به حسابی است که با آن اجرا می‌شود، بنابراین دسترسی‌های آن حساب را محدود نگه دارید.

آیا این مقاله مفید بود؟