APIMaster.ai

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

  1. OpenCode Desktop zainstalowany ze strony opencode.ai/download.
    • Windows: opencode-desktop-win-x64.exe
    • macOS: brew install --cask opencode-desktop lub .dmg
    • Linux: .deb / .rpm / AppImage
  2. Klucz API APIMaster z konsoli.

Krok 1 – Otwórz dostawców

  1. Uruchom OpenCode Desktop i otwórz obszar roboczy.
  2. Kliknij ikonę koła zębatego (lewy dolny róg).
  3. Wybierz Dostawcy w panelu bocznym.
  4. Przewiń do Własny dostawca (Dodaj dostawcę zgodnego z OpenAI za pomocą podstawowego adresu URL).
  5. Kliknij + Połącz.

Ustawienia → Dostawcy → Własny dostawca


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

Formularz własnego dostawcy

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
  1. Kliknij + Dodaj model, aby dodać więcej wierszy.
  2. Kliknij Zatwierdź.

Dodaj modele i zatwierdź

Wybierz identyfikatory z rynku. Unikaj modeli tylko do obrazów (np. gpt-image-2) w czacie agenta.


Krok 4 – Wybierz model

  1. Rozpocznij lub otwórz sesję.
  2. Otwórz menu rozwijane modelu poniżej pola wprowadzania.
  3. W sekcji APIMaster.ai wybierz model (np. claude-sonnet-4-6).

Wybór modelu


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.

Test czatu


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:

  • /connect w 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/completions404 Nie znaleziono.

Pełny przykład z wariantami Reasoning – pobierz i zastąp konfigurację OpenCode:

  1. Pobierz opencode.jsonc
  2. Zastąp (lub zapisz jako):
    • macOS / Linux: ~/.config/opencode/opencode.jsonc
    • Windows: C:\Users\<nazwa_użytkownika>\.config\opencode\opencode.jsonc
  3. Skonfiguruj klucz API przez /connect lub GUI (nigdy w jsonc).
  4. 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 reasoningEffortreasoning_effort w 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

  1. Zapisz opencode.jsonc, następnie uruchom ponownie lub nowa sesja.
  2. Użyj menu rozwijanego model / Reasoning (np. gpt-5.4 / high).
  3. Jeśli obsługiwane w twojej kompilacji: Ctrl + Shift + D cyklicznie 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?

  1. baseURL = https://apimaster.ai/v1 (nie główna strona).
  2. Pisownia identyfikatora modelu zgadza się z rynkiem.
  3. Klucz skonfigurowany przez /connect lub GUI.
  4. Tymczasowo usuń variants – jeśli zwykłe żądania działają, wybrany reasoning_effort moż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 apimaster w opencode.jsonc
  • Podstawowy URL / baseURL = https://apimaster.ai/v1 (nie https://apimaster.ai/)
  • Klucz API przez /connect lub 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 (/connect lub 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).

Zobacz także