Sekcje bazy wiedzy ▾

Nawigacja

▸ Zacznij tutaj Według ról

Kategorie

Narzędzia 52
Słownik 12

Narzędzia

Kimi Code CLI: agent Moonshot AI na własnym kluczu przez Gonka

Kimi Code CLI (polecenie kimi) — terminalowy agent programistyczny od Moonshot AI: czyta i poprawia kod, uruchamia komendy, przeszukuje pliki i rozdziela podzadania subagentom. Obecna wersja zastępuje klienta Python kimi-cli: jest napisana w TypeScript, instalowana jako jeden plik binarny i udostępniona na licencji MIT. Wszystko poniżej odnosi się do wersji 2.0.2 z 19 września 2026 roku — na niej przeszliśmy drogę od instalacji do odpowiedzi agenta 23 września.

Standardowo Kimi Code działa na modelach Kimi po zalogowaniu (/login), ale może obsługiwać dowolną liczbę dostawców: każdy endpoint zgodny z OpenAI opisuje się kilkoma liniami w ~/.kimi-code/config.toml i konto Moonshot nie jest do tego potrzebne. JoinGonka Gateway — to właśnie taki endpoint dla zdecentralizowanej sieci Gonka.

Najważniejsza informacja: modeli Kimi w sieci Gonka obecnie nie ma — Kimi K2.6 obsługiwał sieć od maja do września 2026 roku. Dziś działają w niej DeepSeek V4 Flash, GLM-5.3 Flash oraz MiniMax M2.7, a ten przewodnik opisuje, jak uruchomić na nich Kimi Code. Agent pozostaje ten sam, zmieniają się model i cena: $0.0069 za milion tokenów wejściowych, taka sama dla wszystkich modeli w sieci. Po potwierdzeniu adresu na konto wpłynie 3M darmowych tokenów — wystarczy, aby samodzielnie powtórzyć wszystkie kroki.

Szybki start: instalacja i jedno polecenie

Krok 1: zainstalować Kimi Code. Oficjalne sposoby z dokumentacji:

# macOS and Linux: prebuilt binary, no Node.js needed
curl -fsSL https://code.kimi.com/kimi-code/install.sh | bash

# Windows (PowerShell); Git for Windows is required before the first run
irm https://code.kimi.com/kimi-code/install.ps1 | iex

# npm (Node.js 22.19 or newer)
npm install -g @moonshot-ai/kimi-code

Skrypt umieszcza plik binarny w ~/.kimi-code/bin/kimi i dopisuje ten katalog do PATH przez plik konfiguracyjny powłoki. Jego kompilacje są tylko pod glibc: na Alpine i innych systemach z musl zatrzyma się i zaproponuje npm. Otwórz terminal ponownie i sprawdź: kimi --version.

Krok 2: zdobyć klucz. Zarejestruj się na gate.joingonka.ai/register, potwierdź adres i utwórz w sekcji „Klucze API” klucz z prefiksem jg-.

Krok 3: uruchomić instalator.

npx @joingonka/setup --tool kimi-code

Instalator zapyta o klucz (nie przekazuje się go w argumentach wiersza poleceń) i dopisze do ~/.kimi-code/config.toml tylko swoje tabele:

  • providera [providers.joingonka] z typem openai — to protokół Chat Completions — z adresem bramy i kluczem w polu api_key; plik otrzyma uprawnienia 600;
  • po tabeli [models."joingonka/…"] dla każdego modelu sieci — z prawdziwym oknem kontekstu i pułapem odpowiedzi oraz jawnymi możliwościami: wywoływanie narzędzi dla wszystkich, rozumowanie — DeepSeek V4 Flash i GLM-5.3 Flash, u MiniMax M2.7 tylko narzędzia;
  • default_model — DeepSeek V4 Flash, jeśli model domyślny nie został jeszcze wybrany lub wskazuje na model bramy, który zniknął z sieci; wyboru innego providera bez flagi --model nie rusza, a podpowiada polecenie do jednorazowego uruchomienia;
  • zachowa kopię poprzedniego pliku, nie tknie cudzych providerów ani twoich pól w tabelach bramy, a na końcu wyśle żywe zapytanie do bramy i powie, czy klucz, adres i model zostały przyjęte.

Tak wyglądało wyjście w naszym przebiegu (skrócone):

