OneProvider

استریم (SSE)

پاسخ‌ها را همزمان با نوشته شدن بگیرید: در هر دو نقطهٔ پایانی stream:true بگذارید تا رویدادهای SSE از Anthropic بی‌تغییر برسند. نمونه: Python، Node، fetch.

روی هر دو endpoint مقدار stream:true را بگذارید. انواع رویداد SSE در Anthropic بدون تغییر و بدون بافر می‌رسند.

همهٔ مدل‌ها، قابلیت‌ها و قیمت‌ها فهرست مستندات برای عامل‌های هوش مصنوعی: https://oneprovider.dev/docs/llms.txt

چرا استریم

  • زمان تا اولین توکن از چند ثانیه به حدود 100ms می‌رسد.
  • چرخه‌های طولانی استفاده از ابزار از محدودیت 6 دقیقه برای شروع پاسخ دور می‌مانند، چون استریم بلافاصله شروع به پاسخ می‌کند. هر درخواست حداکثر 10 دقیقه زمان دارد، به کدهای خطا نگاه کنید.
  • تجربهٔ کاربری بهتر: نمایش تدریجی به‌جای spinnerهای یخ‌زده.

انواع رویداد

  • message_start — اولین رویداد، فراداده‌های دستیار را برمی‌گرداند.
  • content_block_start · content_block_delta · content_block_stop — یک مجموعه برای هر بلوک text یا tool_use. deltaها یا text_delta هستند یا input_json_delta (برای ورودی ابزار).
  • message_delta — در پایان، stop_reason و به‌روزرسانی usage.
  • message_stop — رویداد پایانی.
  • ping — حفظ اتصال، تقریباً هر 15 ثانیه.

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);

fetch خام (مرورگر، edge runtime)

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);
}
بدون بافر رویدادها به محض تولید توسط مدل به کلاینت شما می‌رسند. هر درخواست، از جمله استریم، حداکثر 10 دقیقه زمان دارد؛ به کدهای خطا نگاه کنید.

پاسخ‌های سریع

از کدام base URL استفاده کنم؟

Claude Code و SDKهای Anthropic از https://api.oneprovider.dev استفاده می‌کنند. SDKهای OpenAI و کلاینت‌های سازگار با OpenAI از https://api.oneprovider.dev/v1 استفاده می‌کنند. یک کلید پشت هر دو آدرس کار می‌کند؛ فهرست مدل‌ها در صفحهٔ مدل‌ها و نرخ‌ها در صفحهٔ قیمت‌ها است.

چگونه احراز هویت کنم؟

کلید خام sk-… را در x-api-key یا Authorization: Bearer بفرستید: یکی از این دو، نه هر دو. کلید را در یک متغیر محیطی نگه دارید، نه در فایلی که commit می‌شود. اطلاعات بیشتر دربارهٔ احراز هویت .

کلید را از کجا بگیرم؟

حساب کاربری خود را در ربات Telegram به نام @oneprovider_robot یا در app.oneprovider.dev باز کنید، موجودی را شارژ کنید و «صدور کلید» را بزنید. هر کلید می‌تواند سقف مصرف مخصوص خودش را داشته باشد. حساب کاربری و کلیدهای API .

کدهای 401، 404 و 429 یعنی چه؟

401: کلید ارسال نشده، اشتباه تایپ شده یا در هدر نادرست فرستاده شده است؛ کلید را کامل و بدون گیومه و فاصله جای‌گذاری کنید. 404: معمولاً base URL نادرست است، مثلاً /v1 جا افتاده یا دوبار آمده است. 429 با پیام «Insufficient balance»: موجودی حساب کاربری یا سقف مصرف کلید تمام شده است؛ به‌جای تلاش دوباره، شارژ کنید. هر 429 دیگری محدودیت نرخ است؛ تا پایان زمان Retry-After صبر کنید. جزئیات: کدهای خطا و رفع اشکال .

چرا استریم‌ها قطع یا ریست می‌شوند؟

VPN و پروکسی‌های VLESS اغلب SSE را بافر می‌کنند یا مذاکرهٔ HTTP/2 را مختل می‌کنند. OneProvider هیچ محدودیت منطقه‌ای ندارد و استریم‌ها را بافر نمی‌کند؛ پروکسی را خاموش کنید و دوباره امتحان کنید.

اگر این‌ها کافی نبود از کجا بپرسم؟

در Telegram به @Oneproviderhelpbot پیام بدهید یا در حساب کاربری وب «پشتیبانی» را باز کنید و کد وضعیت HTTP و متن دقیق خطا را بفرستید. پشتیبانی چگونه کار می‌کند .

آخرین به‌روزرسانی: 2026-11-08 باگی پیدا کردید؟ @Oneproviderhelpbot