OneProvider

مهاجرت از Anthropic

SDK مربوط به Anthropic را با تنظیم یک متغیر محیطی به OneProvider وصل کنید. نمونهٔ Python و Node، تعویض شناسهٔ مدل و یک بررسی سریع برای اطمینان از درستی کار.

اگر کد شما همین حالا api.anthropic.com را صدا می‌زند، کل مهاجرت یک متغیر محیطی است. درخواست‌ها و پاسخ‌های فعلی بایت‌به‌بایت یکسان‌اند.

همهٔ مدل‌ها، قابلیت‌ها و قیمت‌ها فهرست مستندات برای عامل‌های هوش مصنوعی: https://oneprovider.dev/docs/llms.txt پیش از شروع: یک کلید از حساب کاربری حساب کاربری خود را باز کنید: ربات Telegram به نام @oneprovider_robot (بخش «حساب کاربری») یا app.oneprovider.dev . «صدور کلید» را بزنید، یک نام (مثلاً نام همین کلاینت) و سقف مصرف بدهید و کلید را کپی کنید. شارژ موجودی هم همان‌جاست. اطلاعات بیشتر دربارهٔ حساب کاربری و کلیدها .

چه چیزی تغییر می‌کند (و چه چیزی نه)

لازم نیست چیزی در schema درخواست، شکل پاسخ، رویدادهای استریم یا SDKای که از قبل به کار می‌برید عوض شود. تنها تفاوت این است که بایت‌ها به کجا می‌روند:

داده‌های مرجع
موردAnthropicOneProvider
Base URLhttps://api.anthropic.comhttps://api.oneprovider.dev
هدر احراز هویتx-api-keyx-api-key یا Authorization: Bearer
هدر نسخهanthropic-version: 2023-06-01anthropic-version: 2023-06-01
Schema درخواستAnthropic Messages APIیکسان
Schema پاسخAnthropic Messages APIیکسان
رویدادهای استریمSSE: message_start, content_block_delta...یکسان، بدون بافر
Prompt caching (cache_control)بومیبومی — عبور مستقیم
مدل‌هانام‌های مستعار قدیمی تاریخ‌دارفهرست مجاز Claude که به‌طور خودکار ساخته می‌شود — به مدل‌ها نگاه کنید
صورت‌حسابکارت، پس‌پرداخت، ماهانهشارژ با ارز دیجیتال، پیش‌پرداخت، بدون انقضا

مهاجرت فقط با متغیر محیطی

اگر کد شما اعتبارنامه‌ها را از متغیرهای محیطی می‌خواند (باید بخواند)، تمام تغییر این است:

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

هر دوی SDKهای رسمی Anthropic برای Python و Node متغیر ANTHROPIC_BASE_URL را می‌خوانند و هیچ تغییر دیگری در کد لازم نیست.

Python — شکل صریح

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 — شکل صریح

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",
});

جایگزینی شناسهٔ مدل

سطح بومی Anthropic شناسه‌های فعلی Claude را که در صفحهٔ مدل‌ها آمده ارائه می‌دهد. اگر کد شما به نام مستعار قدیمی‌تر Anthropic ارجاع می‌دهد (claude-3-5-sonnet، claude-3-opus-20240229 و مانند آن) خطای 400 invalid_request_error می‌گیرید — آن را با شناسهٔ استاندارد فعلی عوض کنید:

داده‌های مرجع
نام مستعار قدیمیبه‌جای آن استفاده کنید
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

جایگزینی را بررسی کنید

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"}]}'
ابتدا هر دو را کنار هم اجرا کنید برای مهاجرت محتاطانه: کلاینت Anthropic خود را برای یک استقرار نگه دارید. 1% ترافیک را از OneProvider عبور دهید، پاسخ‌ها را روی پرامپت‌های یکسان مقایسه کنید و سپس طی چند روز سهم ترافیک را به‌تدریج به OneProvider منتقل کنید. یکسان بودن شکل‌ها این کار را ساده می‌کند.

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

از کدام 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