Przejdź do treści

Tłumaczenie protokołów

Dowolny model na dowolnym endpoincie, dane przekazywane bez zmian oraz ograniczenia tłumaczenia.

Każdy model jest dostępny przez każdy endpoint. Żądanie modelu Claude przez /v1/responses lub modelu GPT przez /v1/messages jest obsługiwane.

Dzięki temu klient używający jednego protokołu może korzystać z modeli dostawców używających innego protokołu bez uruchamiania drugiej bramy.

Endpoint Protokół Typowi klienci
/v1/chat/completions Uzupełnienia czatu OpenAI SDK OpenAI, OpenClaw, Hermes, większość edytorów
/v1/messages Anthropic Messages SDK Anthropic, Claude Code
/v1/responses OpenAI Responses Codex, nowsze SDK OpenAI

Dane uwierzytelniające są akceptowane jako Authorization: Bearer, x-api-key lub api-key, ponieważ klienci nie są zgodni co do tego, który format wysyłać.

Gdy nic nie jest tłumaczone

Jeśli endpoint i dostawca modelu używają już tego samego protokołu, treść żądania jest przekazywana zamiast budowana ponownie. Zmieniany jest tylko identyfikator modelu.

Punkty graniczne pamięci podręcznej, podpisy rozumowania i pola, których Webway nigdy wcześniej nie widział, docierają do dostawcy bez zmian. Funkcja dostawcy wydana po napisaniu tej strony działa od dnia jej wydania.

Czego nie można przenieść podczas tłumaczenia

Poza tą ścieżką niektórych elementów nie da się odwzorować w protokole docelowym:

  • Punkty graniczne pamięci podręcznej są pomijane, gdy protokołem docelowym są uzupełnienia czatu, które nie obsługują cache_control. Dostawcy stosują tam pamięć podręczną automatycznie, więc tracisz kontrolę, a nie pieniądze.
  • Podpisy rozumowania są dowodem dostawcy, że blok rozumowania wrócił bez zmian. Są właściwe dla dostawcy, który je wystawił, i nie można ich przenieść do protokołu innego dostawcy, dlatego są pomijane, a nie fałszowane.
  • previous_response_id jest odrzucane z kodem 400. Webway nie przechowuje stanu konwersacji; wyślij pełną tablicę input. Zignorowanie tego pola spowodowałoby niezauważalną utratę historii.

Narzędzia, wyniki ich wywołań, obrazy, prompty systemowe, powody zakończenia, kolejność strumieniowania i liczby tokenów są zachowywane w obu kierunkach.

Liczba tokenów

Endpoint /v1/messages/count_tokens jest obsługiwany dla każdego modelu, również gdy jego dostawca go nie oferuje, dzięki czemu miernik kontekstu Claude Code działa wszędzie. Liczby dla takich modeli są wartościami szacunkowymi.

Dane wejściowe odczytane z pamięci podręcznej są rozliczane według stawki za pamięć podręczną, a zapisy według stawki za zapis. Użycie jest normalizowane, zanim trafi na fakturę: Anthropic wyklucza tokeny z pamięci podręcznej z input_tokens, a OpenAI uwzględnia je w prompt_tokens. Endpoint GET /v1/models publikuje każdą stawkę osobno.