OneProvider

Strumieniowanie (SSE)

Odbieraj odpowiedzi w trakcie pisania: ustaw stream:true w dowolnym endpoincie, a zdarzenia SSE Anthropic dotrą bez zmian. Przykłady w Pythonie, Node i fetch.

Ustaw stream:true na dowolnym endpoincie. Typy zdarzeń SSE Anthropic docierają bez zmian i bez buforowania.

Wszystkie modele, możliwości i ceny Indeks dokumentacji dla agentów AI: https://oneprovider.dev/docs/llms.txt

Po co streaming

  • Czas do pierwszego tokenu spada z sekund do ok. 100 ms.
  • Długie pętle z narzędziami mieszczą się w 6-minutowym limicie na rozpoczęcie odpowiedzi, bo stream zaczyna odpowiadać od razu. Każde żądanie ma limit 10 minut, zobacz Kody błędów .
  • Lepszy UX: stopniowe wyświetlanie zamiast zawieszonych spinnerów.

Typy zdarzeń

  • message_start — pierwsze zdarzenie, zwraca metadane asystenta.
  • content_block_start · content_block_delta · content_block_stop — jeden zestaw na każdy blok text lub tool_use. Delty to text_delta lub input_json_delta (dla danych wejściowych narzędzia).
  • message_delta — stop_reason i aktualizacja usage na końcu.
  • message_stop — zdarzenie końcowe.
  • ping — podtrzymanie połączenia co ok. 15 s.

Python (Anthropic SDK)

python
with client.messages.stream(
model="claude-sonnet-5-5",
max_tokens=1024,
messages=[{"role": "user", "content": "Tell me a haiku about Frankfurt."}],
) as stream:
for text in stream.text_stream:
print(text, end="", flush=True)
final = stream.get_final_message()
print("\n--", final.usage)

Node / TypeScript

ts
const stream = client.messages.stream({
model: "claude-sonnet-5-5",
max_tokens: 1024,
messages: [{ role: "user", content: "Tell me a haiku about Frankfurt." }],
});
for await (const event of stream) {
if (event.type === "content_block_delta" && event.delta.type === "text_delta") {
process.stdout.write(event.delta.text);
}
}
const final = await stream.finalMessage();
console.log("--", final.usage);

Zwykły fetch (przeglądarka, edge)

ts
const r = await fetch("https://api.oneprovider.dev/v1/messages", {
method: "POST",
headers: {
"x-api-key": KEY,
"anthropic-version": "2023-06-01",
"content-type": "application/json",
},
body: JSON.stringify({
model: "claude-sonnet-5-5",
max_tokens: 1024,
stream: true,
messages: [{ role: "user", content: "stream me a poem" }],
}),
});
const reader = r.body!.pipeThrough(new TextDecoderStream()).getReader();
while (true) {
const { value, done } = await reader.read();
if (done) break;
process.stdout.write(value);
}
Bez buforowania Zdarzenia docierają do klienta, gdy tylko model je wygeneruje. Każde żądanie, także streaming, ma limit 10 minut; zobacz Kody błędów .

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