Abschnitte der Wissensbasis ▾

Navigation

▸ Hier starten Nach Rollen

Kategorien

Werkzeuge 52
Glossar 12

Tools

MiMo Code + JoinGonka Gateway: Xiaomi Agent auf Gonka Netzwerkmodellen

MiMo Code (Befehl mimo) ist ein Terminal-Code-Agent aus dem Xiaomi MiMo-Labor: Er liest und schreibt Code, führt Befehle aus, arbeitet mit Git und speichert den Projektstatus sitzungsübergreifend. Es ist ein Fork von OpenCode: Alle Funktionen des Originals sind enthalten, zusätzlich gibt es Session-Checkpoints, Kontext-Wiederherstellung, Sub-Agenten und vorgefertigte Workflows. Der Code ist unter der MIT-Lizenz Open Source; das Projekt ist jung und wandelt sich schnell, daher bezieht sich alles Folgende auf die Version 0.1.15, die am 22. September 2026 veröffentlicht wurde.

Die Modellsicht von MiMo Code ist austauschbar: Jede OpenAI-kompatible API kann als eigener Provider eingebunden werden – durch eine Beschreibung in mimocode.jsonc und einen Schlüssel in auth.json. Das JoinGonka Gateway ist genau so aufgebaut, daher ist die Einbindung auf einen einzigen Installationsbefehl reduziert.

Eigene MiMo-Modelle gibt es im Gonka-Netzwerk nicht: Das dezentrale Netzwerk stellt DeepSeek V4 Flash, GLM-5.3 Flash und MiniMax M2.7 bereit – alle zum gleichen Preis von $0.0069 pro Million Input-Token. Der Agent ist nicht an Xiaomi-Modelle gebunden: Die Provider sind austauschbar und das gesamte Framework – Speicher, Checkpoints, Sub-Agenten – arbeitet auf Basis des von Ihnen gewählten Modells. Befehle, Dateien und Nachrichten wurden am 23. September 2026 durch einen Live-Test von MiMo Code über das Gateway verifiziert. Nach Bestätigung der Adresse werden Ihrem Konto 3M kostenlose Token gutgeschrieben – genug, um dies alles selbst auszuprobieren.

Schnellstart: Installation und ein Befehl

Schritt 1: MiMo Code installieren. Die offiziellen Wege aus dem README des Projekts:

# 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

Das Skript installiert das Binary in ~/.mimocode/bin und trägt dieses Verzeichnis über das Shell-Profil in PATH ein (das Flag --no-modify-path schaltet das ab). Den Build lädt es aus dem Xiaomi-Repository; falls der Download nicht läuft, installiere über npm — das ist dasselbe Release, bei uns kam über beide Wege 0.1.15 an. Prüfung — mimo --version.

Schritt 2: Schlüssel holen. Registriere dich auf gate.joingonka.ai/register, bestätige deine Adresse und erstelle im Bereich «API-Schlüssel» einen Schlüssel mit dem Präfix jg-. Ein Schlüssel und ein Guthaben gelten für alle Modelle im Netzwerk.

Schritt 3: Installer starten.

npx @joingonka/setup --tool mimo-code

Der Installer fragt nach dem Schlüssel — der wird nicht als Kommandozeilenargument übergeben — und schreibt dieselben zwei Dateien wie der Provider-Wizard in MiMo Code selbst, nur gleich mit vollem Katalog und Limits:

  • Er trägt den Provider joingonka in die globale Konfiguration ~/.config/mimocode/mimocode.jsonc ein (oder in mimocode.json bzw. config.json, falls MiMo Code bereits dorthin schreibt): Adapter @ai-sdk/openai-compatible, Gateway-Adresse mit /v1 und drei Modelle im Netzwerk mit Kontextfenstern, Antwort-Limits und Tool-Unterstützung;
  • Er legt den Schlüssel im eigenen Schlüsselspeicher von MiMo Code ab — ~/.local/share/mimocode/auth.json mit Rechten 600. In der Konfiguration selbst steht kein Schlüssel, sie lässt sich also bedenkenlos in Dotfiles halten;
  • Er setzt das Standardmodell — das Feld model — auf DeepSeek V4 Flash, aber nur, wenn kein Modell gewählt wurde oder die Auswahl auf ein Modell zeigt, das nicht mehr im Netzwerk ist. Eine von dir getroffene Wahl, auch in einer anderen globalen Konfiguration, überschreibt er nicht;
  • Er speichert Kopien der vorherigen Dateien, lässt fremde Provider, Schlüssel und Kommentare unangetastet und überschreibt eine Datei, die sich nicht parsen lässt, nicht — er hält an und sagt, was zu korrigieren ist;
  • Zum Schluss sendet er eine echte Anfrage an das Gateway und sagt klar, ob Schlüssel, Adresse und Modell akzeptiert wurden.

