OpenCode z APIMaster.ai
Dodaj APIMaster jako dostawcę zgodnego z OpenAI w OpenCode Desktop, z opcjonalnymi poziomami Reasoning poprzez opencode.jsonc.
OpenCode Desktop to graficzny klient dla OpenCode (obecnie wersja beta): lokalne sesje agenta, edycja plików i wykonywanie poleceń powłoki. APIMaster.ai jest zgodny z OpenAI – dodaj go w Ustawienia → Dostawcy → Własny dostawca.
Najpierw uzyskaj klucz API. Użyj poniżej zastępczego
twoj_klucz_apimaster; zrzuty ekranu maskują prawdziwe klucze.
Wymagania wstępne
- OpenCode Desktop zainstalowany ze strony opencode.ai/download.
- Windows:
opencode-desktop-win-x64.exe - macOS:
brew install --cask opencode-desktoplub.dmg - Linux:
.deb/.rpm/ AppImage
- Windows:
- Klucz API APIMaster z konsoli.
Krok 1 – Otwórz dostawców
- Uruchom OpenCode Desktop i otwórz obszar roboczy.
- Kliknij ikonę koła zębatego (lewy dolny róg).
- Wybierz Dostawcy w panelu bocznym.
- Przewiń do Własny dostawca (Dodaj dostawcę zgodnego z OpenAI za pomocą podstawowego adresu URL).
- Kliknij + Połącz.

Krok 2 – Formularz własnego dostawcy
| Pole | Wartość |
|---|---|
| Identyfikator dostawcy | apimaster |
| Nazwa wyświetlana | APIMaster.ai |
| Podstawowy URL | https://apimaster.ai/v1 |
| Klucz API | Twój klucz APIMaster |

Pozostaw Nagłówki puste, chyba że uwierzytelniasz się wyłącznie przez nagłówki.
Krok 3 – Dodaj modele i zatwierdź
Na następnym ekranie przypisz modele (lewa strona = etykieta w OpenCode, prawa strona = identyfikator modelu wysyłany do APIMaster – zazwyczaj ten sam):
| Lewa | Prawa |
|---|---|
gpt-5.4 |
gpt-5.4 |
claude-sonnet-4-6 |
claude-sonnet-4-6 |
- Kliknij + Dodaj model, aby dodać więcej wierszy.
- Kliknij Zatwierdź.

Wybierz identyfikatory z rynku. Unikaj modeli tylko do obrazów (np. gpt-image-2) w czacie agenta.
Krok 4 – Wybierz model
- Rozpocznij lub otwórz sesję.
- Otwórz menu rozwijane modelu poniżej pola wprowadzania.
- W sekcji APIMaster.ai wybierz model (np.
claude-sonnet-4-6).

Krok 5 – Test
Wyślij hello lub małe zadanie programistyczne. Normalna odpowiedź asystenta (edycja plików / powłoka) oznacza, że APIMaster jest podłączony.

