OpenCode z Kimi K3, GLM 5.3 i GLM 5.3 Flash: własny dostawca w UE
W skrócie
- OpenCode korzysta z Nodion jako własnego dostawcy (custom provider): to blok w
opencode.jsonz@ai-sdk/openai-compatible, adresem bazowymhttps://api.nodion.ai/v1i kluczem z{env:NODION_AI_KEY}, w formacie konfiguracji V1, akceptowanym także przez OpenCode 2. - Do modeli odwołujesz się przez identyfikator dostawcy plus identyfikator modelu, na przykład nodion/moonshot/kimi-k3, a limit.context i limit.output trzeba ustawić ręcznie, bo Nodion nie ma wpisu na models.dev.
- W katalogu Nodion Kimi K3, GLM 5.3 i GLM 5.3 Flash mają kontekst 1 048 576 tokenów i poziomy rozumowania low, high i max; GLM 5.3 przyjmuje tylko tekst. Ceny i dostawców znajdziesz w katalogu AI Inference.
- Nodion AI Gateway przekazuje żądania wyłącznie dostawcom z siedzibą w UE, a każdy z nich stosuje zero data retention; z tą samą konfiguracją działa też klucz z AI Coding Plan.
OpenCode współpracuje z każdym API zgodnym z OpenAI dzięki konfiguracji własnego dostawcy (custom provider) w opencode.json. Skieruj go na Nodion AI Gateway (https://api.nodion.ai/v1) i pisz kod z modelami Kimi K3, GLM 5.3 i GLM 5.3 Flash. Bramka AI przekazuje żądania wyłącznie dostawcom z siedzibą w UE, a każdy z nich stosuje zero data retention. Nie potrzebujesz kont u tych dostawców: OpenCode wysyła wszystkie żądania z Twoim kluczem API Nodion.
Najpierw uwaga o wersjach: OpenCode jest teraz rozwijany w dwóch liniach. OpenCode 1 to aktualne wydanie na GitHubie (v1.19.5, październik 2026), opisane na opencode.ai/docs. OpenCode 2 instaluje się osobno, ma własną dokumentację i inne natywne klucze konfiguracji. Poniższy przykład używa formatu konfiguracji V1. Działa w obecnym wydaniu i akceptuje go też OpenCode 2; jego przewodnik migracji mówi: „The V1 config format remains supported.” (czyli format V1 nadal jest obsługiwany).
Czego potrzebujesz
- Konta Nodion i projektu z AI Inference.
- Klucza API: klucza do inferencji z AI Inference → Keys (zaczyna się od
nodion_ai_i jest pokazywany tylko raz) albo klucza utworzonego w Twoim AI Coding Plan. Klucze do API platformy Nodion tu nie działają. - Środków na saldzie przedpłaconym, chyba że korzystasz z klucza przypisanego do AI Coding Plan.
Wyeksportuj klucz w powłoce, w której uruchamiasz OpenCode:
export NODION_AI_KEY=nodion_ai_your_key Dodaj dostawcę w opencode.json
Użyj globalnego pliku ~/.config/opencode/opencode.json albo pliku opencode.json w katalogu głównym projektu:
{
"$schema": "https://opencode.ai/config.json",
"model": "nodion/moonshot/kimi-k3",
"provider": {
"nodion": {
"npm": "@ai-sdk/openai-compatible",
"name": "Nodion",
"options": {
"baseURL": "https://api.nodion.ai/v1",
"apiKey": "{env:NODION_AI_KEY}"
},
"models": {
"moonshot/kimi-k3": {
"name": "Kimi K3",
"limit": { "context": 1048576, "output": 32768 }
},
"z-ai/glm-5.3": {
"name": "GLM 5.3",
"limit": { "context": 1048576, "output": 131072 }
},
"z-ai/glm-5.3-flash": {
"name": "GLM 5.3 Flash",
"limit": { "context": 1048576, "output": 131072 }
}
}
}
}
} npm: dokumentacja OpenCode wskazuje@ai-sdk/openai-compatibledla dostawców zgodnych z OpenAI na/v1/chat/completions. Zostań przy tej ścieżce. Dla/v1/responsesdokumentacja odsyła do@ai-sdk/openai, ale ten provider AI SDK domyślnie ustawiastorenatrue, a endpoint Responses w Nodion niczego nie przechowuje.apiKey:{env:NODION_AI_KEY}odczytuje klucz ze środowiska. Jeśli zmienna nie jest ustawiona, OpenCode wstawia pusty ciąg znaków, więc dostaniesz błąd uwierzytelniania, a nie błąd konfiguracji.models: kluczami są identyfikatory modeli Nodion, razem z ukośnikiem. OpenCode odwołuje się do modelu przez identyfikator dostawcy plus identyfikator modelu, więc Kimi K3 tonodion/moonshot/kimi-k3. Jego dokumentacja pokazuje takie samo zagnieżdżenie na przykładzielmstudio/google/gemma-3n-e4b.limit: dla standardowych dostawców OpenCode pobiera z models.dev limity kontekstu i tokenów wyjściowych. Nodion nie ma tam wpisu (sprawdzone 29 października 2026), więc ustaw oba ręcznie na podstawie katalogu. Dzięki temu OpenCode wie, ile kontekstu zostało.
Zamiast {env:...} możesz zapisać klucz poleceniem /connect: przewiń do Other, wpisz identyfikator dostawcy nodion i wklej klucz. Blok dostawcy w opencode.json nadal jest potrzebny.
Źródła, sprawdzone w październiku 2026: dostawcy w OpenCode, modele, konfiguracja, dostawcy w OpenCode 2, provider OpenAI w AI SDK, models.dev.
Wybierz model
Pole model na najwyższym poziomie określa model domyślny. W TUI polecenie /models wyświetla Twojego własnego dostawcę i jego modele. W wierszu poleceń przełączasz model flagą -m, opencode run działa bez TUI, a opencode models nodion pokazuje, jakie modele OpenCode zna dla tego dostawcy:
opencode -m nodion/z-ai/glm-5.3
opencode run -m nodion/z-ai/glm-5.3-flash "Explain the build setup of this repo"
opencode models nodion Źródła: CLI OpenCode, modele.
Trzy modele obok siebie
Wartości z publicznego katalogu Nodion z 29 października 2026:
| Model | Identyfikator | Kontekst | Maks. wyjście | Wejście | Poziomy rozumowania |
|---|---|---|---|---|---|
| Kimi K3 | moonshot/kimi-k3 | 1 048 576 | 32 768 | Tekst, obraz, wideo | low, high, max |
| GLM 5.3 | z-ai/glm-5.3 | 1 048 576 | 131 072 | Tekst | low, high, max |
| GLM 5.3 Flash | z-ai/glm-5.3-flash | 1 048 576 | 131 072 | Tekst, obraz, wideo, plik | low, high, max |
Wszystkie trzy obsługują narzędzia (tools), tryb JSON, structured outputs i rozumowanie. GLM 5.3 przyjmuje tylko tekst, więc do zrzutów ekranu i innych obrazów potrzebujesz Kimi K3 albo GLM 5.3 Flash. Poziomy rozumowania to wartości, które API akceptuje dla reasoning_effort. Ceny i dostawców znajdziesz na stronie każdego modelu.
Użyj klucza z AI Coding Plan
AI Coding Plans (Go, Pro i Max) pokrywają użycie modeli czatu i narzędzi. Żądania OpenCode to chat completions, więc są rozliczane w ramach planu. Właściciel projektu kupuje jeden plan na programistę i przypisuje go członkowi projektu, który w AI Inference tworzy klucze w tym planie. Wstaw taki klucz do NODION_AI_KEY; konfiguracja pozostaje bez zmian.
Użycie jest liczone w oknach 5-godzinnym, tygodniowym i miesięcznym. Gdy limit w którymś z nich zostanie wyczerpany, żądania są dalej obsługiwane z salda tylko wtedy, gdy plan pozwala na korzystanie z salda. Użycie kluczy bez planu jest opłacane z salda przedpłaconego. Szczegóły znajdziesz na stronie AI Coding Plans.
Rozwiązywanie problemów
- 401: zmienna
NODION_AI_KEYnie jest ustawiona w powłoce, która uruchomiła OpenCode (wartość{env:...}jest wtedy pusta), albo zawiera klucz platformy. Użyj klucza do inferencji (nodion_ai_…) albo klucza z planu. - 404
model not found: któryś klucz wmodelsnie jest dokładnym identyfikatorem Nodion.curl https://api.nodion.ai/v1/modelswyświetla identyfikatory i nie wymaga klucza. - Model nie pojawia się w
/models: sprawdź, czy jest wpisany wprovider.nodion.models.opencode models nodionpokazuje, co widzi OpenCode. - OpenCode nie wie, ile kontekstu zostało: dla tego modelu brakuje
limit.contextilimit.output. - 402: saldo nie pokrywa żądania albo osiągnięto limit wydatków.
- 503: żadna sprawna trasa dla modelu nie pasuje do ustawień AI projektu, na przykład dlatego, że jego dostawcy są tam wykluczeni.
Źródła: Dokumentacja API AI: błędy i limity, dokumentacja AI Inference, AI Coding Plans.
Następne kroki
- Codex zamiast OpenCode: Codex CLI z modelami w UE.
- Aider, Cline i Continue: Aider, Cline i Continue z modelami w UE.
- Wszystkie pola chat completions w Nodion: Dokumentacja API AI.
- Miesięczny pakiet dla agentów do kodowania: AI Coding Plans.
Najczęściej zadawane pytania
Jak dodać własnego dostawcę w OpenCode?
Dodaj do opencode.json blok dostawcy z npm ustawionym na @ai-sdk/openai-compatible, options.baseURL, options.apiKey i mapą models. Dla Nodion adres bazowy to https://api.nodion.ai/v1, a klucz może pochodzić z {env:NODION_AI_KEY}.
Jak wybrać własny model w OpenCode?
Użyj identyfikatora dostawcy, a po nim identyfikatora modelu, na przykład nodion/moonshot/kimi-k3. Ustaw go jako model na najwyższym poziomie, przekaż przez opencode -m albo wybierz z listy /models w TUI.
Dlaczego OpenCode nie zna okna kontekstu mojego własnego modelu?
Dla standardowych dostawców OpenCode pobiera limity z models.dev. W przypadku własnego dostawcy, takiego jak Nodion, ustaw limit.context i limit.output dla każdego modelu w opencode.json.
Czy w OpenCode mogę użyć klucza z AI Coding Plan?
Tak. Utwórz klucz w swoim AI Coding Plan w Nodion i wstaw go do NODION_AI_KEY; konfiguracja pozostaje bez zmian. Użycie czatu i narzędzi jest wtedy liczone w oknach planu: 5-godzinnym, tygodniowym i miesięcznym.