Nicht standardmäßige Verzeichnisse berücksichtigt der Installer von selbst: MIMOCODE_HOME, XDG_CONFIG_HOME, XDG_DATA_HOME und MIMOCODE_CONFIG. Ein anderes Standardmodell legt das Flag --model mit der Kurzform deepseek, glm oder minimax fest; für Dotfiles und Server gibt es einen Modus ohne Rückfragen:

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

Falls MiMo Code lief, starte es neu: Der neue Provider wird beim Start eingelesen.

Manuelle Konfiguration: mimocode.jsonc und auth.json

Alles, was der Installer macht, lässt sich auch von Hand schreiben. Es sind zwei Dateien, und jede hat ihre eigene Aufgabe: Die Konfiguration beschreibt den Provider und die Modelle, auth.json speichert den Schlüssel. Verbunden werden sie über die Provider-ID – joingonka muss in beiden Dateien übereinstimmen. Die Konfiguration, ~/.config/mimocode/mimocode.jsonc:

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

Der Schlüssel, ~/.local/share/mimocode/auth.json mit Rechten 600:

{
  "joingonka": { "type": "api", "key": "jg-your-key" }
}
FeldWertWorauf es ankommt
provider.joingonkaProvider-IDIn Kleinbuchstaben; derselbe Schlüssel steht in auth.json, sonst kann MiMo Code den Schlüssel nicht dem Provider zuordnen
npm@ai-sdk/openai-compatibleDer Adapter für OpenAI-kompatible APIs – über ihn spricht MiMo Code per Chat Completions mit dem Gateway
options.baseURLhttps://gate.joingonka.ai/v1Mit /v1 am Ende: den Pfad /chat/completions hängt MiMo Code selbst an
modelsSchlüssel sind die Modell-IDs des NetzwerksDie ID geht unverändert in die Anfrage, samt Vendor-Präfix
limitcontext und output laut obiger ListeOhne diese Angaben hält MiMo Code das Kontextfenster des Modells für eine Million Token und beginnt zu spät, die Historie zu komprimieren – die Anfrage stößt dann an die tatsächliche Modellgrenze
tool_calltrueDas Modell ruft Tools auf. Für eigene Modelle nimmt MiMo Code das ohnehin standardmäßig an, der Installer setzt das Flag explizit
reasoningtrueKennzeichnung als Reasoning-Modell: DeepSeek V4 Flash und GLM-5.3 Flash erhalten sie, der Eintrag für MiniMax M2.7 kommt ohne aus

Das Standardmodell wird als provider/model-id geschrieben; der Provider wird am ersten Schrägstrich abgetrennt, deshalb werden Netzwerk-IDs mit eigenem Schrägstrich unverändert übernommen.

Wo der Schlüssel sonst noch liegen kann. Das README von MiMo Code zeigt auch die Variante mit dem Schlüssel direkt in der Konfiguration – options.apiKey. Sie funktioniert, doch dann wird der Schlüssel leicht zusammen mit den Dotfiles committet, und ein dort vergessener alter Schlüssel überschreibt den neuen aus auth.json – deshalb entfernt der Installer options.apiKey aus seinem Block. In die projektbezogene .mimocode/mimocode.jsonc gehört der Schlüssel erst recht nicht.

Welche Datei Vorrang hat. Die globalen config.json, mimocode.json und mimocode.jsonc führt MiMo Code in dieser Reihenfolge zusammen, wobei die spätere die vorherige überschreibt. Das Ergebnis gibt mimo debug config aus, die Pfade zu Konfiguration und Schlüsseln auf eurem System zeigt mimo debug paths.

Anbieter über die Schnittstelle, auth.json und Modellauswahl

Sie können Ihren eigenen Provider auch ohne Dateien einrichten — über den integrierten Assistenten. Beim ersten Start in einem MiMo Code-Projektverzeichnis fragt das Programm, ob Sie dem Ordner vertrauen (Yes, I trust this folder): Der Agent erhält damit das Recht, Dateien darin zu lesen, zu bearbeiten und auszuführen. Der Befehl /connect öffnet daraufhin die Liste Select provider: Oben finden Sie den Zugang zur Xiaomi MiMo-Plattform, Codex sowie den Import aus Claude Code, darunter den Provider-Katalog und ganz unten + Custom provider. Der Assistent stellt sechs Fragen:

