SSD Nodes Learn Hosting plans →
Hướng dẫn Matt ConnorBởi Matt Connor

MiMo-Code là gì? Coding agent của Xiaomi có gì khác

Tìm hiểu MiMo-Code, coding agent CLI mã nguồn mở MIT của Xiaomi, fork từ OpenCode. Xem benchmark do Xiaomi tự báo cáo trước khi đổi công cụ.

MiMo-Code là gì?

MiMo-Code là một coding agent chạy trong terminal, do nhóm MiMo của Xiaomi xây dựng và phát hành dưới dạng mã nguồn mở vào tháng 6 năm 2026 theo giấy phép MIT. Bài viết giới thiệu của Xiaomi, đề ngày 10 tháng 6 năm 2026, đã mô tả đây là một dự án mã nguồn mở. Công cụ này chạy dưới dạng CLI (command line interface) trong shell. Nó đọc và chỉnh sửa file trong project, chạy shell command, thao tác với git và lưu ghi chú về codebase giữa các session.

Cách hoạt động tương tự Claude Code. Bạn mô tả task bằng ngôn ngữ tự nhiên, agent đề xuất các thay đổi và command, rồi bạn phê duyệt. Có 2 điểm khác biệt đáng chú ý. Mã nguồn được công khai, nên bạn có thể xem chính xác agent gửi gì đến model. Model cũng được chọn riêng với agent, nên cùng một harness có thể kết nối đến model của Xiaomi, một endpoint tương thích OpenAI hoặc model do bạn tự host.

Repository có tên là MiMo-Code và command mà nó cài đặt là mimo. Cả 2 tên đều xuất hiện trong documentation, nên tìm kiếm theo tên nào cũng sẽ tìm thấy cùng một tool.

Nguồn gốc của MiMo-Code và lý do điều đó quan trọng

MiMo-Code là một fork của OpenCode, terminal agent mã nguồn mở từ project sst. File LICENSE giữ nguyên dòng Copyright (c) 2025 opencode ban đầu, còn README có một section ngắn giải thích mối quan hệ này. Hiện có một issue mở trên repository, yêu cầu Xiaomi ghi công các contributor của OpenCode đầy đủ hơn thay vì chỉ giữ lại một dòng trong license.

Điều này giải thích một điểm ban đầu có vẻ không thể xảy ra. Một project được phát hành lần đầu vào tháng 6 năm 2026 đã có sẵn một TUI (text user interface) hoàn thiện, hệ thống plugin, abstraction cho provider có thể giao tiếp với nhiều model API, hỗ trợ MCP (model context protocol) và tích hợp LSP (language server protocol). Không thể hoàn thành từng đó công việc chỉ trong vài tuần. Các thành phần này đã có sẵn khi fork. Phần mới của Xiaomi là memory layer và việc kết nối với các model riêng của Xiaomi.

Nếu bạn đã từng chạy OpenCode trên VPS, layout và keybinding sẽ rất quen thuộc, vì phần code bên dưới vẫn là cùng một codebase.

“Models and agents co-evolve” thực sự có nghĩa là gì

Tagline của repository là “Where Models and Agents Co-Evolve”. Cụm này đưa ra 2 tuyên bố riêng biệt, nhưng chỉ một tuyên bố có chi tiết công khai hỗ trợ.

Tuyên bố đầu tiên nói về runtime và đã được tài liệu hóa. MiMo-Code duy trì một memory store riêng cho từng project, dùng SQLite full-text search, cùng với session state và tiến độ task. Có 2 slash command điều khiển cơ chế này. /dream lấy kiến thức lâu dài từ các session gần đây và ghi vào project memory. /distill chuyển một quy trình lặp lại thành skill có thể tái sử dụng. Tài liệu kỹ thuật của Xiaomi cho biết Dream tự động chạy mỗi 7 ngày và Distill mỗi 30 ngày, thay vì chạy sau mỗi session. Vì vậy, hành vi của agent trên repository sẽ thay đổi theo thời gian trong khi file model vẫn giữ nguyên. Store này tự được bổ sung, nhưng không thay thế các instruction file bạn tự viết. Trong monorepo, nên giữ các file đó dưới dạng mỗi package một file nhỏ thay vì một file duy nhất ở root, để agent nạp file trong directory mà nó đang làm việc. Viết các file đó là phần dễ. Khi agent bỏ qua một rule mà bạn chắc chắn đã viết rõ, các lý do khiến instruction bị bỏ qua thường mang tính cơ học hơn là khó hiểu. Memory được chắt lọc từ các session trước chỉ là một cách để ngăn agent phải học lại project từ đầu. Một tree-sitter map của repository mà agent có thể truy vấn qua MCP cũng giải quyết cùng sự lãng phí đó từ hướng ngược lại: cung cấp cho agent cấu trúc của repository thay vì buộc nó tự đọc để dựng lại cấu trúc.

