Các phần cơ sở kiến thức ▾

Điều hướng

▸ Bắt đầu tại đây Theo vai trò

Danh mục

Công cụ 52
Bảng thuật ngữ 12

Công cụ

MiMo Code + JoinGonka Gateway: đại lý Xiaomi trên các mô hình mạng Gonka

MiMo Code (lệnh mimo) — là một tác nhân mã nguồn dựa trên dòng lệnh của phòng thí nghiệm Xiaomi MiMo: nó đọc và viết mã, chạy các lệnh, làm việc với Git và duy trì bộ nhớ dự án liên tục giữa các phiên làm việc. Đây là một bản fork của OpenCode: tất cả các tính năng của bản gốc đều được giữ nguyên, đồng thời bổ sung thêm các điểm kiểm tra phiên (session checkpoints), khôi phục ngữ cảnh, các tác nhân phụ (sub-agents) và các quy trình làm việc sẵn sàng sử dụng. Mã nguồn được mở theo giấy phép MIT; dự án còn non trẻ và thay đổi nhanh chóng, vì vậy mọi thông tin dưới đây gắn liền với phiên bản 0.1.15, ra mắt ngày 22 tháng 9 năm 2026.

Lớp mô hình của MiMo Code có thể thay đổi được: bất kỳ API tương thích nào với OpenAI đều có thể được kết nối như một nhà cung cấp — thông qua mô tả trong mimocode.jsonc và khóa trong auth.json. JoinGonka Gateway chính là như vậy, vì vậy việc kết nối chỉ gói gọn trong một lệnh cài đặt duy nhất.

Không có các mô hình MiMo riêng trong mạng lưới Gonka: mạng lưới phi tập trung hỗ trợ DeepSeek V4 Flash, GLM-5.3 Flash và MiniMax M2.7 — tất cả đều cùng một mức giá, $0.0069 cho một triệu token đầu vào. Tác nhân này cũng không gắn liền với các mô hình của Xiaomi: các nhà cung cấp bên trong nó có thể thay đổi, và toàn bộ phần bao quanh — bộ nhớ, điểm kiểm tra, tác nhân phụ — hoạt động trên bất kỳ mô hình nào bạn chọn. Các lệnh, tệp và tin nhắn bên dưới đã được xác minh bằng cách chạy thực tế MiMo Code thông qua cổng kết nối vào ngày 23 tháng 9 năm 2026. Sau khi xác nhận địa chỉ, tài khoản của bạn sẽ nhận được 3M token miễn phí — đủ để bạn tự mình lặp lại tất cả những điều này.

Bắt đầu nhanh: cài đặt và một lệnh duy nhất

Bước 1: cài MiMo Code. Các cách chính thức từ README của dự án:

# macOS and Linux
curl -fsSL https://mimo.xiaomi.com/install | bash

# Windows (PowerShell)
powershell -ep Bypass -c "irm https://mimo.xiaomi.com/install.ps1 | iex"

# via npm, on any system
npm install -g @mimo-ai/cli

Script cài binary vào ~/.mimocode/bin và thêm thư mục này vào PATH qua profile của shell (cờ --no-modify-path sẽ tắt việc này). Nó tải bản build từ kho của Xiaomi; nếu tải không được, hãy cài qua npm — đây là cùng một bản phát hành, ở cả hai cách chúng tôi đều nhận được 0.1.15. Kiểm tra bằng mimo --version.

Bước 2: lấy key. Đăng ký tại gate.joingonka.ai/register, xác nhận địa chỉ và tạo key với tiền tố jg- trong mục "API key". Một key và một số dư dùng cho tất cả model của mạng lưới.

Bước 3: chạy trình cài đặt.

npx @joingonka/setup --tool mimo-code

