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à coding agent chạy trong terminal, do đội ngũ MiMo của Xiaomi xây dựng và phát hành dưới dạng mã nguồn mở vào ngày 15 June 2026 theo giấy phép MIT. 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à 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 chỉnh sửa và command, rồi bạn phê duyệt. Có hai điểm khác biệt quan trọng. Mã nguồn được công khai, nên bạn có thể xem chính xác agent gửi gì đến model. Ngoài ra, model được tách riêng khỏi agent, nên cùng một harness có thể kết nối đến model của Xiaomi, endpoint tương thích với OpenAI hoặc model do bạn tự host.
Repository có tên là MiMo-Code và command được cài đặt là mimo. Cả hai tên đều xuất hiện trong tài liệu, nên tìm kiếm theo tên nào cũng sẽ tìm được cùng một tool.
MiMo-Code xuất phát từ đâu và vì sao điều đó quan trọng
MiMo-Code là một fork của OpenCode, terminal agent mã nguồn mở thuộc project sst. File LICENSE vẫn giữ dòng Copyright (c) 2025 opencode gốc, còn README có một section ngắn mô tả mối quan hệ này. Trên repository có một issue đề nghị Xiaomi ghi công đầy đủ hơn cho các contributor của OpenCode, thay vì chỉ giữ lại một dòng license.
Điều này giải thích một điểm thoạt nhìn có vẻ không thể. Một project được release 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, lớp 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 toàn bộ phần này trong sáu tuần. Những thành phần đó đã có sẵn khi fork. Phần mới do Xiaomi phát triển là lớp memory và khả năng tích hợp với các model riêng của Xiaomi.
Nếu bạn đã chạy OpenCode trên một 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 và agents đồng tiến hóa” thực sự có nghĩa là gì
Tagline của repository là “Where Models and Agents Co-Evolve”. Cụm này chứa hai tuyên bố riêng biệt, nhưng chỉ một trong số đó có chi tiết đã được công bố 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 kho memory riêng cho từng project, dùng SQLite full-text search, cùng với session state và tiến độ task. Hai 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 rồi ghi vào project memory. /distill biến một quy trình lặp lại thành một skill có thể tái sử dụng. Tài liệu engineering của Xiaomi cho biết các tác vụ này chạy theo chu kỳ khoảng một đến bốn tuần, 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. Kho này tự được bổ sung, nhưng không thay thế các file instruction 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 tải file tương ứng với 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ấ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 để agent không 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 xử lý cùng loại lãng phí đó từ hướng ngược lại: cung cấp cấu trúc cho agent thay vì buộc nó phải đọc lại để tự dựng cấu trúc.
Tuyên bố thứ hai nói về training, và ở đây cần thận trọng. Xiaomi mô tả quy trình post-training của MiMo-V2.5 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 teacher model chuyên biệt vào một student model. Agentic RL nghĩa là model được training trên các episode gọi tool nhiều bước, thay vì các cặp hỏi-đáp đơn lẻ. Điều này là có thật và giải thích vì sao model vẫn hoạt động nhất quán qua các chuỗi gọi tool dài. Xiaomi chưa công bố training report cho thấy model được tối ưu bên trong chính harness này, với harness thay đổi theo phản hồi của 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ả hai phần. 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 viết tool schema, system prompt và phát hành model, nên các thành phần này được thiết kế để phù hợp với nhau. Claude Code không thể hoạt động theo cách đó, vì harness của nó là một client dùng fixed API model. Anthropic cũng training 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 task, agent đọc các file, đề xuất thay đổi rồi hỏi trước khi ghi hoặc chạy bất kỳ thứ gì. Ngoài build mode mặc định, công cụ này 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 lần chạy agent riêng. Claude Code đạt được mức kiểm soát tương tự theo hướng ngược lại: một output style tự viết lại system prompt thay vì chuyển bạn giữa một tập mode cố định đã chuẩn bị sẵn. Công cụ này cũng có một tập lớn skill tích hợp sẵn. Đây là các quy trình được đóng gói trước mà agent có thể gọi theo tên. Một 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 của Ponytail, một skill buộc agent chỉ thực hiện thay đổi nhỏ nhất nhưng vẫn có tác dụng.
Bạn nên biết một vài điểm trước khi bắt đầu.
- Mặc định, agent yêu cầu phê duyệt cho từng action. Flag
--dangerously-skip-permissionssẽ bỏ qua các prompt này. Tên flag phản ánh đúng tác dụng, vì vậy chỉ dùng khi một lỗi không gây hậu quả. MiMo-Code biến đây thành một công tắc 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, hãy xem auto mode cho phép agent làm gì mà không cần hỏi trước khi dùng flag này. - Agent chạy được mà không cần interactive terminal.
mimo runnhận prompt và thực thi non-interactively. Đây là cách script hoặc CI job cần dùng. Sản phẩm cũng có web interface. - Cấu hình nằm trong các file mà bạn có thể commit. Một project đọc
.mimocode/mimocode.jsonc, còn thiết lập toàn cục nằm trong~/.config/mimocode/mimocode.jsonc. - Credentials không nằm trong các file đó. Chúng được lưu 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 cho agent một máy riêng và một user riêng. Cách an toàn nhất để thử 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 lỗi chỉ khiến bạn phải rebuild thay vì restore.
MiMo-Code thực sự vượt Claude Code sao?
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, MiMo-Code đạt điểm cao hơn. Đây là các số liệu đã công bố.
The data behind this chart
[
{
"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 62 phần trăm cho MiMo-Code, so với 57 phần trăm cho Claude Code. Trên Terminal Bench 2, các con số lần lượt là 73 phần trăm và 68 phần trăm. Cách trình bày ở đây là model được giữ nguyên, nên chênh lệch khoảng 5 điểm đến từ agent system chứ không phải từ model. Cách trình bày này chỉ có ý nghĩa nếu bạn biết một agent harness thực sự bao gồm những gì: loop, định nghĩa tool, các prompt xin quyền và session state là những phần khác nhau giữa hai bên, 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 evaluation và công bố kết quả, còn MiMo-Code dường như chưa xuất hiện trên các leaderboard công khai của SWE-bench hoặc Terminal-Bench, nên chưa có bên độc lập nào tái hiện chênh lệch này. Xiaomi cũng thẳng thắn bất thường về giới hạn của chính kết quả đó. Bài viết của công ty cho biết các benchmark này đo khả năng giải quyết vấn đề trong một lần chạy trên các issue thuộc một repository đơn lẻ, và trong quá trình test nội bộ, hai agent hoạt động gần như tương đương khi chưa vượt khoảng 200 execution step. Lợi thế được tuyên bố xuất hiện trong các lần chạy dài, trong khi đó lại là trường hợp mà benchmark chạy một lần không bao phủ.
Đó là cách diễn giải chính xác. Chênh lệch 5 điểm trên benchmark do vendor tự chạy là lý do để thử công cụ. Đây không phải lý do để chuyển công việc mà đội của bạn đang phụ thuộc vào đó sang công cụ này.
Chi phí vận hành MiMo-Code
Khi ra mắt, Xiaomi cung cấp 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ỉ có trong thời gian giới hạn. Ghi chú phát hành của version 0.1.9 ngày 24 July 2026 đề cập đến việc kết thúc bản dùng thử MiMo-V2.5 miễn phí đó. Không nên xây dựng workflow phụ thuộc vào kênh này.
Quyền truy cập trả phí vào nền tảng của Xiaomi có chi phí thấp hơn đáng kể so với các nhà cung cấp model hàng đầu. Tính đến August 2026, giá quốc tế được công bố cho MiMo-V2.5-Pro là $1.00 cho mỗi một triệu input token khi cache miss và $3.00 cho mỗi một triệu output token, với context tối đa 256K. 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 còn lại là dùng phần cứng của bạn. Weights của MiMo-V2.5 và MiMo-V2.5-Pro được công bố trên Hugging Face theo license MIT, nên không có gì ngăn bạn tự serve chúng. Hãy đánh giá thực tế theo 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 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 vendor khác. Nó có thể migrate phiên đăng nhập Claude Code hiện có, kết nối tài khoản OpenAI, nhận API key của provider 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 gói 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 provider quyết định những client nào được phép sử dụng gói subscription. CLI của vendor khác không phải lúc nào cũng được bao phủ.
Có nên chuyển khỏi Claude Code?
Nếu bạn đã trả phí cho Claude Code và công cụ này hoạt động tốt thì không. Phiên bản 0.1.9 vào cuối tháng 7 năm 2026, chỉ 6 tuần sau bản phát hành đầu tiên, là tín hiệu rõ ràng nhất. Số phiên bản 0.1.x cho thấy các bản phát hành có thể chứa breaking change và format cấu hình vẫn đang thay đổi. Điều đó phù hợp với một công cụ bạn đang đánh giá, nhưng 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.
- Chi phí là vấn đề với bạn. Giá token của Xiaomi thấp hơn nhiều so với các nhà cung cấp model hàng đầu, còn agent không tốn phí.
- Bạn cần đọc harness. Open source cho phép bạn kiểm tra prompt và định nghĩa tool, điều này quan trọng khi security review hoặc audit.
- Bạn muốn mua agent và model riêng biệt, để việc thay đổi một thành phần không buộc phải thay đổi thành phần còn lại.
- Code không được phép rời khỏi network của bạn. Open weights giúp triển khai backend self-hosted thay vì phải đàm phán.
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 nhiều 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 này.
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 này miễn phí và là phần mềm nguồn mở theo giấy phép MIT, nên bạn có thể đọc và sửa mã nguồn. Chi phí nằm ở model phía sau agent. Khi ra mắt, Xiaomi cung cấp một kênh miễn phí có thời hạn tên là MiMo Auto. Ghi chú phát hành ngày 24 July 2026 cho biết chương trình dùng thử đó đã kết thúc, vì vậy bạn nên chuẩn bị dùng access trả phí. Tính đến August 2026, giá quốc tế được công bố cho MiMo-V2.5-Pro là $1.00 cho mỗi triệu input token khi cache miss và $3.00 cho mỗi triệu output token. Bạn cũng có thể trỏ MiMo-Code đến bất kỳ endpoint tương thích với OpenAI nào và trả phí cho một vendor khác.
MiMo-Code có phải là OpenCode không?
MiMo-Code bắt đầu là một fork của OpenCode và vẫn dùng chung phần core. Giao diện terminal, hệ thống plugin, lớp abstraction cho provider và tích hợp MCP đều xuất phát từ codebase đó. Dòng bản quyền của OpenCode vẫn được giữ trong file LICENSE của repository. Xiaomi đã thêm một lớp memory persistent dùng 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 chính hãng. Nếu bạn đã biết OpenCode, bạn đã nắm được 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 chạy đầu tiên cho phép bạn migrate login Claude Code hiện có, kết nối tài khoản OpenAI hoặc nhập API key của provider khác. Bạn cũng có thể cấu hình thủ công bất kỳ endpoint tương thích với OpenAI nào trong ~/.config/mimocode/mimocode.jsonc. Hãy kiểm tra điều khoản của gói consumer subscription trước khi kết nối, vì điều khoản của provider quy định client nào được phép sử dụng gói subscription đó.
MiMo-Code có an toàn khi chạy trên máy chính của tôi không?
Hãy coi MiMo-Code như bất kỳ agent nào có thể chạy shell command. Theo mặc định, agent yêu cầu bạn approve trước mỗi action. --dangerously-skip-permissions sẽ tắt các prompt này, và đây là nguyên nhân của phần lớn sự cố. Hãy chạy agent bằng một user dedicated không có quyền đặc biệt, trên một clone của repository, và tốt nhất là trên một máy mà bạn có thể xóa rồi rebuild. Blast radius của agent bị giới hạn bởi account mà agent sử dụng, vì vậy hãy giữ account đó ở mức quyền tối thiểu.