Sekcje bazy wiedzy ▾
Nawigacja
▸ Zacznij tutaj Według rólKategorie
- Cursor + Gonka AI — tani LLM do kodowania
- Claude Code + Gonka AI — LLM dla terminala
- OpenClaw + Gonka AI — dostępne agenty AI
- OpenCode: własny model w terminalu
- Continue.dev + Gonka AI — AI dla VS Code/JetBrains
- Cline + Gonka AI — agent AI w VS Code
- Aider + Gonka AI — programowanie w parach z AI
- LangChain + Gonka AI — aplikacje AI za grosze
- n8n + Gonka AI — automatyzacja z tanim AI
- Open WebUI + Gonka AI — Twój własny ChatGPT
- LibreChat + Gonka AI — open-source ChatGPT
- Hermes Agent + DeepSeek w sieci Gonka — autonomiczny agent za grosze
- Kilo Code + Gonka AI — agent AI w VS Code
- Roo Code + Gonka AI — autonomiczny agent AI w VS Code
- LlamaIndex + Gonka AI — aplikacje RAG za grosze
- PydanticAI + Gonka — typowane agenty AI za grosze
- Vercel AI SDK + Gonka AI — aplikacje AI w TypeScript za grosze
- TanStack AI + Gonka — aplikacje AI w TypeScript za grosze
- API szybki start — curl, Python, TypeScript
- JoinGonka Gateway — pełny przegląd
- Klucze Zarządzania — SaaS na Gonka
- Najtańsze AI API: porównanie dostawców 2026
- Jak kupić tokeny AI i klucz API: 3 sposoby w 2026 roku
- Limit zapytań Cursor Pro wyczerpany — analiza i tania alternatywa
- Claude Code taniej — analiza rachunku i przełączenie
- Cline spala pieniądze — dlaczego agent wydaje tak dużo
- OpenClaw jest drogi — dlaczego agent zużywa tokeny i jak zaoszczędzić
- OpenRouter: tania alternatywa — porównanie z JoinGonka Gateway
- Najlepszy model AI do kodowania w 2026 roku: porównanie i ceny
- Tania alternatywa dla GitHub Copilot bez limitów
- Tania alternatywa dla Windsurf bez kredytów i limitów
- Najtańsze API dla agentów AI w 2026 roku
- ZCode: tania inferencja GLM zamiast GLM Coding Plan
- JetBrains IDE + JoinGonka Gateway — własny endpoint zamiast kredytów
- GitHub Copilot BYOK — własne modele zamiast limitów
- Zed + JoinGonka Gateway — tani inferencing w edytorze
- Pi + JoinGonka Gateway — terminalowy agent na tanim inference
- Codex CLI: własny klucz zamiast subskrypcji
- DeepSeek Harness: własny dostawca przez JoinGonka Gateway
- MiniMax Code: agent MiniMax z własnym kluczem przez Gonka
- Warp + JoinGonka Gateway — agent terminalowy na własnym endpoint
- Trae + JoinGonka Gateway — modele sieci Gonka w AI-IDE
- Cherry Studio + JoinGonka Gateway — desktopowy klient AI
- omp (Oh My Pi) + JoinGonka Gateway: agent z rolami modeli
- OpenHands + JoinGonka Gateway: agent na własnym endpoincie
- Qwen Code po zamknięciu qwen-oauth: praca przez JoinGonka Gateway
- Goose + JoinGonka Gateway: własny dostawca i klucz w keyring
- Crush + JoinGonka Gateway: agent Charm na modelach sieci Gonka
- Zoo Code + JoinGonka Gateway: przeprowadzka z Roo Code na modele Gonka
- Kimi Code CLI: agent Moonshot AI na własnym kluczu przez Gonka
- Factory Droid + JoinGonka Gateway: BYOK na modelach sieci Gonka
- MiMo Code + JoinGonka Gateway: agent Xiaomi na modelach sieci Gonka
Narzędzia
MiMo Code + JoinGonka Gateway: agent Xiaomi na modelach sieci Gonka
MiMo Code (komenda mimo) — to terminalowy agent kodujący laboratorium Xiaomi MiMo: czyta i pisze kod, uruchamia polecenia, pracuje z Git i posiada trwałą pamięć o projekcie między sesjami. Jest to fork OpenCode: wszystko, co potrafi oryginał, jest na miejscu, a dodatkowo dodano punkty kontrolne sesji, przywracanie kontekstu, subagenty i gotowe przepływy pracy. Kod jest otwarty na licencji MIT; projekt jest młody i szybko się zmienia, dlatego wszystko poniżej odnosi się do wersji 0.1.15, wydanej 22 września 2026 roku.
Warstwa modelowa w MiMo Code jest wymienna: dowolne API kompatybilne z OpenAI można podłączyć jako własnego dostawcę — poprzez opis w mimocode.jsonc i klucz w auth.json. JoinGonka Gateway właśnie taki jest, dlatego podłączenie sprowadza się do jednego polecenia instalatora.
Własnych modeli MiMo w sieci Gonka nie ma: sieć zdecentralizowana obsługuje DeepSeek V4 Flash, GLM-5.3 Flash i MiniMax M2.7 — wszystkie w tej samej cenie, $0.0069 za milion tokenów wejściowych. Agent nie jest przywiązany do modeli Xiaomi: dostawcy w nim są wymienni, a cała infrastruktura — pamięć, punkty kontrolne, subagenty — działa w oparciu o model, który wybierzesz. Polecenia, pliki i komunikaty poniżej zostały sprawdzone poprzez uruchomienie MiMo Code przez bramkę 23 września 2026 roku. Po potwierdzeniu adresu na konto wpłynie 3M darmowych tokenów — wystarczy, aby powtórzyć to samodzielnie.
Szybki start: instalacja i jedno polecenie
Krok 1: zainstaluj MiMo Code. Oficjalne metody z README projektu:
# 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/cliSkrypt instaluje plik binarny w ~/.mimocode/bin i dopisuje ten katalog do PATH przez profil powłoki (flaga --no-modify-path to wyłącza). Build pobiera z repozytorium Xiaomi; jeśli pobieranie nie idzie, instaluj przez npm — to ta sama wersja, do nas obiema drogami dotarła 0.1.15. Weryfikacja — mimo --version.
Krok 2: zdobądź klucz. Zarejestruj się na gate.joingonka.ai/register, potwierdź adres i utwórz klucz z prefiksem jg- w sekcji «Klucze API». Jeden klucz i jedno saldo działają dla wszystkich modeli w sieci.
Krok 3: uruchom instalator.
npx @joingonka/setup --tool mimo-codeInstalator zapyta o klucz — nie przekazuje się go w argumentach wiersza poleceń — i zapisze te same dwa pliki, co kreator własnego dostawcy w samym MiMo Code, tylko od razu z pełnym katalogiem i limitami:
- dopisze dostawcę
joingonkado globalnej konfiguracji~/.config/mimocode/mimocode.jsonc(albo domimocode.jsonlubconfig.json, jeśli MiMo Code już tam pisze): adapter@ai-sdk/openai-compatible, adres bramy z/v1i trzy modele w sieci z oknami kontekstu, limitami odpowiedzi i obsługą narzędzi; - umieści klucz we własnym magazynie kluczy MiMo Code —
~/.local/share/mimocode/auth.jsonz uprawnieniami600. W samej konfiguracji klucza nie ma, więc można go bezpiecznie trzymać w dotfiles; - ustawi model domyślny — pole
model— na DeepSeek V4 Flash, ale tylko jeśli nie jest wybrany lub wskazuje na model, który zniknął z sieci. Twojego wyboru, także w innej globalnej konfiguracji, nie nadpisze; - zachowa kopie poprzednich plików, nie ruszy cudzych dostawców, kluczy i komentarzy, a pliku, którego nie da się sparsować, nie nadpisze — zatrzyma się i powie, co poprawić;
- na końcu wyśle prawdziwe zapytanie do bramy i wprost powie, czy klucz, adres i model zostały przyjęte.
Niestandardowe katalogi instalator uwzględnia sam: MIMOCODE_HOME, XDG_CONFIG_HOME, XDG_DATA_HOME i MIMOCODE_CONFIG. Inny model domyślny ustawia flaga --model ze skrótami deepseek, glm lub minimax; dla dotfiles i serwerów jest tryb bez pytań:
JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool mimo-code --non-interactiveJeśli MiMo Code był uruchomiony, zrestartuj go: nowy dostawca jest wykrywany przy starcie.
Konfiguracja ręczna: mimocode.jsonc i auth.json
Wszystko, co robi instalator, można napisać ręcznie. Pliki są dwa i każdy ma swoje zadanie: konfig opisuje providera i modele, auth.json przechowuje klucz. Łączy je identyfikator providera — joingonka musi być taki sam w obu plikach. Konfig, ~/.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"
}Klucz, ~/.local/share/mimocode/auth.json z uprawnieniami 600:
{
"joingonka": { "type": "api", "key": "jg-your-key" }
}| Pole | Wartość | Co się liczy |
|---|---|---|
provider.joingonka | identyfikator providera | Małymi literami; ten sam klucz — w auth.json, inaczej MiMo Code nie powiąże klucza z providerem |
npm | @ai-sdk/openai-compatible | Adapter dla API zgodnych z OpenAI — przez niego MiMo Code rozmawia z gatewayem po Chat Completions |
options.baseURL | https://gate.joingonka.ai/v1 | Z /v1 na końcu: ścieżkę /chat/completions MiMo Code dopisuje sam |
models | klucze — id modeli sieci | Identyfikator trafia do żądania bez zmian, razem z prefiksem vendora |
limit | context i output według powyższej listy | Bez nich MiMo Code przyjmuje okno modelu za milion tokenów i zacznie kompresować historię zbyt późno — żądanie trafi w rzeczywisty limit modelu |
tool_call | true | Model wywołuje narzędzia. Dla własnych modeli MiMo Code i tak przyjmuje to domyślnie, instalator zapisuje flagę jawnie |
reasoning | true | Oznaczenie modelu rozumującego: dostają je DeepSeek V4 Flash i GLM-5.3 Flash, wpis MiniMax M2.7 obywa się bez niego |
Model domyślny zapisuje się jako provider/model-id; providera oddziela pierwszy ukośnik, dlatego identyfikatory sieci z własnym ukośnikiem pisze się tak, jak są.
Gdzie jeszcze może leżeć klucz. README MiMo Code pokazuje też wariant z kluczem wprost w konfigu — options.apiKey. Działa, ale wtedy klucz łatwo trafi do commita razem z dotfile'ami, a zapomniany stary klucz tam nadpisze nowy z auth.json — dlatego instalator usuwa options.apiKey ze swojego bloku. Do projektowego .mimocode/mimocode.jsonc tym bardziej nie wkładaj klucza.
Który plik jest najważniejszy. Globalne config.json, mimocode.json i mimocode.jsonc MiMo Code scala w tej kolejności, każdy następny nadpisuje poprzedni. Wynik wypisuje mimo debug config, a ścieżki do konfigu i kluczy w twoim systemie — mimo debug paths.
Dostawca z interfejsu, auth.json i wybór modelu
Swojego dostawcę można dodać także bez plików — za pomocą wbudowanego kreatora. Przy pierwszym uruchomieniu w katalogu projektu MiMo Code pyta, czy ufasz folderowi (Yes, I trust this folder): agent otrzyma prawo do czytania, edytowania i uruchamiania plików w nim zawartych. Następnie komenda /connect otwiera listę Select provider: na górze znajduje się wejście do platformy Xiaomi MiMo, Codex oraz import z Claude Code, poniżej katalog dostawców, a na samym końcu — + Custom provider. Kreator zadaje sześć pytań:
| Krok | Co wpisać | Uwaga |
|---|---|---|
| Provider id (1/6) | joingonka | Ten sam id co w instalatorze: uruchomiony później, zaktualizuje ten wpis, zamiast tworzyć drugi |
| Display name (2/6) | JoinGonka | Podpis na listach; domyślnie pokrywa się z id |
| Base URL (3/6) | https://gate.joingonka.ai/v1 | Z przyrostkiem /v1 |
| API key (4/6) | Twój klucz jg-… | Trafia do auth.json, nie jest zapisywany w konfiguracji |
| First model id (5/6) | deepseek-ai/DeepSeek-V4-Flash-0731 | Pełny id modelu sieci, z prefiksem dostawcy |
| First model name (6/6) | DeepSeek V4 Flash | Podpis; domyślnie — sam id |
W naszym teście kreator zapisał blok dostawcy z jednym modelem bez limitów oraz dwoma polami, których nie posiada instalator: env z nazwą zmiennej JOINGONKA_API_KEY, gdzie MiMo Code również szuka klucza, oraz options.setCacheKey: true. Z bramką to działa, ale konfigurację warto dopracować: bez limit mimo models joingonka pokaże okno 1M tokenów. Najprościej po użyciu kreatora raz uruchomić instalator — dopisze on w tym samym bloku pełny katalog z limitami.
Wybór modelu. Stały wybór to pole model w konfiguracji. W interfejsie model zmienia komenda /models, dla jednorazowego uruchomienia — flaga -m. Informacje o tym, jakie modele MiMo Code widzi u dostawcy i z jakim oknem pracuje, pokazuje mimo models joingonka — wraz z progiem, po przekroczeniu którego agent zacznie kompresować historię:
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 351KCena wszystkich modeli sieci jest taka sama, więc wybór zależy od zachowania. Tak poradziły sobie w naszym teście mimo run w jednym zadaniu — odczytanie pliku i znalezienie błędu:
| Model | Kontekst / odpowiedź | Jak zachowuje się w MiMo Code |
|---|---|---|
| DeepSeek V4 Flash | 380K / 32768 | Rozwiązuje zadanie poprawnie; ma największy sufit odpowiedzi w sieci — to go instalator ustawia domyślnie |
| GLM-5.3 Flash | 390K / 8192 | Czysta odpowiedź w dwóch krokach i kilka sekund. Model rozumujący: rozumowanie wchodzi w sufit odpowiedzi |
| MiniMax M2.7 | 200K / 8192 | Rozwiązuje zadanie poprawnie. Rozumowanie modelu przychodzi oddzielnie od odpowiedzi: domyślnie mimo run pokazuje tylko odpowiedź i wywołania narzędzi, a flaga --thinking wyprowadza również rozumowanie |
Dlaczego domyślnie wybrany jest DeepSeek V4 Flash, wyjaśniono w przeglądzie modelu.
Weryfikacja: co powinno się stać
Najpierw upewnij się, że MiMo Code widzi dostawcę i klucz:
mimo models joingonka
mimo providers listPierwsza komenda wylicza trzy modele sieci wraz z oknami, tak jak w powyższym przykładzie; druga wypisuje ścieżkę do magazynu kluczy oraz ciąg joingonka api. Potem — jednorazowe uruchomienie. Umieść w katalogu projektu plik calc.py z oczywistym błędem — na przykład pole prostokąta, w którym boki są dodawane zamiast mnożone — i poproś, żeby go znalazł:
mimo run "Read the file calc.py in the current project directory and tell me in one sentence whether it has a bug."W wynikach pojawi się agent i model (> build · deepseek-ai/DeepSeek-V4-Flash-0731), wywołanie narzędzia (→ Read calc.py) oraz merytoryczna odpowiedź — ze wskazaniem błędnego wyrażenia. Flaga --format json zamienia wynik w strumień zdarzeń, w którym każdy krok ma licznik tokenów, a -m joingonka/<model-id> uruchamia przebieg na innym modelu. W naszym przebiegu cykl „zapytanie → wywołanie narzędzia → wynik → odpowiedź” przeszły wszystkie trzy modele sieci.
Trzecia kontrola — od strony bramy: w panelu w sekcji „Wykorzystanie” zapytanie pojawi się w rozbiciu „Według modeli”, a w bloku „Według kluczy” zaktualizuje się czas ostatniego zapytania.
Jeśli coś poszło nie tak, diagnozę zwykle odczytasz wprost z komunikatu:
| Co widać | Co to znaczy | Co zrobić |
|---|---|---|
Error: Invalid API key | Brama nie przyjęła klucza | Sprawdź klucz w auth.json lub uruchom instalator ponownie; pamiętaj, że options.apiKey w bloku dostawcy nadpisuje auth.json |
Error: Method Not Allowed | W baseURL brakuje sufiksu /v1 | Adres musi brzmieć dokładnie https://gate.joingonka.ai/v1 |
Error: Model not found: joingonka/… Did you mean: …? | Modelu nie ma na liście models dostawcy — najczęściej id zostało wpisane bez prefiksu dostawcy | Weź pełne id z podpowiedzi lub z mimo models joingonka |
permission requested: external_directory (…); auto-rejecting, a przebieg kończy się bez odpowiedzi | W mimo run odwołanie poza projekt jest odrzucane i przebieg się zatrzymuje. Tak bywa, gdy model szuka pliku poza projektem — na przykład w katalogu domowym | Wskaż, że plik jest w katalogu projektu; stały dostęp do potrzebnego katalogu daje reguła permission.external_directory |
W mimo models joingonka okno 1M | Model nie ma limit — tak bywa po kreatorze Custom provider | Ustaw limit w konfiguracji lub uruchom instalator |
429 … is currently overloaded in the Gonka network (rate limit) | Model nie ma teraz wolnej przepustowości w sieci | Powtórz po minucie lub przełącz się na sąsiedni model komendą /models albo flagą -m; stan widać na stronie statusu |
402 | Na koncie skończyły się środki | Doładuj konto w sekcji „Rozliczenia”; klucz przy tym działa |
| Odpowiedź urwała się w połowie zdania | Strumień odpowiedzi przerwał się po drodze — tak bywa w godzinach szczytu | mimo run -c "continue" wznowi ostatnią sesję od tego samego miejsca |
Ile to kosztuje
Narzędzie agentowe zużywa tokeny inaczej niż czat: do każdej Twojej frazy MiMo Code dodaje systemowy prompt, opisy narzędzi i kontekst serwisowy agenta, a zadanie zajmuje kilka kroków. W naszym teście każde zapytanie do modelu niosło 22-25 tysięcy tokenów wejściowych, a zadanie „przeczytaj plik i znajdź błąd” składające się z dwóch kroków kosztowało około 45-50 tysięcy tokenów — prawie wszystko to wejście. Dlatego cena za token ma tutaj kluczowe znaczenie.
Przez JoinGonka Gateway tokeny kosztują $0.0069 za milion na wejściu i $0.021 za milion na wyjściu — cena jest taka sama dla wszystkich modeli sieci i jest pobierana na tej stronie z aktualnego źródła.
| Scenariusz | Zużycie | Przez Gateway |
|---|---|---|
| Jednorazowe zadanie: przeczytać plik, znaleźć błąd | 45-50K tokenów | setne części centa |
| Dzień aktywnej pracy | 3-7M tokenów | jednostki centów |
| Miesiąc aktywnej pracy | ~150M tokenów | około dolara |
Szacunki w prawej kolumnie — według cen na wrzesień 2026. Dla porównania — jak w ogóle można płacić za modele w MiMo Code:
| Metoda | Jak jest rozliczana | Czego potrzeba |
|---|---|---|
| Platforma Xiaomi MiMo | według warunków platformy | konto Xiaomi MiMo, logowanie przez przeglądarkę |
| Codex | subskrypcja ChatGPT | plan ChatGPT Plus lub Pro, logowanie przez przeglądarkę |
| Klucz dostawcy z katalogu | za tokeny według cennika dostawcy | osobny klucz u każdego dostawcy |
| JoinGonka Gateway | za tokeny z przedpłaconego salda | klucz jg-…; trzy modele sieciowe w jednej cenie, zużycie widoczne w panelu |
Własna ocena kosztu w MiMo Code dla modeli bramy wynosi zero — w ich zapisach nie ma pola cost, a w zdarzeniach --format json widnieje "cost": 0. Rzeczywiste zużycie i saldo znajdują się w panelu, w sekcjach „Użycie” i „Billing”.
O czym warto pamiętać
Uprawnienia. W interfejsie MiMo Code prosi o potwierdzenie ryzykownych działań, a w mimo run nie ma kogo pytać — żądanie dostępu poza projekt odrzuca samodzielnie. Dla zaufanych środowisk jednorazowych istnieje flaga --dangerously-skip-permissions (lub zmienna MIMOCODE_DANGEROUSLY_SKIP_PERMISSIONS=1): pozwala ona na wszystko, co nie jest zabronione przez wyraźną regułę — tylko w kontenerze lub piaskownicy. W interfejsie podobny tryb na czas sesji włącza /skip-permissions.
Agenci. Domyślnie działa build z pełnym zestawem narzędzi, plan tylko czyta i analizuje, compose prowadzi proces od specyfikacji do sprawdzonego kodu; przełącza je Tab.
Długi kontekst. Przy limicie okna MiMo Code przebudowuje kontekst z ostatniego punktu kontrolnego, pamięci projektu i świeżych wiadomości; próg oblicza od limit.context. Kompresować wcześniej można komendą /context-limit, oddzielnie dla każdego modelu.
Co jest powiązane z kontem Xiaomi. Wprowadzanie głosowe (/voice) rozpoznaje mowę modelem platformy MiMo i jest dostępne po zalogowaniu. Kod, polecenia i subagenci działają przez podłączonego dostawcę — w naszym przypadku bez żadnego logowania.
Obrazki. Modele sieci są tekstowe: w /modalities pozostaw im tylko tekst, a do zrzutów ekranu dodaj drugiego dostawcę z modelem, który potrafi interpretować obraz.
MiMo Code i OpenCode to krewni o różnych ustawieniach. Katalogi i pliki mają swoje własne, więc konfiguracja jednego nie jest przekazywana drugiemu:
| OpenCode | MiMo Code | |
|---|---|---|
| Komenda | opencode | mimo |
| Konfiguracja | ~/.config/opencode/opencode.json | ~/.config/mimocode/mimocode.jsonc |
| Klucze | ~/.local/share/opencode/auth.json | ~/.local/share/mimocode/auth.json |
| Instalator | --tool opencode | --tool mimo-code |
Wersja. Projekt aktualizuje się często; dla powtarzalności ustal jej wersję: npm install -g @mimo-ai/[email protected] lub curl -fsSL https://mimo.xiaomi.com/install | bash -s — --version 0.1.15.
Agentów od samych laboratoriów posiadają również rodziny obsługiwane przez sieć: MiniMax Code działa na modelu swojego dostawcy MiniMax M2.7, swoich agentów mają DeepSeek oraz Z.ai, autorzy GLM. Wszyscy łączą się z tą samą bramką przy użyciu jednego klucza.
npx @joingonka/setup --tool mimo-code zapisze dostawcę joingonka w ~/.config/mimocode/mimocode.jsonc (adapter @ai-sdk/openai-compatible, adres https://gate.joingonka.ai/v1, DeepSeek V4 Flash, GLM-5.3 Flash i MiniMax M2.7 z uczciwymi limit) i umieści klucz jg-… w natywnym auth.json. Ręcznie to samo robi kreator /connect → + Custom provider, po nim dopisz modele i limity. Weryfikacja — mimo models joingonka i mimo run; w pojedynczym uruchomieniu trzymaj ścieżki wewnątrz projektu.Chcesz wiedzieć więcej?
Zapoznaj się z innymi sekcjami lub zacznij zarabiać GNK już teraz.
Uzyskaj klucz i darmowe tokeny →