Trình cài đặt sẽ hỏi key — key không được truyền qua tham số dòng lệnh — và ghi cùng hai file mà wizard của provider riêng trong MiMo Code ghi, chỉ khác là có ngay đầy đủ catalog và giới hạn:

  • ghi provider joingonka vào config toàn cục ~/.config/mimocode/mimocode.jsonc (hoặc vào mimocode.json hay config.json nếu MiMo Code đã ghi ở đó): adapter @ai-sdk/openai-compatible, địa chỉ gateway với /v1 và ba model của mạng lưới với cửa sổ ngữ cảnh, giới hạn phản hồi và hỗ trợ công cụ;
  • đặt key vào kho key riêng của MiMo Code — ~/.local/share/mimocode/auth.json với quyền 600. Key không có trong config, nên có thể yên tâm giữ nó trong dotfile;
  • đặt model mặc định — trường model — thành DeepSeek V4 Flash, nhưng chỉ khi chưa chọn model nào hoặc model đang trỏ đến một model đã rời mạng lưới. Lựa chọn bạn đã thực hiện, kể cả trong config toàn cục khác, sẽ không bị ghi đè;
  • lưu bản sao của các file cũ, không động đến provider, key và chú thích của người khác; file không thể phân tích sẽ không bị ghi đè — dừng lại và thông báo cần sửa gì;
  • cuối cùng gửi một request trực tiếp đến gateway và cho biết key, địa chỉ và model có được chấp nhận hay không.

Trình cài đặt tự nhận biết các thư mục không chuẩn: MIMOCODE_HOME, XDG_CONFIG_HOME, XDG_DATA_HOME và MIMOCODE_CONFIG. Model mặc định khác được chỉ định bằng cờ --model với viết tắt deepseek, glm hoặc minimax; với dotfile và server có chế độ không hỏi:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool mimo-code --non-interactive

Nếu MiMo Code đang chạy, hãy khởi động lại: provider mới được nhận khi khởi động.

Cấu hình thủ công: mimocode.jsonc và auth.json

Mọi thứ trình cài đặt làm đều có thể viết tay. Chỉ có hai tệp, mỗi tệp một nhiệm vụ: tệp cấu hình mô tả nhà cung cấp và các mô hình, còn auth.json lưu khóa. Chúng được nối với nhau bằng ID nhà cung cấp — joingonka phải trùng khớp ở cả hai tệp. Tệp cấu hình, ~/.config/mimocode/mimocode.jsonc:

{\n  \"$schema\": \"https://mimo.xiaomi.com/mimocode/config.json\",\n  \"provider\": {\n    \"joingonka\": {\n      \"npm\": \"@ai-sdk/openai-compatible\",\n      \"name\": \"JoinGonka (Gonka)\",\n      \"options\": {\n        \"baseURL\": \"https://gate.joingonka.ai/v1\"\n      },\n      \"models\": {\n        \"deepseek-ai/DeepSeek-V4-Flash-0731\": {\n          \"name\": \"DeepSeek V4 Flash (Gonka)\",\n          \"tool_call\": true,\n          \"reasoning\": true,\n          \"limit\": { \"context\": 380000, \"output\": 32768 }\n        },\n        \"zai-org/GLM-5.3-Flash\": {\n          \"name\": \"GLM 5.3 Flash (Gonka)\",\n          \"tool_call\": true,\n          \"reasoning\": true,\n          \"limit\": { \"context\": 390000, \"output\": 8192 }\n        },\n        \"MiniMaxAI/MiniMax-M2.7\": {\n          \"name\": \"MiniMax M2.7 (Gonka)\",\n          \"tool_call\": true,\n          \"limit\": { \"context\": 200000, \"output\": 8192 }\n        }\n      }\n    }\n  },\n  \"model\": \"joingonka/deepseek-ai/DeepSeek-V4-Flash-0731\"\n}

Khóa, ~/.local/share/mimocode/auth.json với quyền 600:

{\n  \"joingonka\": { \"type\": \"api\", \"key\": \"jg-your-key\" }\n}
TrườngGiá trịĐiều quan trọng
provider.joingonkaID nhà cung cấpViết thường; cùng khóa này — trong auth.json, nếu không MiMo Code sẽ không nối được khóa với nhà cung cấp
npm@ai-sdk/openai-compatibleBộ chuyển đổi cho các API tương thích OpenAI — qua đó MiMo Code giao tiếp với gateway bằng Chat Completions
options.baseURLhttps://gate.joingonka.ai/v1Có /v1 ở cuối: đường dẫn /chat/completions MiMo Code tự thêm vào
modelskhóa — id các mô hình của mạng lướiID được gửi vào yêu cầu nguyên văn, kèm cả tiền tố nhà cung cấp
limitcontext và output theo danh sách trênKhông có chúng, MiMo Code coi cửa sổ của mô hình là một triệu token và bắt đầu nén lịch sử quá muộn — yêu cầu sẽ đụng giới hạn thật của mô hình
tool_calltrueMô hình gọi công cụ. Với các mô hình riêng, MiMo Code vốn đã mặc định như vậy, trình cài đặt ghi cờ này một cách tường minh
reasoningtrueĐánh dấu mô hình suy luận: DeepSeek V4 Flash và GLM-5.3 Flash có nó, còn mục MiniMax M2.7 thì không

Mô hình mặc định được ghi dưới dạng provider/model-id; nhà cung cấp được tách theo dấu gạch chéo đầu tiên, vì vậy các ID mạng lưới có dấu gạch chéo riêng được viết nguyên văn.

Khóa còn có thể nằm ở đâu. README của MiMo Code cũng cho thấy biến thể đặt khóa ngay trong tệp cấu hình — options.apiKey. Cách này hoạt động, nhưng khi đó khóa rất dễ bị commit cùng các dotfile, và một khóa cũ bị bỏ quên ở đó sẽ ghi đè khóa mới từ auth.json — vì vậy trình cài đặt loại bỏ options.apiKey khỏi khối của mình. Vào tệp .mimocode/mimocode.jsonc của dự án thì càng không nên đặt khóa.

Tệp nào là chính. MiMo Code hợp nhất các tệp toàn cục config.json, mimocode.json và mimocode.jsonc theo thứ tự này, tệp sau ghi đè tệp trước. Kết quả in ra bằng mimo debug config, còn đường dẫn tới tệp cấu hình và khóa trên hệ thống của bạn — bằng mimo debug paths.

Nhà cung cấp từ giao diện, auth.json và lựa chọn mô hình

Bạn có thể thiết lập nhà cung cấp của riêng mình mà không cần tệp tin — thông qua trình hướng dẫn tích hợp. Trong lần khởi chạy đầu tiên, MiMo Code sẽ hỏi trong thư mục dự án xem bạn có tin tưởng thư mục này không (Yes, I trust this folder): tác nhân sẽ có quyền đọc, chỉnh sửa và thực thi các tệp tin trong đó. Sau đó, lệnh /connect sẽ mở danh sách Select provider: ở trên cùng là cổng vào nền tảng Xiaomi MiMo, Codex và nhập từ Claude Code, bên dưới là danh mục các nhà cung cấp, và ở cuối cùng là + Custom provider. Trình hướng dẫn sẽ đặt sáu câu hỏi:

BướcNội dung nhậpGhi chú
Provider id (1/6)joingonkaCùng id với trình cài đặt: nếu chạy sau, nó sẽ cập nhật bản ghi này thay vì tạo bản ghi thứ hai
Display name (2/6)JoinGonkaTên hiển thị trong danh sách; mặc định trùng với id
Base URL (3/6)https://gate.joingonka.ai/v1Với hậu tố /v1
API key (4/6)khóa jg-… của bạnĐược lưu vào auth.json, không ghi vào tệp cấu hình
First model id (5/6)deepseek-ai/DeepSeek-V4-Flash-0731Id đầy đủ của mô hình mạng, kèm tiền tố nhà cung cấp
First model name (6/6)DeepSeek V4 FlashTên hiển thị; mặc định là chính id đó

Trong quá trình chạy thử, trình hướng dẫn đã ghi một khối nhà cung cấp với một mô hình không giới hạn và hai trường mà trình cài đặt không có: env với tên biến JOINGONKA_API_KEY, nơi MiMo Code sẽ tìm kiếm khóa, và options.setCacheKey: true. Nó hoạt động với cổng gateway, nhưng cấu hình cần được hoàn thiện: nếu không có limit, mimo models joingonka sẽ hiển thị cửa sổ 1M token. Cách đơn giản nhất là chạy trình cài đặt một lần sau khi dùng trình hướng dẫn — nó sẽ bổ sung danh mục đầy đủ với các giới hạn vào cùng khối đó.

Chọn mô hình. Việc lựa chọn cố định là thông qua trường model trong cấu hình. Trong giao diện, mô hình được thay đổi bằng lệnh /models, và cho một lần chạy duy nhất — bằng cờ -m. Những mô hình nào mà MiMo Code thấy từ nhà cung cấp và cửa sổ ngữ cảnh hoạt động ra sao được hiển thị bởi mimo models joingonka — cùng với ngưỡng mà tại đó tác nhân sẽ bắt đầu nén lịch sử:

joingonka/deepseek-ai/DeepSeek-V4-Flash-0731 — window 380K, compacts at 342K
joingonka/MiniMaxAI/MiniMax-M2.7 — window 200K, compacts at 180K
joingonka/zai-org/GLM-5.3-Flash — window 390K, compacts at 351K

Giá của tất cả các mô hình mạng là như nhau, vì vậy việc lựa chọn phụ thuộc vào hành vi. Dưới đây là cách chúng hoạt động trong lượt chạy mimo run của chúng tôi với một tác vụ — đọc tệp và tìm lỗi:

Mô hìnhNgữ cảnh / phản hồiCách hoạt động trong MiMo Code
DeepSeek V4 Flash380K / 32768Giải quyết tác vụ chính xác; giới hạn phản hồi lớn nhất trong mạng — trình cài đặt mặc định thiết lập mức này
GLM-5.3 Flash390K / 8192Phản hồi sạch sau hai bước trong vài giây. Mô hình suy luận: suy luận nằm trong giới hạn phản hồi
MiniMax M2.7200K / 8192Giải quyết tác vụ chính xác. Suy luận của mô hình được tách biệt khỏi phản hồi: mặc định mimo run chỉ hiển thị phản hồi và các lệnh gọi công cụ, và cờ --thinking sẽ hiển thị cả phần suy luận

Lý do tại sao DeepSeek V4 Flash được chọn mặc định đã được phân tích trong bài đánh giá mô hình.

Kiểm tra: điều gì sẽ xảy ra

Trước tiên, hãy đảm bảo MiMo Code nhận diện được nhà cung cấp và khóa:

mimo models joingonka
mimo providers list

Lệnh đầu tiên liệt kê ba mô hình của mạng cùng cửa sổ ngữ cảnh, như ví dụ trên; lệnh thứ hai in ra đường dẫn đến nơi lưu khóa và dòng joingonka api. Tiếp theo là một lần chạy thử. Đặt vào thư mục dự án một tệp calc.py có lỗi rõ ràng — ví dụ tính diện tích hình chữ nhật nhưng lại cộng hai cạnh thay vì nhân — rồi yêu cầu nó tìm ra:

mimo run "Read the file calc.py in the current project directory and tell me in one sentence whether it has a bug."

Trong kết quả sẽ hiện ra agent và mô hình (> build · deepseek-ai/DeepSeek-V4-Flash-0731), lệnh gọi công cụ (→ Read calc.py) và câu trả lời đúng trọng tâm — chỉ rõ biểu thức bị sai. Cờ --format json biến kết quả thành luồng sự kiện, trong đó mỗi bước đều có bộ đếm token, còn -m joingonka/<model-id> sẽ chạy trên một mô hình khác. Trong lần chạy của chúng tôi, cả ba mô hình của mạng đều hoàn thành vòng «yêu cầu → gọi công cụ → kết quả → trả lời».

Kiểm tra thứ ba — từ phía cổng: trong bảng điều khiển, ở mục «Sử dụng», yêu cầu sẽ xuất hiện trong phần «Theo mô hình», còn ở khối «Theo khóa» thì thời gian của yêu cầu cuối cùng sẽ được cập nhật.

Nếu có gì đó không ổn, thường chỉ cần đọc thông báo là đoán được nguyên nhân:

Hiển thịNghĩa là gìCần làm gì
Error: Invalid API keyCổng không chấp nhận khóaKiểm tra khóa trong auth.json hoặc chạy lại trình cài đặt; lưu ý rằng options.apiKey trong khối nhà cung cấp sẽ ghi đè auth.json
Error: Method Not AllowedbaseURL thiếu hậu tố /v1Địa chỉ phải chính xác là https://gate.joingonka.ai/v1
Error: Model not found: joingonka/… Did you mean: …?Mô hình không có trong danh sách models của nhà cung cấp — thường là do id được nhập thiếu tiền tố nhà cung cấpLấy id đầy đủ từ gợi ý hoặc từ mimo models joingonka
permission requested: external_directory (…); auto-rejecting, và lần chạy kết thúc mà không có câu trả lờiTrong mimo run, việc truy cập ra ngoài dự án sẽ bị từ chối và lần chạy dừng lại. Điều này xảy ra khi mô hình tìm tệp bên ngoài dự án — ví dụ trong thư mục homeHãy nói rõ rằng tệp nằm trong thư mục dự án; quy tắc permission.external_directory sẽ cấp quyền truy cập thường xuyên vào thư mục cần thiết
Trong mimo models joingonka, cửa sổ là 1MMô hình không có limit — điều này thường xảy ra sau trình hướng dẫn Custom providerĐặt limit trong config hoặc chạy lại trình cài đặt
429 … is currently overloaded in the Gonka network (rate limit)Mô hình hiện không còn dung lượng trống trong mạngThử lại sau một phút hoặc chuyển sang mô hình khác bằng lệnh /models hoặc cờ -m; tình trạng có thể xem tại trang trạng thái
402Số dư tài khoản đã hết tiềnNạp tiền vào tài khoản ở mục «Thanh toán»; khóa vẫn hoạt động bình thường
Câu trả lời bị cắt giữa chừngLuồng phản hồi bị ngắt giữa đường — điều này thường xảy ra vào giờ cao điểmmimo run -c "continue" sẽ tiếp tục phiên gần nhất từ đúng chỗ dừng

Chi phí là bao nhiêu

Công cụ tác nhân tiêu tốn token khác với trò chuyện: với mỗi câu của bạn, MiMo Code thêm vào gợi ý hệ thống, mô tả công cụ và ngữ cảnh phục vụ của tác nhân, và tác vụ thực hiện qua vài bước. Trong lần chạy của chúng tôi, mỗi yêu cầu gửi tới mô hình mang 22-25 nghìn token đầu vào, và tác vụ «đọc tệp và tìm lỗi» gồm hai bước tốn khoảng 45-50 nghìn token — gần như tất cả đều là đầu vào. Do đó, giá cho mỗi token ở đây rất quan trọng.

Thông qua JoinGonka Gateway, token có giá $0.0069 mỗi triệu token đầu vào và $0.021 mỗi triệu token đầu ra — giá giống nhau cho tất cả các mô hình trong mạng và được cập nhật trên trang này từ nguồn trực tiếp.

Kịch bảnMức tiêu thụQua Gateway
Tác vụ đơn lẻ: đọc tệp, tìm lỗi45-50K tokenvài phần trăm cent
Một ngày làm việc tích cực3-7M tokenvài cent
Một tháng phát triển tích cực~150M tokenkhoảng một đô la

Các ước tính trong cột bên phải — theo giá tháng 9 năm 2026. Để so sánh — cách bạn có thể thanh toán cho các mô hình trong MiMo Code:

Phương thứcCách thanh toánYêu cầu
Nền tảng Xiaomi MiMotheo điều kiện của nền tảngtài khoản Xiaomi MiMo, đăng nhập qua trình duyệt
Codexđăng ký ChatGPTgói ChatGPT Plus hoặc Pro, đăng nhập qua trình duyệt
Khóa nhà cung cấp từ danh mụctheo token theo giá nhà cung cấpkhóa riêng cho từng nhà cung cấp
JoinGonka Gatewaytheo token từ số dư trả trướckhóa jg-…; ba mô hình mạng với một mức giá, mức tiêu thụ hiển thị trong bảng điều khiển

Ước tính chi phí riêng của bạn trong MiMo Code đối với các mô hình cổng kết nối bằng không — trong hồ sơ của chúng không có trường cost, và trong các sự kiện --format json giá trị là "cost": 0. Mức tiêu thụ thực tế và số dư còn lại nằm trong bảng điều khiển, trong các phần «Sử dụng» và «Thanh toán».

Những điều cần lưu ý khi làm việc

Quyền hạn. Trong giao diện MiMo Code, hệ thống yêu cầu xác nhận đối với các thao tác rủi ro, nhưng trong mimo run không có ai để hỏi — hệ thống tự từ chối truy cập ra ngoài phạm vi dự án. Đối với các môi trường dùng một lần đáng tin cậy, có cờ --dangerously-skip-permissions (hoặc biến môi trường MIMOCODE_DANGEROUSLY_SKIP_PERMISSIONS=1): nó cho phép mọi thứ không bị cấm bởi quy tắc rõ ràng — chỉ trong container hoặc sandbox. Trong giao diện, một chế độ tương tự có thể được bật trong phiên làm việc bằng /skip-permissions.

Các tác nhân (Agents). Theo mặc định, build hoạt động với đầy đủ bộ công cụ, plan chỉ đọc và phân tích, compose dẫn dắt quá trình từ đặc tả đến mã nguồn đã kiểm chứng; chuyển đổi giữa chúng bằng phím Tab.

Ngữ cảnh dài. Tại giới hạn cửa sổ, MiMo Code tái thiết lập ngữ cảnh từ điểm kiểm tra (checkpoint) cuối cùng, bộ nhớ dự án và các tin nhắn mới; nó tính ngưỡng từ limit.context. Có thể nén sớm hơn bằng lệnh /context-limit, riêng biệt cho từng model.

Các tính năng liên kết với tài khoản Xiaomi. Nhập liệu bằng giọng nói (/voice) nhận diện lời nói thông qua model của nền tảng MiMo và khả dụng sau khi đăng nhập. Mã nguồn, lệnh và các tác nhân phụ hoạt động thông qua nhà cung cấp đã kết nối — trong quá trình thử nghiệm của chúng tôi mà không cần đăng nhập.

Hình ảnh. Các model của mạng là dạng văn bản: trong /modalities chỉ để lại văn bản cho chúng, còn đối với ảnh chụp màn hình, hãy thiết lập một nhà cung cấp thứ hai với model hỗ trợ thị giác (vision).

MiMo Code và OpenCode là anh em với các cài đặt khác nhau. Chúng có thư mục và tệp riêng, vì vậy cài đặt của cái này không truyền sang cái kia:

OpenCodeMiMo Code
Lệnhopencodemimo
Cấu hình~/.config/opencode/opencode.json~/.config/mimocode/mimocode.jsonc
Khóa~/.local/share/opencode/auth.json~/.local/share/mimocode/auth.json
Trình cài đặt--tool opencode--tool mimo-code

Phiên bản. Dự án được cập nhật thường xuyên; để đảm bảo tính tái lập, hãy cố định phiên bản: npm install -g @mimo-ai/[email protected] hoặc curl -fsSL https://mimo.xiaomi.com/install | bash -s — --version 0.1.15.

Các tác nhân từ chính các phòng thí nghiệm cũng có sẵn cho các gia đình model được mạng lưới hỗ trợ: MiniMax Code hoạt động trên model MiniMax M2.7 của nhà cung cấp, DeepSeek và Z.ai (tác giả của GLM) cũng có các tác nhân riêng. Tất cả chúng kết nối vào cùng một gateway với một khóa duy nhất.

MiMo Code là tác nhân terminal của Xiaomi MiMo, một bản fork của OpenCode với bộ nhớ dự án và các điểm kiểm tra. Không có model MiMo nào trong mạng Gonka, nhưng nhà cung cấp trong tác nhân có thể thay thế: npx @joingonka/setup --tool mimo-code sẽ ghi nhà cung cấp joingonka vào ~/.config/mimocode/mimocode.jsonc (adapter @ai-sdk/openai-compatible, địa chỉ https://gate.joingonka.ai/v1, DeepSeek V4 Flash, GLM-5.3 Flash và MiniMax M2.7 với limit chính xác) và đặt khóa jg-… vào tệp auth.json gốc. Bạn có thể thực hiện thủ công bằng wizard /connect → + Custom provider, sau đó điền thêm các model và giới hạn. Kiểm tra bằng mimo models joingonka và mimo run; trong một lần chạy, hãy giữ các đường dẫn nằm bên trong dự án.

Muốn tìm hiểu thêm?

Khám phá các phần khác hoặc bắt đầu kiếm GNK ngay bây giờ.

Nhận khóa và token miễn phí →