SDK Node / TypeScript
Używaj @anthropic-ai/sdk lub pakietu npm openai z OneProvider, nadpisując baseURL. TypeScript, strumieniowanie przez iterator asynchroniczny i środowiska edge.
@anthropic-ai/sdk to zalecany klient. Oficjalny pakiet OpenAI też działa po nadpisaniu baseURL.
Wszystkie modele, możliwości i ceny Indeks dokumentacji dla agentów AI:https://oneprovider.dev/docs/llms.txt System operacyjny 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 . Instalacja
bashnpm i @anthropic-ai/sdk
# or
npm i openai
# pnpm / yarn / bun all work too:
# pnpm add @anthropic-ai/sdk
# bun add @anthropic-ai/sdk TypeScript
tsimport Anthropic from "@anthropic-ai/sdk";
const client = new Anthropic({
apiKey: process.env.ONEPROVIDER_KEY!,
baseURL: "https://api.oneprovider.dev",
});
const msg = await client.messages.create({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Say hi." }],
});
if (msg.content[0].type === "text") {
console.log(msg.content[0].text);
} Zgodność z OpenAI
tsimport OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.ONEPROVIDER_KEY!,
baseURL: "https://api.oneprovider.dev/v1",
});
const resp = await client.chat.completions.create({
model: "claude-sonnet-5-5",
messages: [{ role: "user", content: "Say hi." }],
});
console.log(resp.choices[0].message.content); Strumieniowanie przez iterator asynchroniczny
tsconst stream = client.messages.stream({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "stream me a poem" }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
} Środowiska edge
Działa w Vercel Edge i Cloudflare Workers bez dodatkowej konfiguracji. SDK używa natywnego fetch, dostępnego w obu środowiskach.
// Cloudflare Worker
export default {
async fetch(req: Request, env: Env) {
const client = new Anthropic({ apiKey: env.ONEPROVIDER_KEY, baseURL: "https://api.oneprovider.dev" });
const msg = await client.messages.create({
model: "claude-haiku-5-5",
max_tokens: 256,
messages: [{ role: "user", content: "ping" }],
});
return Response.json(msg);
},
}; Nigdy nie wysyłaj klucza do przeglądarki Nawet w Workerze kieruj żądania przez własny backend, jeśli w grę wchodzą dane użytkowników — klucz OneProvider autoryzuje wydatki, a nie tylko dostęp. Jaki model wybrać
Przekaż ID w model. claude-sonnet-5-5 to wybór domyślny dla większości kodu, claude-haiku-5-5 do szybkich wywołań o dużym wolumenie, a claude-opus-5-5 do trudnego rozumowania. Z pakietem openai możesz też używać ID GPT, na przykład gpt-6.1-terra. SDK Anthropic przyjmuje baseURL: "https://api.oneprovider.dev", a SDK OpenAI baseURL: "https://api.oneprovider.dev/v1". ID są na stronie modeli .
Częste błędy i rozwiązania
404 NotFoundError
SDK Anthropic: baseURL: "https://api.oneprovider.dev" bez /v1. SDK OpenAI: baseURL: "https://api.oneprovider.dev/v1" z /v1.
401 AuthenticationError
process.env.ONEPROVIDER_KEY jest niezdefiniowane w tym procesie, na przykład z powodu niezaładowanego .env. Loguj jego długość, nigdy wartość.
429 RateLimitError
„Insufficient balance” oznacza, że trzeba doładować saldo (nie ponawiaj). Każdy inny błąd 429 to limit szybkości: odczekaj i uwzględnij Retry-After.
Fetch failed lub przekroczenie czasu
Wyłącz VPN lub ustawienia proxy; przy długich odpowiedziach użyj stream, bo żądanie bez strumieniowania musi zacząć odpowiadać w ciągu 6 minut.
400 dotyczący max_tokens
SDK Anthropic wymaga max_tokens w każdym żądaniu.
FAQ
Czy działa w środowiskach edge?
Tak, Vercel Edge i Cloudflare Workers działają, bo SDK używa fetch.
Czy można bezpiecznie wywoływać z przeglądarki?
Nie. Klucz autoryzuje wydatki; wywołuj API z własnego backendu.
Czy mogę zostać przy oficjalnych SDK?
Tak, zmieniają się tylko klucz i baseURL, zobacz migrację z Anthropic .
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