OneProvider

Migracja z Anthropic

Skieruj SDK Anthropic na OneProvider, ustawiając jedną zmienną środowiskową. Przykłady w Pythonie i Node, zamiana ID modelu i szybki test, że wszystko działa.

Jeśli twój kod wywołuje dziś api.anthropic.com, cała migracja to jedna zmienna środowiskowa. Obecne żądania i odpowiedzi są identyczne bajt w bajt.

Wszystkie modele, możliwości i ceny Indeks dokumentacji dla agentów AI: https://oneprovider.dev/docs/llms.txt Zanim zaczniesz: klucz z Panelu Otwórz swój Panel: bot Telegram @oneprovider_robot (Konto) albo app.oneprovider.dev . Naciśnij „Utwórz klucz”, nadaj mu nazwę (na przykład ten klient) i limit wydatków, a potem skopiuj klucz. Saldo doładowujesz w tym samym miejscu. Więcej o Panelu i kluczach .

Co się zmienia (a co nie)

Nic w schemacie żądania, kształcie odpowiedzi, zdarzeniach streamingu ani w używanym już SDK nie wymaga zmian. Jedyna różnica to miejsce, dokąd trafiają bajty:

Dane referencyjne
AspektAnthropicOneProvider
Base URLhttps://api.anthropic.comhttps://api.oneprovider.dev
Nagłówek uwierzytelnianiax-api-keyx-api-key lub Authorization: Bearer
Nagłówek wersjianthropic-version: 2023-06-01anthropic-version: 2023-06-01
Schemat żądaniaAnthropic Messages APIIdentyczny
Schemat odpowiedziAnthropic Messages APIIdentyczny
Zdarzenia streaminguSSE: message_start, content_block_delta...Identyczne, bez buforowania
Prompt caching (cache_control)NatywnieNatywnie — przekazywanie bez zmian
ModeleStare aliasy z datąGenerowana lista dozwolonych modeli Claude — zobacz Modele
RozliczeniaKarta, płatność z dołu, miesięcznieDoładowanie kryptowalutami, przedpłata, bez terminu ważności

Migracja samą zmienną środowiskową

Jeśli twój kod czyta dane uwierzytelniające ze zmiennych środowiskowych (powinien), to cała zmiana:

bash
# Before
export ANTHROPIC_API_KEY=sk-ant-...
# After
export ANTHROPIC_API_KEY=sk-... # OneProvider key
export ANTHROPIC_BASE_URL=https://api.oneprovider.dev

Oficjalne SDK Anthropic dla Pythona i Node odczytują ANTHROPIC_BASE_URL bez żadnych innych zmian w kodzie.

Python — postać jawna

python
# Before
from anthropic import Anthropic
client = Anthropic()
# After
from anthropic import Anthropic
client = Anthropic(
api_key=os.environ["ANTHROPIC_API_KEY"],
base_url="https://api.oneprovider.dev",
)

Node — postać jawna

ts
// Before
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic();
// After
import Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.ANTHROPIC_API_KEY,
baseURL: "https://api.oneprovider.dev",
});

Zamiana identyfikatora modelu

Natywny interfejs Anthropic obsługuje aktualne identyfikatory Claude z listy na stronie Modele. Jeśli twój kod używa starszego aliasu Anthropic (claude-3-5-sonnet, claude-3-opus-20240229 itp.), dostaniesz błąd 400 invalid_request_error — zastąp go aktualnym identyfikatorem kanonicznym:

Dane referencyjne
Stary aliasUżyj zamiast niego
claude-3-5-sonnet*, claude-3-7-sonnet*, claude-sonnet-3-5claude-sonnet-5-5
claude-3-opus*, claude-opus-3claude-opus-5-5
claude-3-haiku*, claude-3-5-haiku*, claude-haiku-3-5claude-haiku-5-5

Sprawdź zamianę

bash
# Should print the current Claude model ids
curl -s https://api.oneprovider.dev/v1/models \
-H "x-api-key: $ANTHROPIC_API_KEY" | jq '.data[].id'
# Should return HTTP 200 and a short text message
curl -s https://api.oneprovider.dev/v1/messages \
-H "x-api-key: $ANTHROPIC_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-5-5","max_tokens":32,"messages":[{"role":"user","content":"hi"}]}'
Najpierw uruchom oba obok siebie Dla ostrożnej migracji: zachowaj swojego klienta Anthropic na czas jednego wdrożenia. Wyślij 1% ruchu przez OneProvider, porównaj odpowiedzi na identyczne prompty, a potem w ciągu kilku dni zwiększaj udział. Dzięki identycznemu kształtowi odpowiedzi to banalnie proste.

Szybkie odpowiedzi

Jakiego base URL użyć?

Claude Code i SDK Anthropic używają https://api.oneprovider.dev. SDK OpenAI i klienty zgodne z OpenAI używają https://api.oneprovider.dev/v1. Jeden klucz działa przy obu; lista modeli jest na stronie modeli , a stawki na stronie cennika .

Jak się uwierzytelnić?

Wyślij surowy klucz sk-… w x-api-key albo Authorization: Bearer: w jednym z nich, nigdy w obu. Trzymaj klucz w zmiennej środowiskowej, a nie w pliku, który trafia do repozytorium. Więcej o uwierzytelnianiu .

Skąd wziąć klucz?

Otwórz swój Panel w bocie Telegram @oneprovider_robot lub na app.oneprovider.dev, doładuj saldo i naciśnij „Utwórz klucz”. Każdy klucz może mieć własny limit wydatków. Panel i klucze API .

Co oznaczają 401, 404 i 429?

401: klucza brakuje, jest błędnie wpisany albo wysłany w złym nagłówku; wklej cały klucz bez cudzysłowów i spacji. 404: zwykle zły base URL, na przykład brakujące lub podwojone /v1. 429 z komunikatem „Insufficient balance”: saldo Panelu lub limit wydatków klucza się wyczerpał, więc doładuj zamiast ponawiać; każde inne 429 to limit zapytań, więc poczekaj zgodnie z Retry-After. Szczegóły: kody błędów i rozwiązywanie problemów .

Dlaczego strumienie się urywają lub resetują?

VPN i proxy VLESS często buforują SSE albo zrywają negocjację HTTP/2. OneProvider nie ma ograniczeń regionalnych i nie buforuje strumieni, więc wyłącz proxy i spróbuj ponownie.

Gdzie pytać, jeśli to nie wystarcza?

Napisz do @Oneproviderhelpbot w Telegramie albo otwórz „Wsparcie” w Panelu w przeglądarce, podając kod statusu HTTP i dokładny komunikat błędu. Jak działa wsparcie .

Ostatnia aktualizacja: 2026-11-08 Widzisz błąd? @Oneproviderhelpbot