SchrittEingabeHinweis
Provider id (1/6)joingonkaDieselbe ID wie beim Installer: Wird sie später ausgeführt, aktualisiert sie diesen Eintrag, anstatt einen zweiten zu erstellen
Display name (2/6)JoinGonkaBezeichnung in Listen; standardmäßig identisch mit der ID
Base URL (3/6)https://gate.joingonka.ai/v1Mit dem Suffix /v1
API key (4/6)Ihr jg-… SchlüsselWird in auth.json gespeichert und nicht in die Config geschrieben
First model id (5/6)deepseek-ai/DeepSeek-V4-Flash-0731Vollständige Modell-ID aus dem Netzwerk, inklusive Vendor-Präfix
First model name (6/6)DeepSeek V4 FlashBezeichnung; standardmäßig die ID selbst

Bei unserem Durchlauf hat der Assistent den Provider-Block mit einem Modell ohne Limits erstellt sowie zwei Felder, die der Installer nicht hat: env mit dem Variablennamen JOINGONKA_API_KEY, wo MiMo Code ebenfalls nach dem Schlüssel sucht, sowie options.setCacheKey: true. Mit dem Gateway funktioniert das, aber die Konfiguration sollte optimiert werden: Ohne limit zeigt mimo models joingonka ein Fenster von 1M Tokens an. Am einfachsten ist es, nach dem Assistenten einmalig den Installer auszuführen — er ergänzt den gleichen Block um den vollständigen Katalog inklusive Limits.

Modellauswahl. Die permanente Auswahl erfolgt über das Feld model in der Config. Im Interface kann das Modell mit dem Befehl /models gewechselt werden, für einen einmaligen Durchlauf mit dem Flag -m. Welche Modelle MiMo Code beim Provider erkennt und mit welchem Kontextfenster sie arbeiten, zeigt mimo models joingonka — zusammen mit der Schwelle, ab der der Agent beginnt, die Historie zu komprimieren:

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

Die Kosten für alle Netzwerkmodelle sind gleich, die Wahl hängt also vom Verhalten ab. So haben sie in unserem Testlauf mimo run bei einer Aufgabe abgeschnitten — eine Datei lesen und einen Fehler finden:

ModellKontext / AntwortVerhalten in MiMo Code
DeepSeek V4 Flash380K / 32768Löst die Aufgabe korrekt; der größte Antwort-Output im Netzwerk — wird vom Installer standardmäßig eingestellt
GLM-5.3 Flash390K / 8192Saubere Antwort in zwei Schritten und wenigen Sekunden. Ein schlussfolgerndes Modell: Die Schlussfolgerung ist Teil des Antwort-Limits
MiniMax M2.7200K / 8192Löst die Aufgabe korrekt. Die Schlussfolgerung des Modells wird getrennt von der Antwort geliefert: Standardmäßig zeigt mimo run nur die Antwort und die Tool-Aufrufe an, das Flag --thinking gibt auch die Schlussfolgerung aus

Warum standardmäßig DeepSeek V4 Flash ausgewählt ist, wird im Modell-Review erklärt.

Überprüfung: Was passieren sollte

Stellen Sie zunächst sicher, dass MiMo Code den Provider und den Schlüssel erkennt:

mimo models joingonka
mimo providers list

Der erste Befehl listet die drei Modelle des Netzwerks mit ihren Kontextfenstern auf, wie im obigen Beispiel; der zweite gibt den Pfad zum Schlüsselspeicher und die Zeile joingonka api aus. Danach folgt ein einzelner Durchlauf. Legen Sie im Projektverzeichnis eine Datei calc.py mit einem offensichtlichen Fehler ab – zum Beispiel die Fläche eines Rechtecks, bei der die Seiten addiert statt multipliziert werden – und bitten Sie darum, ihn zu finden:

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

In der Ausgabe erscheinen der Agent und das Modell (> build · deepseek-ai/DeepSeek-V4-Flash-0731), der Tool-Aufruf (→ Read calc.py) und eine inhaltliche Antwort – mit Angabe des fehlerhaften Ausdrucks. Das Flag --format json verwandelt die Ausgabe in einen Event-Stream, in dem jeder Schritt einen Token-Zähler hat, und -m joingonka/<model-id> startet den Durchlauf mit einem anderen Modell. In unserem Durchlauf haben alle drei Modelle des Netzwerks den Zyklus „Anfrage → Tool-Aufruf → Ergebnis → Antwort“ durchlaufen.