Tuyên bố thứ hai nói về training, và ở đây bạn cần thận trọng. Xiaomi mô tả post-training của MiMo-V2.5 là một pipeline gồm 3 giai đoạn: supervised fine-tuning, sau đó là large-scale agentic reinforcement learning (RL), rồi on-policy distillation từ nhiều specialist teacher model vào một student model. Agentic RL nghĩa là model được train trên các episode gọi tool nhiều bước, thay vì các cặp câu hỏi và câu trả lời đơn lẻ. Điều này là có thật và giải thích vì sao model duy trì được tính nhất quán qua các chuỗi gọi tool dài. Tuy nhiên, Xiaomi chưa công bố training report cho thấy model được tối ưu bên trong harness cụ thể này, trong đó harness thay đổi để phản hồi theo model.

Vì vậy, hãy hiểu “co-evolve” là tuyên bố về định hướng của một team sở hữu cả 2 phía. Lợi ích bạn thực sự có thể quan sát hẹp hơn nhưng vẫn đáng kể: cùng một nhóm người viết tool schema, system prompt và phát hành model, nên các thành phần này tương thích với nhau. Claude Code không thể hoạt động theo cách đó vì harness của nó là client của một API model cố định. Anthropic cũng train model cho mục đích agentic, nhưng bạn không thể thay model bên dưới harness.

Một phiên MiMo-Code trong terminal trông như thế nào

Chạy mimo sẽ mở giao diện terminal toàn màn hình. Bạn nhập một tác vụ, agent đọc các file, đề xuất thay đổi và hỏi trước khi ghi hoặc chạy bất cứ thứ gì. Ngoài build mode mặc định, sản phẩm còn có plan mode và compose mode, cùng hệ thống subagent để giao một phần công việc cho một agent run riêng. Claude Code đạt được mức kiểm soát tương tự theo hướng khác: output style sẽ viết lại chính system prompt thay vì chuyển bạn giữa một tập mode cố định đã được chuẩn bị sẵn. Claude Code cũng có một bộ skill tích hợp lớn. Đây là các quy trình được đóng gói sẵn mà agent có thể gọi theo tên. Skill cũng có thể thay đổi cách agent làm việc thay vì thay đổi kiến thức của agent. Đó là ý tưởng đằng sau Ponytail, một skill buộc agent chỉ thực hiện thay đổi nhỏ nhất có thể hoạt động.

Bạn nên biết một vài chi tiết trước khi bắt đầu.

  • Mặc định, hệ thống yêu cầu approval cho từng action. Flag --dangerously-skip-permissions sẽ bỏ qua các prompt này. Tên flag đã nói rõ chức năng, vì vậy chỉ dùng khi sai sót không gây hậu quả. MiMo-Code biến đây thành một tùy chọn bật hoặc tắt hoàn toàn, còn Claude Code chia cùng quyết định đó thành các permission mode theo nhiều mức. Vì vậy, trước khi dùng flag, hãy xem auto mode cho phép agent làm gì mà không cần hỏi để so sánh.
  • MiMo-Code chạy mà không cần interactive terminal. mimo run nhận prompt và thực thi non-interactively. Đây là cách script hoặc CI job cần dùng.
  • Configuration được lưu trong các file bạn có thể commit. Project đọc .mimocode/mimocode.jsonc, còn global settings nằm trong ~/.config/mimocode/mimocode.jsonc.
  • Credentials không được lưu trong các file đó. Chúng nằm trong ~/.local/share/mimocode/auth.json. Vì vậy, không đưa path này vào git hoặc bất kỳ bản backup nào bạn chia sẻ.

