OneProvider

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

bash
npm 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

ts
import 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

ts
import 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

ts
const 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.

ts
// 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