Die dritte Prüfung erfolgt seitens des Gateways: Im Kundenbereich erscheint die Anfrage im Abschnitt „Nutzung“ in der Aufschlüsselung „Nach Modellen“, und im Block „Nach Schlüsseln“ wird der Zeitpunkt der letzten Anfrage aktualisiert.

Wenn etwas schiefgelaufen ist, lässt sich die Diagnose meist direkt aus der Meldung ablesen:

Was zu sehen istWas das bedeutetWas zu tun ist
Error: Invalid API keyDas Gateway hat den Schlüssel nicht akzeptiertPrüfen Sie den Schlüssel in auth.json oder starten Sie das Installationsprogramm erneut; beachten Sie, dass options.apiKey im Provider-Block auth.json überschreibt
Error: Method Not AllowedIn baseURL fehlt das Suffix /v1Die Adresse muss genau https://gate.joingonka.ai/v1 lauten
Error: Model not found: joingonka/… Did you mean: …?Das Modell steht nicht in der models-Liste des Providers – meist wurde die ID ohne Vendor-Präfix eingetragenNehmen Sie die vollständige ID aus dem Hinweis oder aus mimo models joingonka
permission requested: external_directory (…); auto-rejecting, und der Durchlauf endet ohne AntwortIn mimo run wird ein Zugriff außerhalb des Projekts abgelehnt, und der Durchlauf stoppt. Das passiert, wenn das Modell eine Datei außerhalb des Projekts sucht – etwa im Home-VerzeichnisGeben Sie an, dass die Datei im Projektverzeichnis liegt; dauerhaften Zugriff auf das gewünschte Verzeichnis gewährt die Regel permission.external_directory
In mimo models joingonka steht das Fenster 1MDas Modell hat kein limit – das passiert nach dem Custom-provider-AssistentenSetzen Sie limit in der Konfiguration oder starten Sie das Installationsprogramm
429 … is currently overloaded in the Gonka network (rate limit)Das Modell hat gerade keine freie Kapazität im NetzwerkVersuchen Sie es in einer Minute erneut oder wechseln Sie mit dem Befehl /models oder dem Flag -m zum nächsten Modell; den Status sehen Sie auf der Statusseite
402Das Guthaben ist aufgebrauchtLaden Sie Ihr Konto im Abschnitt „Abrechnung“ auf; der Schlüssel funktioniert dabei weiterhin
Die Antwort bricht mitten im Satz abDer Antwort-Stream wurde unterwegs unterbrochen – das passiert zu Stoßzeitenmimo run -c "continue" setzt die letzte Sitzung an derselben Stelle fort

Was das kostet

Ein Agenten-Tool verbraucht Tokens anders als ein Chat: MiMo Code fügt jedem Ihrer Sätze einen System-Prompt, Werkzeugbeschreibungen und den Dienstkontext des Agenten hinzu, und eine Aufgabe umfasst mehrere Schritte. In unserem Testlauf enthielt jede Anfrage an das Modell 22-25 Tausend Eingabe-Tokens, und die Aufgabe „Datei lesen und Fehler finden“ aus zwei Schritten kostete etwa 45-50 Tausend Tokens — fast alles davon war Eingabe. Deshalb ist der Preis pro Token hier entscheidend.

Über das JoinGonka Gateway kosten Tokens $0.0069 pro Million bei der Eingabe und $0.021 pro Million bei der Ausgabe — der Preis ist für alle Netzwerkmodelle gleich und wird auf dieser Seite aus einer Live-Quelle übernommen.

SzenarioVerbrauchÜber Gateway
Einmalige Aufgabe: Datei lesen, Fehler finden45-50K TokensHunderstel Cent
Tag mit aktiver Arbeit3-7M TokensWenige Cent
Monat mit aktiver Entwicklung~150M TokensEtwa einen Dollar

Die Schätzungen in der rechten Spalte basieren auf den Preisen vom September 2026. Zum Vergleich — wie man generell für Modelle in MiMo Code bezahlen kann:

MethodeAbrechnungWas wird benötigt
Xiaomi MiMo Plattformgemäß PlattformbedingungenXiaomi MiMo Account, Browser-Login
CodexChatGPT-AboChatGPT Plus oder Pro Plan, Browser-Login
Vendor-Schlüssel aus dem Anbieterkatalognach Tokens gemäß Vendor-PreislisteSeparater Schlüssel für jeden Vendor
JoinGonka Gatewaynach Tokens vom Prepaid-Guthabenjg-…-Schlüssel; drei Netzwerkmodelle zum Einheitspreis, Verbrauch im Dashboard sichtbar