Configured provider "joingonka" in ~/.kimi-code/config.toml
Base URL: https://gate.joingonka.ai/v1 (provider type "openai" — Chat Completions)
Models: joingonka/MiniMaxAI/MiniMax-M2.7, joingonka/deepseek-ai/DeepSeek-V4-Flash-0731, joingonka/zai-org/GLM-5.3-Flash
Default model: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731
…
✓ Verified: the gateway accepted the key, base URL and model.

Inny model domyślny ustawia flaga --model (glm, minimax lub pełny identyfikator); tryb bez pytań bierze klucz ze zmiennej środowiskowej:

JOINGONKA_API_KEY=jg-your-key npx @joingonka/setup --tool kimi-code --model glm --non-interactive

Katalog danych, przeniesiony zmienną KIMI_CODE_HOME, instalator uwzględnia sam. Natomiast ~/.kimi to katalog poprzedniego klienta Python kimi-cli: Kimi Code 2.x go nie czyta, a przy pierwszym uruchomieniu proponuje przenieść stamtąd ustawienia (to samo robi kimi migrate).

Konfiguracja ręczna: config.toml

Wszystko, co robi instalator, można też zapisać ręcznie. Kimi Code trzyma ustawienia w TOML; klucze tabel z kropką lub ukośnikiem bierze się w cudzysłów. Pełny fragment dla sieci Gonka:

default_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"

[providers.joingonka]
type = "openai"
base_url = "https://gate.joingonka.ai/v1"
api_key = "jg-your-key"

[models."joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"]
provider = "joingonka"
model = "deepseek-ai/DeepSeek-V4-Flash-0731"
max_context_size = 380000
max_output_size = 32768
capabilities = ["thinking", "tool_use"]
display_name = "DeepSeek V4 Flash (Gonka)"

[models."joingonka/zai-org/GLM-5.3-Flash"]
provider = "joingonka"
model = "zai-org/GLM-5.3-Flash"
max_context_size = 390000
max_output_size = 8192
capabilities = ["thinking", "tool_use"]
display_name = "GLM 5.3 Flash (Gonka)"

# MiniMax M2.7, unlike DeepSeek and GLM, is declared without thinking
[models."joingonka/MiniMaxAI/MiniMax-M2.7"]
provider = "joingonka"
model = "MiniMaxAI/MiniMax-M2.7"
max_context_size = 200000
max_output_size = 8192
capabilities = ["tool_use"]
display_name = "MiniMax M2.7 (Gonka)"
PoleWartośćCo jest ważne
default_modelalias modeluOdwołuje się do nazwy tabeli [models."…"], a nie do identyfikatora modelu
max_context_sizeokno modeluPole obowiązkowe; na jego podstawie agent decyduje, kiedy kompresować kontekst
max_output_sizelimit odpowiedziTrafia do żądania jako max_tokens — sprawdziliśmy to na żywym połączeniu. Bez tego pola Kimi Code zażądałby nawet 131 072 tokenów odpowiedzi, więcej, niż zwracają modele w sieci
capabilitiesthinking, tool_useKimi Code nie zgaduje możliwości nieznanych modeli po nazwie — deklaruj je wprost

Gdzie trzymać klucz. Kimi Code nie pobiera kluczy ze środowiska powłoki: export OPENAI_API_KEY=… na niego nie działa. Są dwa sposoby i nie można używać ich jednocześnie:

SposóbZapisJak się zachowuje
Klucz w plikuapi_key = "jg-…"Tak zapisuje instalator; działa z każdego środowiska, plik trzymaj z uprawnieniami 600
Nazwa zmiennejapi_key_env = "JOINGONKA_API_KEY"Wartość czytana ze środowiska procesu przy każdym żądaniu; bez zmiennej uruchomienie kończy się błędem, w którym jest ona nazwana

Oba pola w jednej tabeli Kimi Code odrzuci przy starcie: has both apiKey and apiKeyEnv set in config.toml - they are mutually exclusive. Pamiętaj, że kimi doctor takiego konfliktu nie wyłapie — sprawdza tylko formę pliku.

Jaki typ dostawcy wybrać. Kimi Code obsługuje kilka protokołów, a brama również:

typebase_urlKiedy wybierać
openaihttps://gate.joingonka.ai/v1Podstawowy wariant: kanoniczna ścieżka bramy, zapisuje ją instalator
anthropichttps://gate.joingonka.aiFormat Anthropic Messages, ścieżkę /v1/messages klient dopisuje sam; pełny cykl z narzędziami w naszym przebiegu zakończył się powodzeniem