Một agent có thể chạy shell command thực chất là một chương trình được bạn trao quyền sử dụng shell. Hãy cấp cho nó một máy riêng và một user riêng. Cách an toàn nhất để thử một agent mới là dùng một VM tạm thời có thể xóa sau phiên làm việc, vì khi đó một command sai chỉ khiến bạn phải dựng lại máy thay vì khôi phục máy từ backup.

MiMo-Code có thực sự vượt Claude Code không?

Tài liệu ra mắt của Xiaomi đưa ra một tuyên bố cụ thể: chạy cùng một model trong cả hai harness thì MiMo-Code đạt điểm cao hơn. Đây là các số liệu đã công bố.

Biểu đồXiaomi's self-reported harness comparison, same model in both agents
Dữ liệu đằng sau biểu đồ này
[
  {
    "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
  }
]

Trên SWE-bench Pro, Xiaomi báo cáo MiMo-Code đạt 62 phần trăm, còn Claude Code đạt 57 phần trăm. Trên Terminal Bench 2, hai con số lần lượt là 73 phần trăm và 68 phần trăm. Cách trình bày này cho rằng model được giữ nguyên, nên khoảng cách khoảng 5 điểm đến từ agent system chứ không phải từ model. Cách trình bày đó chỉ có ý nghĩa nếu bạn biết agent harness thực sự bao gồm những gì: loop, định nghĩa tool, các permission prompt và session state là những phần khác nhau giữa hai hệ thống, còn weights vẫn giữ nguyên.

Hãy xem đây là số liệu do vendor cung cấp. Xiaomi tự chạy và công bố kết quả đánh giá. Tính đến tháng 8 năm 2026, MiMo-Code chưa xuất hiện trên các leaderboard công khai của SWE-bench hoặc Terminal-Bench, nên tại thời điểm đó chưa có bên độc lập nào tái hiện được khoảng cách này. Xiaomi khá thẳng thắn về giới hạn của chính kết quả do mình công bố. Bài viết của công ty nói rằng các benchmark này đo khả năng giải quyết vấn đề trong một lần chạy trên từng issue riêng lẻ của repository. Bài viết cũng cho biết trong thử nghiệm nội bộ, hai agent hoạt động gần như ngang nhau khi dưới khoảng 200 bước thực thi. Lợi thế được tuyên bố chỉ xuất hiện trong các lần chạy dài, trong khi đó là trường hợp mà benchmark chạy một lần không bao quát.

Đó là cách diễn giải trung thực. Khoảng cách 5 điểm trên benchmark do vendor tự chạy là lý do để thử tool. Đây không phải lý do để chuyển công việc mà team của bạn phụ thuộc vào sang tool đó.

Chi phí vận hành MiMo-Code

Khi ra mắt, Xiaomi phát hành một kênh miễn phí có tên MiMo Auto, có thể dùng mà không cần đăng ký. Ngay từ đầu, kênh này được mô tả là chỉ miễn phí trong thời gian giới hạn. Ngày 23 July 2026, Xiaomi thông báo giai đoạn sử dụng miễn phí MiMo Code sẽ kết thúc lúc 18:00 ngày 26 July 2026 và hướng người dùng sang Token Plan trả phí. Kênh đó đã đóng, vì vậy hãy chuẩn bị cho việc sử dụng có trả phí.

