Pierwsze kroki
- OAuth
- Klucz API
Uruchom wdrażanie OAuth
Przykład konfiguracji
Odwołania do modeli
Odwołania do modeli mają wzorzec
openrouter/<provider>/<model>. Pełną listę
dostępnych dostawców i modeli znajdziesz w /concepts/model-providers.| Odwołanie do modelu | Uwagi |
|---|---|
openrouter/auto | Automatyczne trasowanie OpenRouter |
openrouter/openrouter/fusion | Router OpenRouter Fusion |
openrouter/moonshotai/kimi-k2.6 | Kimi K2.6 przez MoonshotAI |
openrouter/moonshotai/kimi-k2.5 | Kimi K2.5 przez MoonshotAI |
Generowanie obrazów
OpenRouter może także obsługiwać narzędzieimage_generate. Użyj modelu obrazów OpenRouter w agents.defaults.imageGenerationModel:
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 pojedynczego wywołania narzędzia image_generate nadal ma pierwszeństwo.
Generowanie wideo
OpenRouter może także obsługiwać narzędzievideo_generate przez swoje asynchroniczne API /videos. Użyj modelu wideo OpenRouter w agents.defaults.videoGenerationModel:
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łączona
domyślna wartość 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.
Wideo-na-wideo nie jest zarejestrowane dla OpenRouter, ponieważ nadrzędne
API generowania wideo obecnie przyjmuje tekst i referencje obrazów.
Generowanie muzyki
OpenRouter może także obsługiwać narzędziemusic_generate przez wyjście audio
chat completions. Użyj modelu audio OpenRouter w
agents.defaults.musicGenerationModel:
google/lyria-3-pro-preview i udostępnia także
google/lyria-3-clip-preview. OpenClaw wysyła modalities: ["text", "audio"], włącza strumieniowanie, zbiera strumieniowane fragmenty audio i zapisuje
wynik jako wygenerowane media do dostarczenia w kanale. Obrazy referencyjne są
akceptowane dla modeli Lyria przez wspólny parametr music_generate image=....
Tekst na mowę
OpenRouter może być także używany jako dostawca TTS przez swój zgodny z OpenAI endpoint/audio/speech.
messages.tts.providers.openrouter.apiKey zostanie pominięte, TTS ponownie użyje
models.providers.openrouter.apiKey, a następnie OPENROUTER_API_KEY.
Mowa na tekst (przychodzące audio)
OpenRouter może transkrybować przychodzące załączniki głosowe/audio przez wspólną ścieżkętools.media.audio, używając swojego endpointu STT (/audio/transcriptions).
Dotyczy to każdego Plugin kanału, który przekazuje przychodzący głos/audio do
wstępnego sprawdzania rozumienia mediów.
input_audio (kontrakt STT OpenRouter), a nie jako wieloczęściowe przesyłanie formularza OpenAI.
Router Fusion
Użyj OpenRouter Fusion, gdy chcesz, aby jedno odwołanie do modelu OpenClaw zapytało równolegle kilka modeli OpenRouter, pozwoliło OpenRouter ocenić ich odpowiedzi i zwróciło jedną końcową odpowiedź przez zwykły endpoint dostawcy OpenRouter. Ponieważ nadrzędny slug modelu toopenrouter/fusion, odwołanie do modelu OpenClaw zawiera
zarówno prefiks dostawcy OpenClaw, jak i nadrzędną przestrzeń nazw OpenRouter:
params.extraBody modelu. Te
pola są przekazywane do treści żądania chat-completions OpenRouter. Fusion
działa zarówno z wdrażaniem OAuth OpenRouter, jak i wdrażaniem z kluczem API; jeśli używasz
OAuth, pomiń wiersz env.OPENROUTER_API_KEY z poniższego przykładu.
analysis_models jest panelem równoległym, a model wewnątrz konfiguracji
Plugin Fusion jest modelem oceniającym. Nie ustawiaj najwyższego poziomu tool_choice na
"required" w normalnych turach agenta/czatu OpenClaw, aby próbować wymusić Fusion;
tury OpenClaw mogą zawierać definicje narzędzi OpenClaw, a wymagany wybór narzędzia
na najwyższym poziomie może wymagać jednego z tych narzędzi zamiast routera Fusion. Gdy
ta konfiguracja Plugin Fusion jest obecna, OpenClaw dodaje także oczyszczoną
notatkę w prompcie systemowym ze skonfigurowanymi modelami analizy i modelem oceniającym, aby
agent mógł odpowiadać na pytania o swój bieżący panel Fusion. Inne pola extraBody
nie są kopiowane do promptu.
Fusion z założenia jest wolniejszy. OpenRouter może wysłać ten sam prompt OpenClaw do
wielu modeli analizy, a następnie uruchomić końcowy krok oceny/syntezy, więc opóźnienie jest
zwykle wyższe niż przy bezpośrednim żądaniu do jednego modelu. Używaj Fusion do przemyślanych,
wysokiej jakości odpowiedzi lub ścieżek eskalacji, a nie jako domyślnego wyboru dla
czatu wrażliwego na opóźnienia. Aby uzyskać szybsze odpowiedzi, utrzymuj mały panel i wybieraj
szybsze modele analizy oraz oceny.
Przetestuj skonfigurowane odwołanie jednorazowym lokalnym wywołaniem modelu:
Uwierzytelnianie i nagłówki
OpenRouter używa pod spodem tokena Bearer z Twoim kluczem API. OAuth OpenRouter to przepływ logowania PKCE, który wydaje klucz API OpenRouter, więc OpenClaw zapisuje wynik jako ten sam profil uwierzytelniania kluczem APIopenrouter:default, którego używa
ręczna ścieżka konfiguracji klucza API.
W istniejącej instalacji zaloguj się lub obróć zapisany klucz OpenRouter bez
ponownego uruchamiania pełnego wdrażania:
openclaw models auth login --provider openrouter --method api-key, gdy
chcesz wkleić klucz utworzony ręcznie w OpenRouter.
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
Buforowanie odpowiedzi OpenRouter jest opcjonalne. Włącz je dla każdego modelu OpenRouter za pomocą
parametrów modelu:OpenClaw wysyła
X-OpenRouter-Cache: true oraz, gdy skonfigurowano,
X-OpenRouter-Cache-TTL. responseCacheClear: true wymusza odświeżenie dla
bieżącego żądania i zapisuje zastępczą odpowiedź. Aliasy snake_case
(response_cache, response_cache_ttl_seconds i
response_cache_clear) są również akceptowane.Jest to oddzielne od buforowania promptów dostawcy oraz od znaczników
cache_control Anthropic w OpenRouter. Jest stosowane tylko na zweryfikowanych
trasach openrouter.ai, a nie dla niestandardowych bazowych URL-i proxy.Znaczniki pamięci podręcznej Anthropic
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.Prefill reasoning Anthropic
Prefill reasoning Anthropic
Na zweryfikowanych trasach OpenRouter odwołania do modeli Anthropic z włączonym reasoning
usuwają końcowe tury asystenta typu prefill, zanim żądanie dotrze do OpenRouter,
zgodnie z wymaganiem Anthropic, aby konwersacje reasoning kończyły się turą
użytkownika.
Wstrzykiwanie thinking / reasoning
Wstrzykiwanie thinking / reasoning
Na obsługiwanych trasach innych niż
auto OpenClaw mapuje wybrany poziom thinking na
ładunki reasoning proxy OpenRouter. Nieobsługiwane wskazówki modeli i
openrouter/auto pomijają to wstrzykiwanie reasoning. Hunter Alpha pomija też
reasoning proxy dla nieaktualnych skonfigurowanych odwołań do modeli, ponieważ OpenRouter mógłby
zwrócić tekst finalnej odpowiedzi w polach reasoning dla tej wycofanej trasy.Odtwarzanie reasoning DeepSeek V4
Odtwarzanie reasoning DeepSeek V4
Na zweryfikowanych trasach OpenRouter
openrouter/deepseek/deepseek-v4-flash i
openrouter/deepseek/deepseek-v4-pro uzupełniają brakujące reasoning_content w
odtwarzanych turach asystenta, aby konwersacje thinking/narzędzi zachowały wymagany
przez DeepSeek V4 kształt kontynuacji. OpenClaw wysyła obsługiwane przez OpenRouter
wartości reasoning.effort dla tych tras; niższe poziomy inne niż off są mapowane na
high, a nieaktualne nadpisania max są mapowane na xhigh.Kształtowanie żądań tylko dla OpenAI
Kształtowanie żądań tylko dla OpenAI
OpenRouter nadal działa przez ścieżkę proxy zgodną z OpenAI, więc
natywne kształtowanie żądań wyłącznie dla OpenAI, takie jak
serviceTier, store Responses,
ładunki zgodności reasoning OpenAI i wskazówki prompt-cache nie są przekazywane dalej.Trasy oparte na Gemini
Trasy oparte na Gemini
Odwołania OpenRouter oparte na Gemini pozostają na ścieżce proxy-Gemini: OpenClaw zachowuje
tam sanityzację sygnatur myśli Gemini, ale nie włącza natywnej walidacji
odtwarzania Gemini ani przepisywania bootstrap.
Metadane routingu dostawcy
Metadane routingu dostawcy
OpenRouter obsługuje obiekt żądania OpenClaw przekazuje ten obiekt do OpenRouter jako ładunek żądania Dotyczy to tylko tras chat-completions OpenRouter. Bezpośrednie trasy Anthropic,
Google, OpenAI lub niestandardowych dostawców ignorują parametry routingu OpenRouter.
provider dla routingu bazowego dostawcy.
Skonfiguruj domyślną politykę dla wszystkich żądań modeli tekstowych OpenRouter
za pomocą models.providers.openrouter.params.provider:provider.
Używaj udokumentowanych przez OpenRouter pól snake_case, w tym sort,
only, ignore, order, allow_fallbacks, require_parameters,
data_collection, quantizations, max_price, preferred_max_latency,
preferred_min_throughput, zdr i enforce_distillable_text.Parametry dla poszczególnych modeli nadal nadpisują obiekt routingu dla całego dostawcy:Powiązane
Wybór modelu
Wybieranie dostawców, odwołań do modeli i zachowania przełączania awaryjnego.
Dokumentacja konfiguracji
Pełna dokumentacja konfiguracji agentów, modeli i dostawców.