Jeden dostawca w Kimi Code mówi jednym protokołem, więc drugi protokół to drugi dostawca pod inną nazwą. Interaktywnie dostawców dodaje i usuwa komenda /provider wewnątrz agenta.

Modele, Thinking i subagenci

Model w Kimi Code to alias, nazwa tabeli [models."…"]. Instalator nadaje im nazwy według schematu joingonka/<model-id>, tak jak sam Kimi Code nazywa swoje (kimi-code/k3), i to właśnie alias jest potrzebny wszędzie tam, gdzie wybiera się model. Identyfikatora bez prefiksu, na przykład MiniMaxAI/MiniMax-M2.7, Kimi Code nie znajdzie.

GdzieJakZapisywany
config.tomldefault_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"tak, dla nowych sesji
Flaga uruchomieniakimi -m "joingonka/zai-org/GLM-5.3-Flash"nie, tylko to uruchomienie
Interfejs/model, wybór z listyEnter nadpisze default_model, Alt+S — tylko dla bieżącej sesji

W naszym przebiegu /model wyglądał tak:

Select a model  (type to search)
Tab toggle provider · ↑↓ navigate · Enter select · Alt+S session-only · Esc cancel

 All   joingonka

   MiniMax M2.7 (Gonka)       joingonka
 ❯ DeepSeek V4 Flash (Gonka)  joingonka ← current
   GLM 5.3 Flash (Gonka)      joingonka

 Thinking  (←→ to switch)
  [ On ]    Off

Przełącznik Thinking. Przełącznik rozumowania pod listą na modelach sieci sam z siebie niczego nie zmienia: poziom rozumowania Kimi Code wysyła wyłącznie modelom, które mają zadeklarowane poziomy. W przypadku GLM-5.3 Flash warto to zrobić — jej rozumowanie wyłącza się wartością low (więcej w omówieniu modelu). Dopisz do tabeli modelu trzy pola:

[models."joingonka/zai-org/GLM-5.3-Flash"]
# … fields written by the installer …
support_efforts = ["low", "high"]
default_effort = "high"
off_effort = "low"

Sprawdziliśmy, co trafia do bramy: przy włączonym Thinking Kimi Code wysyła reasoning_effort: "high" i model rozumuje; przy wyłączonym — "low", a odpowiedź przychodzi bez bloku rozumowania. Ponowne uruchomienie instalatora nie ruszy tych pól: poprawia tylko swoje klucze.

Model dla subagentów. Wbudowani subagenci (coder, explore, plan) domyślnie działają na modelu głównego agenta. Sekcja [secondary_model] daje im pulę, z której główny agent wybiera sam, kierując się podpowiedziami. Do puli nadaje się każdy alias — DeepSeek V4 Flash, GLM-5.3 Flash lub MiniMax M2.7:

[secondary_model]
default_model = "joingonka/deepseek-ai/DeepSeek-V4-Flash-0731"

[secondary_model.models]
"joingonka/deepseek-ai/DeepSeek-V4-Flash-0731" = "Long context and long output: big reads and edits."
"joingonka/zai-org/GLM-5.3-Flash" = "Reasoning model for tricky logic and debugging."

Klucze puli muszą się zgadzać z aliasami z [models]: według dokumentacji wiszące odwołanie uniemożliwia utworzenie sesji. Wiersz dla MiniMax M2.7 dodaje się tak samo; odwołania do modeli, które zniknęły z sieci, instalator przy ponownym uruchomieniu sam oczyści.

Który model wybrać. Cena wszystkich modeli sieci jest jednakowa, więc wybór dotyczy zachowania. Tak zachowywały się w Kimi Code 2.0.2 na zadaniu „przeczytaj plik i znajdź błąd” (wERYFIKOWANO 23 września 2026):

ModelKontekst / odpowiedźJak zachowuje się w Kimi Code
DeepSeek V4 Flash380K / 32768Wybór instalatora: duże okno i najwyższy pułap odpowiedzi w sieci. Zadanie rozwiązuje poprawnie
GLM-5.3 Flash390K / 8192Model rozumujący: rozumowanie idzie osobnym strumieniem (w kimi -p — do stderr), odpowiedź — do stdout. Rozumowanie wlicza się do limitu odpowiedzi
MiniMax M2.7200K / 8192Zadanie rozwiązuje poprawnie w dwóch krokach; rozumowanie idzie osobnym strumieniem (w kimi -p — do stderr), w stdout — tylko odpowiedź