Dịch vụ trả phí trên nền tảng của Xiaomi có giá thấp hơn đáng kể so với các nhà cung cấp frontier. Đợt giảm giá cố định, đồng bộ trên toàn cầu, có hiệu lực từ ngày 27 May 2026, đặt giá MiMo-V2.5-Pro ở mức $0.435 cho mỗi triệu input token khi cache miss và $0.87 cho mỗi triệu output token. Đợt giảm giá này cũng bỏ cách tính giá riêng theo độ dài input, nên một mức giá áp dụng cho toàn bộ context window 1M token. MiMo-V2.5-Pro sau đó đã bị ngừng cung cấp. Xiaomi chuyển các request dành cho model này sang MiMo-V2.6 từ 18:00 ngày 14 October 2026 (UTC+8), còn MiMo-V2.5-Pro và MiMo-V2.5 bị ngừng cung cấp lúc 10:00 ngày 21 October 2026 (UTC+8). Các model ID này không còn hoạt động, vì vậy hãy trỏ mọi cấu hình sang MiMo-V2.6-Pro. Tính đến ngày 25 October 2026, Xiaomi niêm yết MiMo-V2.6-Pro với cùng mức giá $0.435 và $0.87 cho mỗi triệu token, đồng thời vẫn có context window 1M token. Giá có thể thay đổi, vì vậy hãy đọc trang hiện tại trước khi lập ngân sách.

Lựa chọn khác là dùng phần cứng của riêng bạn. Weights của MiMo-V2.5 và MiMo-V2.5-Pro được công bố trên Hugging Face theo MIT license. Việc API bị ngừng cung cấp không gỡ các weights này xuống, vì vậy bạn vẫn có thể tự host chúng. Hãy đánh giá thực tế về quy mô. Model có context window một triệu token không phù hợp với VPS thông thường. Bạn sẽ cần một VPS có gắn GPU hoặc một máy chuyên dụng. Các model local nhỏ hơn là một bài toán khác, gần với việc chạy Ollama trên VPS để tự host một LLM.

MiMo-Code cũng kết nối được với các nhà cung cấp khác. Nó có thể migrate Claude Code login hiện có, kết nối tài khoản OpenAI, nhận API key của nhà cung cấp khác hoặc giao tiếp với bất kỳ endpoint tương thích OpenAI nào. Hãy kiểm tra điều khoản của subscription dành cho người dùng cá nhân trước khi kết nối, vì điều khoản của nhà cung cấp quyết định client nào được phép dùng subscription plan. CLI của nhà cung cấp khác không phải lúc nào cũng được bao phủ.

Bạn có nên chuyển khỏi Claude Code?

Nếu bạn đã trả tiền cho Claude Code và nó hoạt động tốt thì không. Version 0.1.15 vào cuối September 2026, khoảng ba tháng sau bản release đầu tiên và vẫn là bản release mới nhất tính đến ngày 25 October 2026, là tín hiệu rõ ràng. Version 0.1.x cho thấy có thể xuất hiện breaking change giữa các bản release và format cấu hình vẫn đang thay đổi. Điều đó không sao với một tool bạn đang đánh giá, nhưng sẽ gây khó khăn nếu cả team phụ thuộc vào nó.

MiMo-Code đáng được cân nhắc nghiêm túc trong 4 trường hợp.

  • Hóa đơn là vấn đề của bạn. Giá token của Xiaomi thấp hơn nhiều so với các nhà cung cấp frontier, còn agent thì miễn phí.
  • Bạn cần đọc harness. Open source cho phép bạn kiểm tra prompt và tool definition, điều này quan trọng khi security review hoặc audit.
  • Bạn muốn agent và model là hai khoản mua riêng, để việc thay đổi một bên không bắt buộc phải thay đổi bên còn lại.
  • Code không được rời khỏi network của bạn. Open weights giúp có thể self-host backend thay vì phải thương lượng.

Cursor và Copilot là một phép so sánh khác. Cả hai chạy bên trong editor, còn MiMo-Code chạy trong terminal. Khác biệt này ảnh hưởng đến phần lớn ngày làm việc của bạn hơn bất kỳ điểm benchmark nào, và bài so sánh Claude Code với Cursor, Codex và Copilot trình bày chi tiết sự đánh đổi đó.

Chạy MiMo-Code trên VPS bạn đã thuê