Die eigene Kostenschätzung in MiMo Code für Gateway-Modelle ist gleich Null — ihre Datensätze enthalten kein Feld cost, und in den --format json-Ereignissen steht "cost": 0. Der tatsächliche Verbrauch und das Restguthaben befinden sich im Dashboard, in den Bereichen „Nutzung“ und „Billing“.

Was bei der Arbeit zu beachten ist

Berechtigungen. In der Benutzeroberfläche fragt MiMo Code um Bestätigung für riskante Aktionen, aber bei mimo run gibt es niemanden, den man fragen könnte — eine Anfrage für den Zugriff außerhalb des Projekts lehnt er selbst ab. Für vertrauenswürdige Einweg-Umgebungen gibt es das Flag --dangerously-skip-permissions (oder die Variable MIMOCODE_DANGEROUSLY_SKIP_PERMISSIONS=1): es erlaubt alles, was nicht durch eine explizite Regel verboten ist — nur im Container oder in der Sandbox. In der Oberfläche aktiviert der Befehl /skip-permissions einen ähnlichen Modus für die Dauer der Sitzung.

Agenten. Standardmäßig arbeitet build mit dem vollen Funktionsumfang, plan liest und analysiert nur, compose führt den Prozess von der Spezifikation bis zum verifizierten Code durch; mit Tab wird zwischen ihnen gewechselt.

Langer Kontext. Am Limit des Fensters rekonstruiert MiMo Code den Kontext aus dem letzten Prüfpunkt, dem Projektspeicher und aktuellen Nachrichten; den Schwellenwert berechnet er ab limit.context. Früheres Komprimieren ist über den Befehl /context-limit möglich, separat für jedes Modell.

Was mit dem Xiaomi-Konto verknüpft ist. Die Spracheingabe (/voice) erkennt Sprache durch das MiMo-Plattformmodell und ist nach dem Login verfügbar. Code, Befehle und Subagenten arbeiten über einen verbundenen Provider — bei unserem Test ohne jeglichen Login.

Bilder. Die Netzwerkmodelle sind textbasiert: Lassen Sie in /modalities nur Text für sie zu, und für Screenshots erstellen Sie einen zweiten Provider mit einem Modell, das Vision beherrscht.

MiMo Code und OpenCode sind Verwandte mit unterschiedlichen Einstellungen. Verzeichnisse und Dateien sind bei ihnen getrennt, sodass die Einstellungen des einen nicht auf den anderen übertragen werden:

OpenCodeMiMo Code
Befehlopencodemimo
Konfiguration~/.config/opencode/opencode.json~/.config/mimocode/mimocode.jsonc
Schlüssel~/.local/share/opencode/auth.json~/.local/share/mimocode/auth.json
Installer--tool opencode--tool mimo-code

Version. Das Projekt wird oft aktualisiert; fixieren Sie die Version für die Reproduzierbarkeit: npm install -g @mimo-ai/[email protected] oder curl -fsSL https://mimo.xiaomi.com/install | bash -s — --version 0.1.15.

Agenten der Labore selbst gibt es auch für die Familien, die das Netzwerk bedient: MiniMax Code arbeitet auf dem Modell seines Anbieters MiniMax M2.7, eigene Agenten gibt es bei DeepSeek und bei Z.ai, den Autoren von GLM. Alle verbinden sich mit demselben Gateway mit einem einzigen Schlüssel.

MiMo Code ist ein Terminal-Agent von Xiaomi MiMo, ein Fork von OpenCode mit Projektspeicher und Prüfpunkten. MiMo-Modelle gibt es im Netzwerk Gonka nicht, aber der Provider im Agenten ist austauschbar: npx @joingonka/setup --tool mimo-code trägt den Provider joingonka in ~/.config/mimocode/mimocode.jsonc ein (Adapter @ai-sdk/openai-compatible, Adresse https://gate.joingonka.ai/v1, DeepSeek V4 Flash, GLM-5.3 Flash und MiniMax M2.7 mit ehrlichen limit-Werten) und legt den Schlüssel jg-… in die native auth.json ab. Manuell macht dasselbe der Assistent /connect → + Custom provider, danach fügen Sie die Modelle und Limits hinzu. Überprüfung — mimo models joingonka und mimo run; halten Sie die Pfade beim Einzeldurchlauf innerhalb des Projekts.

Möchten Sie mehr erfahren?

Erkunden Sie andere Abschnitte oder beginnen Sie jetzt GNK zu verdienen.

Schlüssel erhalten und kostenlose Token →