Claude Opus 5.5 jest już dostępny w SeedRouter

Gemini 4 Argon w OpenCode: konfiguracja i ograniczenia

Skonfiguruj Gemini 4 Argon w OpenCode przez natywną integrację z Google. Poznaj testowaną wersję, obsługę podpisanej historii i ograniczenia kontynuacji.

Czytaj jako Markdown

Gemini 4 Argon można skonfigurować w OpenCode przez natywną integrację z Google. Warto sprawdzić, co dzieje się po pierwszej odpowiedzi: czy klient zachowuje podpisane części, poprawnie zwraca wyniki narzędzi i rozpoznaje odpowiedź wymagającą kontynuacji? Nasz test offline OpenCode v1.19.0 wykazał poprawną obsługę tekstu i wiadomości narzędzi, ale także braki w kontynuacji długiego wyjścia i obsłudze przerwanych strumieni.

Ten poradnik przedstawia konfigurację początkową i dokładnie określa, co potwierdzają zebrane wyniki. Nie dowodzi, że istnieje kompletna integracja agenta programistycznego z SeedRouter sprawdzona w rzeczywistych wywołaniach. Jeśli potrzebujesz prostszego klienta z jednym świadomie wysyłanym żądaniem na turę, skorzystaj z poradnika rozmowy w Pythonie.

Skonfiguruj Gemini 4 Argon w OpenCode

Sprawdź zainstalowaną wersję poleceniem opencode --version. Poniższe wyniki dotyczą opublikowanej wersji v1.19.0, przetestowanej 14 października 2026 r. Nowsza wersja wymaga osobnej weryfikacji; obecność funkcji w gałęzi rozwojowej nie dowodzi, że zainstalowane wydanie ją obsługuje.[1]

Utwórz pusty katalog projektu do pierwszego testu. Pobierz do niego konfigurację OpenCode. Sekcja połączenia wygląda tak:

{
  "provider": {
    "google": {
      "npm": "@ai-sdk/google",
      "options": {
        "apiKey": "{env:SEEDROUTER_API_KEY}",
        "baseURL": "https://api.seedrouter.ai/v1beta"
      },
      "models": {
        "gemini-4-argon": {
          "name": "Gemini 4 Argon",
          "reasoning": true,
          "tool_call": true,
          "limit": { "context": 1048576, "output": 4096 },
          "options": {
            "thinkingConfig": { "thinkingLevel": "low", "includeThoughts": true }
          }
        }
      }
    }
  }
}

OpenCode obsługuje podstawianie wartości zmiennych środowiskowych w plikach konfiguracyjnych.[2] Ustaw SEEDROUTER_API_KEY w powłoce, nie dodając klucza do commitów projektu. Pobrany plik wybiera też google/gemini-4-argon, wyłącza udostępnianie i automatyczne aktualizacje oraz zezwala wyłącznie na narzędzie read. Przejrzyj te uprawnienia przed użyciem istniejącego repozytorium. Flagi reasoning i tool_call opisują zachowanie klienta; nie dowodzą, że konkretne konto lub usługa obsługuje wszystkie operacje.

Wartość wyjścia 4096 to celowo wybrany początkowy limit w tej konfiguracji, a nie oficjalne maksimum Argon. Rozumowanie również go zużywa. Zasady dotyczące kontekstu, wyjścia i kontynuacji znajdziesz w dokumentacji API.

Zacznij od jednego krótkiego żądania

Po sprawdzeniu konfiguracji i aktualnych stawek uruchom:

OPENCODE_CONFIG="$PWD/gemini-4-argon-opencode.json" \
OPENCODE_DISABLE_MODELS_FETCH=1 \
OPENCODE_DISABLE_AUTOCOMPACT=1 \
opencode run --model google/gemini-4-argon \
  "Explain a mutex in one sentence. Do not use tools."

Wywołane z twoim kluczem polecenie wysyła rzeczywiste żądanie do modelu. OpenCode może ponawiać nieudane żądania lub wysyłać kolejne podczas działania agenta: polecenie nie gwarantuje ograniczenia wydatków do jednego wywołania. Zatrzymaj proces, jeśli odpowiedź jest niepełna lub żądania się powtarzają. Aby zachować ścisłą kontrolę ręczną, użyj przykładu w Pythonie.

Ścieżka natywnego żądania powinna kończyć się na gemini-4-argon:streamGenerateContent?alt=sse. W testowanej wersji integracja Google wysyłała dane uwierzytelniające w x-goog-api-key. Różni się to od przykładów cURL z nagłówkiem Bearer w ogólnym poradniku API; wybór ogólnej integracji z OpenAI nie tworzy takiego samego natywnego żądania.