Sprawdzenie: co powinno się stać

Najpierw upewnij się, że Kimi Code widzi providera, a plik parsuje się bez błędów:

$ kimi provider list
joingonka  type=openai  models=3  source=inline

Default model: joingonka/deepseek-ai/DeepSeek-V4-Flash-0731

$ kimi doctor
OK config.toml  ~/.kimi-code/config.toml

Wyniku kimi provider list --json nigdzie nie publikuj: klucz jest tam podany jawnym tekstem.

Teraz jednorazowe uruchomienie. Wrzuć do katalogu calc.py z funkcją dodawania, która w rzeczywistości odejmuje, i poproś o znalezienie błędu:

kimi -p "Read calc.py and tell me in one sentence whether it has a bug."

W trybie -p odpowiedź trafia na stdout, a rozumowanie i przebieg narzędzi na stderr, więc wyjście wygodnie parsuje się skryptem. Tak odpowiedział GLM-5.3 Flash:

• Yes: the `add` function in calc.py:2 returns `a - b` instead of `a + b`, so `add(2, 3)` prints `-1`.

Uwaga: w -p Kimi Code o nic nie pyta i sam wykonuje polecenia — w naszym uruchomieniu model bez pytania spróbował odpalić python3, żeby sprawdzić swoje przypuszczenie. Pierwsze uruchomienie interfejsu w nowym katalogu zaczyna się od pytania Trust this folder? — dotyczy ono serwerów MCP projektu — a na ekranie powitalnym widać model: Model: DeepSeek V4 Flash (Gonka). Druga połowa weryfikacji to panel bramy: w sekcji „Użycie” zapytanie pojawi się w podziale na modele i na klucze.

Jeśli coś poszło nie tak, diagnozę zwykle odczytasz wprost z komunikatu:

Co widaćCo to znaczyCo zrobić
No model configured. Run `kimi` and use /login to sign in …Provider nie jest skonfigurowany lub default_model jest pustyUruchom instalator albo wpisz default_model
Model "deepseek-ai/DeepSeek-V4-Flash-0731" is not configured in config.toml.Do -m przekazano identyfikator modelu, a nie aliasDodaj prefiks: joingonka/deepseek-ai/…
provider.auth_error: 401 Invalid API keyBrama nie przyjęła kluczaSprawdź api_key w [providers.joingonka]: Kimi Code nie czyta zmiennych powłoki
declares api_key_env = "JOINGONKA_API_KEY" … but the environment variable is not set or is emptyWybrano metodę ze zmienną, a tej nie ma w środowiskuWyeksportuj zmienną przed uruchomieniem albo wróć do api_key
429 … currently overloaded in the Gonka network (rate limit)W modelu w sieci skończyła się wolna pojemnośćTakie błędy Kimi Code powtarza sam; jeśli się przeciąga — zmień model przez /model. Stan widać na stronie statusu

Ile to kosztuje

Kimi Code do każdej Twojej wypowiedzi dodaje prompt systemowy oraz opisy dwudziestu kilku wbudowanych narzędzi, a zadanie zazwyczaj zajmuje kilka kroków. W naszym przypadku każdy krok generował około 20 tysięcy tokenów wejściowych, a „przeczytaj plik, znajdź błąd” zajęło dwa kroki — około 40 tysięcy tokenów, prawie wszystkie na wejściu. Dlatego cena za token ma tu kluczowe znaczenie.

Przez JoinGonka Gateway tokeny kosztują $0.0069 za milion na wejściu i $0.021 za milion na wyjściu — cena jest jednakowa dla wszystkich modeli w sieci i jest pobierana na tej stronie z aktywnego źródła.

ScenariuszZużyciePrzez Gateway
Jednorazowe zadanie: przeczytać plik, znaleźć błąd~40K tokenówułamki centa
Dzień aktywnej pracy3-7M tokenówkilka centów
Miesiąc aktywnego programowania~150M tokenówokoło dolara

Szacunki w prawej kolumnie opierają się na cenach z września 2026 r. Dla porównania — jak w ogóle można płacić za modele w Kimi Code:

MetodaJak się łączyCo jest potrzebne
Kimi Code (OAuth)/login, logowanie przez kod urządzeniakonto Kimi; limity i cena zgodnie z regulaminem usługi
Kimi Platform/login z kluczem API platformyklucz z platform.kimi.com lub platform.kimi.ai, płatność zgodnie z cennikiem platformy
JoinGonka Gatewaydostawca w config.tomlklucz jg-…; konto Moonshot nie jest potrzebne, płatność za faktyczne tokeny, zużycie widoczne w panelu

Dokładne zużycie i saldo znajdują się w panelu, w sekcjach „Użycie” i „Rozliczenia”. Kimi Code sam monitoruje długość rozmowy: pasek stanu pokazuje, jaka część kontekstu jest zajęta, a polecenie /compact ręcznie kompresuje historię.

O czym warto pamiętać podczas pracy

Tryby uprawnień. W interfejsie Kimi Code domyślnie działa tryb Always Ask: czytanie odbywa się od razu, a poprawki i polecenia — po Twoim potwierdzeniu. Ask When Needed (/yolo lub flaga --yolo) pomija rutynowe poprawki i polecenia, ale pyta o wrażliwe pliki i niebezpieczne polecenia; Never Ask (/auto, --auto) nie pyta o nic. Tryb planowania włącza się przez Shift-Tab. Jednorazowe uruchomienie kimi -p zawsze przebiega bez pytań, dlatego uruchamiaj je w kontenerze lub oddzielnej kopii roboczej.

Co działa bez konta Moonshot. Własny dostawca obsługuje wszystko, co robi model: czytanie i poprawianie kodu, polecenia, subagenty, sesje, serwery MCP. Wyszukiwanie w sieci — usługa Moonshot: bez logowania do konta narzędzia WebSearch nie ma w zestawie agenta, ale pobieranie strony pod adresem (FetchURL) pozostaje. Modele sieci są tekstowe, więc wprowadzanie obrazów i wideo w nich nie działa.

Telemetria i aktualizacje. Anonimowa telemetria jest domyślnie włączona: wyłącza ją linia telemetry = false w config.toml lub zmienna KIMI_DISABLE_TELEMETRY=1. Aktualizacje instalują się automatycznie ([upgrade] auto_install = true w ~/.kimi-code/tui.toml); jeśli potrzebujesz przewidywalności — wyłącz to i aktualizuj poleceniem kimi upgrade. Brama nie przechowuje treści promptów i odpowiedzi — w statystykach pozostają tylko agregaty zużycia.

Kilka środowisk. Kimi Code nie posiada ustawień dostawców na poziomie projektu. Rozdzielić klucze robocze i prywatne można zmienną KIMI_CODE_HOME: dzięki niej do innego katalogu przenoszą się ustawienia, sesje i logi, a instalator uruchomiony z tą samą zmienną zapisuje tamże.

W edytorze. Kimi Code działa wewnątrz Zed, JetBrains i innych klientów ACP przez polecenie kimi acp — z tym samym katalogiem danych i tymi samymi dostawcami.

Własnych agentów wydają też laboratoria, których modele obsługuje sieć: MiniMax ma terminalowy MiniMax Code, DeepSeek — DeepSeek Harness, a Z.ai, autorzy GLM, — ZCode. Wszyscy oni podłączają się do tej samej bramy z tym samym kluczem.

Kimi Code CLI — terminalowy agent Moonshot AI, otwarty na zewnętrznych dostawców: modeli Kimi w sieci Gonka obecnie nie ma, ale na DeepSeek V4 Flash, GLM-5.3 Flash i MiniMax M2.7 działa standardowo i bez konta Moonshot. Szybka ścieżka — npx @joingonka/setup --tool kimi-code: instalator zapisze w ~/.kimi-code/config.toml dostawcę joingonka z typem openai i kluczem, tabele modeli z uczciwymi limitami i domyślny model, a następnie sprawdzi połączenie żywym zapytaniem. Model wybiera się aliasem joingonka/<id> — w /model lub flagą -m; aby przełącznik Thinking działał w GLM-5.3 Flash, zadeklaruj support_efforts i off_effort = "low". Weryfikacja — kimi provider list i kimi -p na pliku z błędem; płacisz za faktyczne tokeny według jednolitej ceny sieci.

Chcesz wiedzieć więcej?

Zapoznaj się z innymi sekcjami lub zacznij zarabiać GNK już teraz.

Uzyskaj klucz i darmowe tokeny →