Providers

OpenRouter

OpenRouter zapewnia ujednolicone API, które kieruje żądania do wielu modeli za jednym endpointem i kluczem API. Jest zgodne z OpenAI, więc większość SDK OpenAI działa po zmianie bazowego URL-a.

Pierwsze kroki

  • Uzyskaj swój klucz API

    Utwórz klucz API na openrouter.ai/keys.

  • Uruchom onboarding

    openclaw onboard --auth-choice openrouter-api-key
    
  • (Opcjonalnie) Przełącz na konkretny model

    Onboarding domyślnie używa openrouter/auto. Później wybierz konkretny model:

    openclaw models set openrouter/<provider>/<model>
    
  • Przykład konfiguracji

    {
      env: { OPENROUTER_API_KEY: "sk-or-..." },
      agents: {
        defaults: {
          model: { primary: "openrouter/auto" },
        },
      },
    }
    

    Odwołania do modeli

    Przykłady dołączonych opcji awaryjnych:

    Odwołanie modelu Uwagi
    openrouter/auto Automatyczne trasowanie OpenRouter
    openrouter/moonshotai/kimi-k2.6 Kimi K2.6 przez MoonshotAI

    Generowanie obrazów

    OpenRouter może także obsługiwać narzędzie image_generate. Użyj modelu obrazów OpenRouter w agents.defaults.imageGenerationModel:

    {
      env: { OPENROUTER_API_KEY: "sk-or-..." },
      agents: {
        defaults: {
          imageGenerationModel: {
            primary: "openrouter/google/gemini-3.1-flash-image-preview",
            timeoutMs: 180_000,
          },
        },
      },
    }
    

    OpenClaw wysyła żądania obrazów do API obrazów chat completions OpenRouter z modalities: ["image", "text"]. Modele obrazów Gemini otrzymują obsługiwane wskazówki aspectRatio i resolution przez image_config OpenRouter. Użyj agents.defaults.imageGenerationModel.timeoutMs dla wolniejszych modeli obrazów OpenRouter; parametr timeoutMs dla pojedynczego wywołania narzędzia image_generate nadal ma pierwszeństwo.

    Generowanie wideo

    OpenRouter może także obsługiwać narzędzie video_generate przez swoje asynchroniczne API /videos. Użyj modelu wideo OpenRouter w agents.defaults.videoGenerationModel:

    {
      env: { OPENROUTER_API_KEY: "sk-or-..." },
      agents: {
        defaults: {
          videoGenerationModel: {
            primary: "openrouter/google/veo-3.1-fast",
          },
        },
      },
    }
    

    OpenClaw przesyła zadania text-to-video i image-to-video do OpenRouter, odpytuje zwrócony polling_url i pobiera ukończone wideo z unsigned_urls OpenRouter albo z udokumentowanego endpointu treści zadania. Obrazy referencyjne są domyślnie wysyłane jako obrazy pierwszej/ostatniej klatki; obrazy oznaczone reference_image są wysyłane jako referencje wejściowe OpenRouter. Dołączony domyślny google/veo-3.1-fast deklaruje obecnie obsługiwane czasy trwania 4/6/8 sekund, rozdzielczości 720P/1080P oraz proporcje obrazu 16:9/9:16. Video-to-video nie jest zarejestrowane dla OpenRouter, ponieważ nadrzędne API generowania wideo obecnie akceptuje tekst i referencje obrazów.

    Zamiana tekstu na mowę

    OpenRouter może być także używany jako dostawca TTS przez zgodny z OpenAI endpoint /audio/speech.

    {
      messages: {
        tts: {
          auto: "always",
          provider: "openrouter",
          providers: {
            openrouter: {
              model: "hexgrad/kokoro-82m",
              voice: "af_alloy",
              responseFormat: "mp3",
            },
          },
        },
      },
    }
    

    Jeśli messages.tts.providers.openrouter.apiKey zostanie pominięte, TTS ponownie użyje models.providers.openrouter.apiKey, a następnie OPENROUTER_API_KEY.

    Uwierzytelnianie i nagłówki

    OpenRouter używa pod spodem tokena Bearer z Twoim kluczem API.

    W rzeczywistych żądaniach OpenRouter (https://openrouter.ai/api/v1) OpenClaw dodaje także udokumentowane nagłówki atrybucji aplikacji OpenRouter:

    Nagłówek Wartość
    HTTP-Referer https://openclaw.ai
    X-OpenRouter-Title OpenClaw
    X-OpenRouter-Categories cli-agent,cloud-agent,programming-app,creative-writing,writing-assistant,general-chat,personal-agent

    Konfiguracja zaawansowana

    Buforowanie odpowiedzi

    Buforowanie odpowiedzi OpenRouter jest opcjonalne. Włącz je dla poszczególnych modeli OpenRouter za pomocą parametrów modelu:

    {
      agents: {
        defaults: {
          models: {
            "openrouter/auto": {
              params: {
                responseCache: true,
                responseCacheTtlSeconds: 300,
              },
            },
          },
        },
      },
    }
    

    OpenClaw wysyła X-OpenRouter-Cache: true oraz, po skonfigurowaniu, X-OpenRouter-Cache-TTL. responseCacheClear: true wymusza odświeżenie dla bieżącego żądania i zapisuje zastępczą odpowiedź. Akceptowane są także aliasy snake_case (response_cache, response_cache_ttl_seconds oraz response_cache_clear).

    Jest to niezależne od buforowania promptów dostawcy i od znaczników Anthropic cache_control OpenRouter. Jest stosowane tylko na zweryfikowanych trasach openrouter.ai, a nie dla niestandardowych bazowych URL-i proxy.

    Znaczniki pamięci podręcznej Anthropic

    Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic zachowują specyficzne dla OpenRouter znaczniki Anthropic cache_control, których OpenClaw używa do lepszego ponownego wykorzystania pamięci podręcznej promptów w blokach promptów systemowych/deweloperskich.

    Wstępne wypełnianie rozumowania Anthropic

    Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic z włączonym rozumowaniem usuwają końcowe tury wstępnego wypełniania asystenta, zanim żądanie dotrze do OpenRouter, zgodnie z wymaganiem Anthropic, aby konwersacje z rozumowaniem kończyły się turą użytkownika.

    Wstrzykiwanie myślenia / rozumowania

    Na obsługiwanych trasach innych niż auto OpenClaw mapuje wybrany poziom myślenia na payloady rozumowania proxy OpenRouter. Nieobsługiwane wskazówki modeli i openrouter/auto pomijają to wstrzykiwanie rozumowania. Hunter Alpha również pomija rozumowanie proxy dla nieaktualnych skonfigurowanych odwołań modeli, ponieważ OpenRouter mógłby zwrócić tekst odpowiedzi końcowej w polach rozumowania dla tej wycofanej trasy.

    Odtwarzanie rozumowania DeepSeek V4

    Na zweryfikowanych trasach OpenRouter openrouter/deepseek/deepseek-v4-flash i openrouter/deepseek/deepseek-v4-pro uzupełniają brakujące reasoning_content w odtworzonych turach asystenta, aby konwersacje z myśleniem/narzędziami zachowały wymagany przez DeepSeek V4 kształt kontynuacji. OpenClaw wysyła obsługiwane przez OpenRouter wartości reasoning_effort dla tych tras; xhigh jest najwyższym deklarowanym poziomem, a nieaktualne nadpisania max są mapowane na xhigh.

    Kształtowanie żądań tylko dla OpenAI

    OpenRouter nadal działa przez zgodną z OpenAI ścieżkę w stylu proxy, więc natywne kształtowanie żądań tylko dla OpenAI, takie jak serviceTier, Responses store, payloady zgodności rozumowania OpenAI i wskazówki pamięci podręcznej promptów, nie jest przekazywane dalej.

    Trasy oparte na Gemini

    Odwołania OpenRouter oparte na Gemini pozostają na ścieżce proxy-Gemini: OpenClaw zachowuje tam oczyszczanie podpisów myśli Gemini, ale nie włącza natywnej walidacji odtwarzania Gemini ani przepisywania bootstrap.

    Metadane trasowania dostawcy

    Jeśli przekażesz trasowanie dostawcy OpenRouter w parametrach modelu, OpenClaw przekaże je jako metadane trasowania OpenRouter, zanim uruchomią się współdzielone wrappery strumienia.

    Powiązane