Co potwierdziły testy offline

Test korzystał z opublikowanej wersji CLI, lokalnej symulacji API i fikcyjnych danych uwierzytelniających. Wykonano 17 żądań przez interfejs pętli zwrotnej w ośmiu scenariuszach. Żadnej odpowiedzi nie wygenerował model, a zgłaszane wartości tokenów były sztuczne. Te obserwacje opisują klienta, a nie jakość modelu czy rzeczywiste naliczanie opłat.

ScenariuszZachowanie zaobserwowane w v1.19.0
Natywny strumień tekstuPołączył osobne zdarzenia tekstowe w oczekiwaną odpowiedź
Druga tura rozmowyZachował testowane podpisy rozumowania i tekstu w częściach modelu
Wywołanie narzędzia odczytu i zwrot wynikuOdczytał tymczasowy plik testowy i zwrócił jego zawartość w functionResponse
MAX_TOKENSZgłosił zatrzymanie po osiągnięciu limitu długości bez kolejnego żądania w tym przypadku testowym
HTTP 400Zakończył działanie z błędem bez ponowienia w tym przypadku testowym
HTTP 429Ponowił żądanie jeden raz, po czym symulowana usługa odpowiedziała poprawnie

Test potwierdza, że thinkingConfig został wysłany. Nie dowodzi, że rzeczywista usługa zastosowała to ustawienie. Podobnie przekazanie syntetycznego podpisu przez historię nie potwierdza, że prawdziwy podpis zostanie zaakceptowany w późniejszym żądaniu.

Dlaczego długie wyjście wymaga dodatkowych sprawdzeń

Odpowiedź CONTINUATION modelu Argon wymaga pierwotnego żądania wraz z najnowszą wartością pola najwyższego poziomu continuationToken. Przy wznawianiu tej generacji nie należy dopisywać częściowego wyjścia do zwykłej historii rozmowy.[3]

W naszym przypadku testowym OpenCode v1.19.0 sklasyfikował CONTINUATION jako nieznaną wartość. Następne żądanie pomijało token i dopisywało częściową odpowiedź do historii. Gdy strumień kończył się po częściowym wyjściu bez zdarzenia końcowego, klient również wysyłał dodatkowe zwykłe żądania. Symulowana usługa zatrzymała ten scenariusz po sześciu wywołaniach; sześć nie jest potwierdzonym limitem ponowień klienta.

Ta konfiguracja nie jest więc zweryfikowanym rozwiązaniem dla long decode w Argon. Poprawna krótka odpowiedź nie rozwiązuje tych przypadków. Zanim zaczniesz polegać na długich sesjach programowania, powtórz odpowiednie testy z dokładnie tą wersją klienta, której zamierzasz używać.

Pytania o konfigurację OpenCode

Czy obejmuje to rzeczywiste testy narzędzi i naliczania opłat?

Nie. Podstawowe strumieniowanie tekstu w SeedRouter przeszło osobny lokalny test całego przepływu, ale ten test OpenCode korzystał z symulowanych odpowiedzi. Rzeczywisty wybór narzędzi, podpisy, multimedia, uprawnienia konta i naliczanie opłat nadal wymagają oddzielnych testów.

Czy mogę zamiast tego użyć konfiguracji zgodnej z OpenAI?

To inny protokół i inny zakres zgodności. Ten poradnik sprawdza natywną treść i podpisy Gemini. Dokumentacja Google dotycząca long decode wyłącza jego endpoint zgodny z OpenAI z obsługi tej funkcji.[3]

Czy wyłączenie automatycznego kompaktowania wyłączy ponowienia?

Nie. Kompaktowanie kontekstu i ponawianie żądań to odrębne mechanizmy. Opcja środowiskowa z przykładu nie gwarantuje ścisłego limitu liczby żądań ani kosztu.

Zdecyduj, co sprawdzić dalej

W przypadku Gemini 4 Argon w OpenCode zacznij od krótkiej wymiany tekstu, a potem sprawdź konkretne zachowanie narzędzi i historii potrzebne do twojej pracy. Traktuj kontynuację i przerwane strumienie jako osobne przypadki testów akceptacyjnych. Miej pod ręką stronę modelu i dokumentację natywnego API wraz z konfiguracją klienta, aby łatwo sprawdzać szczegóły protokołu i aktualne ceny.

Źródła

[1] Wydanie OpenCode v1.19.0 i jego kod integracji.

[2] Konfiguracja OpenCode: zmienne środowiskowe.

[3] Google Gemini: long decode i kontynuacja.

Powiązane poradniki