Một terminal agent nên chạy trên server. Nó duy trì một session trong nhiều giờ, cần mạng ổn định và phải tiếp tục hoạt động khi bạn đóng nắp laptop. Cách triển khai cũng giống các terminal agent khác: duy trì một session dài hạn trên một server nhỏ, rồi reattach từ bất kỳ đâu. Xem chạy coding agent trong tmux trên VPS. Khi có nhiều agent cùng làm việc trên server đó, Claude Code có thể chuyển thẳng văn bản từ một session sang session khác, giúp bạn không phải tự chuyển output giữa các cửa sổ tmux.

Tạo một user không có quyền đặc biệt dành riêng cho agent và trỏ agent đến một bản clone của repository thay vì bản sao duy nhất của bạn. Phạm vi truy cập của agent chính là quyền của account mà nó chạy dưới đó. Đây là biện pháp kiểm soát vẫn có hiệu lực khi prompt gặp lỗi.

Project được phân phối theo 2 cách: shell installer được cung cấp qua HTTPS và npm package có tên @mimo-ai/cli dành cho mọi máy đã cài Node.js. Trên server quan trọng, nên dùng npm package. Bạn có thể đọc nội dung package trước khi chạy, thay vì pipe trực tiếp một script từ xa vào shell. Để có cái nhìn tổng quan về những thành phần khác đáng cài trên server đó, hãy xem bài tổng hợp các AI agent tự host.

FAQ

MiMo-Code có miễn phí không?

Agent miễn phí và open source theo MIT license, nên bạn có thể đọc và sửa code. Phần tốn tiền là model đứng phía sau. Khi ra mắt, Xiaomi phát hành một kênh miễn phí trong thời gian giới hạn có tên MiMo Auto và kết thúc giai đoạn sử dụng miễn phí MiMo Code vào ngày 26 July 2026, vì vậy hãy chuẩn bị cho việc sử dụng có trả phí. Đợt giảm giá cố định ngày 27 May 2026 đặt giá MiMo-V2.5-Pro ở mức $0.435 cho mỗi triệu input token khi cache miss và $0.87 cho mỗi triệu output token. Xiaomi ngừng cung cấp MiMo-V2.5-Pro vào ngày 21 October 2026. Model thay thế là MiMo-V2.6-Pro, được niêm yết cùng mức giá tính đến ngày 25 October 2026. Bạn cũng có thể trỏ MiMo-Code đến bất kỳ endpoint tương thích OpenAI nào và trả phí cho nhà cung cấp khác.

MiMo-Code có phải là OpenCode không?

Nó bắt đầu là một fork của OpenCode và vẫn dùng chung core của dự án đó. Giao diện terminal, plugin system, provider abstraction và MCP integration đều đến từ codebase đó. Dòng bản quyền của OpenCode vẫn được giữ trong file LICENSE của repository. Xiaomi bổ sung persistent memory layer dựa trên SQLite full-text search, các agent mode bổ sung và quyền truy cập trực tiếp vào model của mình. Nếu bạn biết OpenCode thì bạn đã hiểu phần lớn cách MiMo-Code hoạt động.

Tôi có thể dùng MiMo-Code với model Claude hoặc GPT thay cho model của Xiaomi không?

Có. Thiết lập lần đầu cho phép migrate Claude Code login hiện có, kết nối tài khoản OpenAI hoặc nhận API key của nhà cung cấp khác. Bạn cũng có thể cấu hình thủ công bất kỳ endpoint tương thích OpenAI nào trong ~/.config/mimocode/mimocode.jsonc. Hãy kiểm tra điều khoản của subscription dành cho người dùng cá nhân trước khi kết nối, vì điều khoản của nhà cung cấp quy định client nào được phép dùng subscription plan.

Tôi có nên chạy MiMo-Code trên máy chính không?

Hãy xử lý nó như bất kỳ agent nào có thể chạy shell command. Theo mặc định, nó yêu cầu phê duyệt trước mỗi action. --dangerously-skip-permissions tắt các prompt này, và đây là cách phần lớn sự cố xảy ra. Hãy chạy nó bằng một user không có quyền đặc biệt dành riêng, trên một clone của repository, và tốt nhất là trên một máy bạn có thể xóa rồi rebuild. Blast radius của nó nằm trong account dùng để chạy, vì vậy hãy giữ account đó ở mức quyền tối thiểu.

Bài viết này có hữu ích không?