Zaawansowane: opencode.jsonc i Reasoning
Powyższy interfejs GUI wystarczy do szybkiego startu. Aby skonfigurować poziomy Reasoning / wysiłek myślenia (low, high, max, …) dla tego samego identyfikatora modelu, edytuj opencode.jsonc.
Lokalizacja pliku konfiguracyjnego
| System | Ścieżka |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
| Windows | C:\Users\<nazwa_użytkownika>\.config\opencode\opencode.jsonc |
Utwórz plik, jeśli nie istnieje. Uruchom ponownie OpenCode Desktop lub rozpocznij nową sesję po zapisaniu.
Klucz API (nie umieszczaj w jsonc)
Nie przechowuj swojego klucza API w opencode.jsonc.
Użyj:
/connectw terminalu, lub- Ustawienia → Dostawcy → Połącz dostawcę (tak samo jak w krokach 1–2 powyżej).
Przechowuj sekrety w magazynie uwierzytelniania OpenCode; jsonc definiuje tylko dostawcę, modele i warianty Reasoning.
Dostawca APIMaster w jsonc
Identyfikator dostawcy: apimaster. Pakiet npm: @ai-sdk/openai-compatible.
baseURL musi być:
https://apimaster.ai/v1
Nie https://apimaster.ai/ – OpenCode dodaje /chat/completions. Bez /v1 otrzymasz https://apimaster.ai/chat/completions → 404 Nie znaleziono.
Pełny przykład z wariantami Reasoning – pobierz i zastąp konfigurację OpenCode:
- Pobierz opencode.jsonc
- Zastąp (lub zapisz jako):
- macOS / Linux:
~/.config/opencode/opencode.jsonc - Windows:
C:\Users\<nazwa_użytkownika>\.config\opencode\opencode.jsonc
- macOS / Linux:
- Skonfiguruj klucz API przez
/connectlub GUI (nigdy w jsonc). - Uruchom ponownie OpenCode Desktop lub rozpocznij nową sesję.
Zrób kopię zapasową istniejącego pliku przed zastąpieniem lub scal tylko blok
provider.apimaster.
Minimalna struktura:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apimaster": {
"name": "APIMaster.ai",
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://apimaster.ai/v1" },
"models": {
"gpt-5.4": {
"name": "gpt-5.4",
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}
Zasady Reasoning
variants= wiele poziomów Reasoning dla jednego identyfikatora modelu w GUI.- Dla API zgodnych z OpenAI, OpenCode mapuje
reasoningEffort→reasoning_effortw treści żądania. - Nazwy wariantów powinny odpowiadać rzeczywistemu parametrowi (
high→"reasoningEffort": "high"). - Każdy model obsługuje inne poziomy – skonfiguruj zgodnie z oficjalną dokumentacją; nie ma ukrytego mapowania.
Poziomy Reasoning według modelu
| Model | Warianty Reasoning | Uwagi |
|---|---|---|
gpt-5.4 |
low, medium, high, xhigh |
Reasoning GPT |
gpt-5.5 |
low, medium, high, xhigh |
Reasoning GPT |
deepseek-v4-flash |
high, max |
Myślenie DeepSeek (zalecane) |
deepseek-v4-pro |
high, max |
Myślenie DeepSeek (zalecane) |
claude-sonnet-4-6 |
low, medium, high, max |
Wysiłek Claude Sonnet |
claude-opus-4-7 |
low, medium, high, xhigh, max |
Wysiłek Claude Opus |
claude-opus-4-8 |
low, medium, high, xhigh, max |
Wysiłek Claude Opus |
claude-haiku-4-5 |
brak | Brak niepotwierdzonych poziomów wysiłku |
minimax-m3 |
brak | Brak niepotwierdzonych poziomów wysiłku |
Pełny plik znajdziesz w opencode.jsonc.
Przełączanie Reasoning w OpenCode
- Zapisz
opencode.jsonc, następnie uruchom ponownie lub nowa sesja. - Użyj menu rozwijanego model / Reasoning (np.
gpt-5.4 / high). - Jeśli obsługiwane w twojej kompilacji:
Ctrl + Shift + Dcyklicznie przełącza poziomy Reasoning.
Rozwiązywanie problemów
Konfiguracja przez GUI
| Problem | Rozwiązanie |
|---|---|
| 401 | Sprawdź klucz; wygeneruj nowy, jeśli został ujawniony |
| Model nie znaleziony | Podstawowy URL musi być https://apimaster.ai/v1; identyfikator modelu musi zgadzać się z rynkiem |
| Brak modeli APIMaster | Edytuj dostawcę w Ustawieniach → dodaj mapowania → Zatwierdź |
| Wolno / przekroczenie czasu | Wypróbuj inny model; użyj Testera kluczy API |
Reasoning / jsonc
Dlaczego tylko high i max dla DeepSeek?
Oficjalny wysiłek myślenia zgodny z OpenAI dla DeepSeek to high i max. Unikaj low / medium / xhigh, które są nieprzewidywalnie mapowane.
Dlaczego max dla Claude Sonnet, a nie xhigh?
Najwyższy poziom Sonnet to max; xhigh jest dla Opus (claude-opus-4-7 / claude-opus-4-8).
Dlaczego brak wariantów dla Haiku lub MiniMax M3?
Bez udokumentowanych wartości reasoningEffort, pomiń warianty – model nadal działa; GUI po prostu nie pokaże podpoziomów Reasoning.
Nadal błąd 400?
baseURL=https://apimaster.ai/v1(nie główna strona).- Pisownia identyfikatora modelu zgadza się z rynkiem.
- Klucz skonfigurowany przez
/connectlub GUI. - Tymczasowo usuń
variants– jeśli zwykłe żądania działają, wybranyreasoning_effortmoże być nieobsługiwany dla tego modelu.
Bezpieczeństwo
- Nigdy nie udostępniaj kluczy w czacie ani na niezacenzurowanych zrzutach ekranu.
- Wygeneruj ponownie klucze, które pojawiły się na zrzutach ekranu lub w logach.
- OpenCode może odczytywać/zapisywać pliki i uruchamiać polecenia powłoki – używaj tylko zaufanych obszarów roboczych.
Lista kontrolna
- Zainstalowano OpenCode Desktop
- Podłączono własnego dostawcę lub dodano
apimasterwopencode.jsonc - Podstawowy URL /
baseURL=https://apimaster.ai/v1(niehttps://apimaster.ai/) - Klucz API przez
/connectlub GUI (nie w jsonc) - Zamapowano co najmniej jeden model czatu
- (Opcjonalnie) Warianty Reasoning zgodne z oficjalnymi poziomami
- Testowa wiadomość zakończona sukcesem
Podsumowanie
- Kluczowe elementy:
baseURL(https://apimaster.ai/v1), identyfikator modelu, klucz API (/connectlub GUI), opcjonalne warianty Reasoning. - Nazwy wariantów = rzeczywiste wartości
reasoning_effort. - Konfiguruj poziomy dla każdego modelu; pomiń warianty, gdy nie są obsługiwane (Haiku, MiniMax M3).