إذا كان تطبيقك يتعامل بالفعل مع واجهة OpenAI، فإن التحوّل إلى Brievio يستغرق نحو عشر دقائق — معظمها لإنشاء الحساب. تحتفظ بالـ SDK وبشيفرتك كما هي؛ وتحصل على النماذج الأصلية على بنية تحتية موثوقة وفوترة توكنات صادقة. يرشدك هذا الدليل عبر الأنماط الأربعة للتكامل التي تستخدمها معظم الفرق، والتغيير المؤلَّف من سطر واحد الذي يحتاجه كل منها.
الخطوة 0 — احصل على مفتاح (دقيقتان)
- أنشئ حساباً على brievio.com/app/signup. تحصل على رصيد بقيمة $2 عند التسجيل؛ دون الحاجة إلى بطاقة.
- انتقل إلى /app/keys وأنشئ مفتاحاً. يبدأ بـ
sk-brievio-. - عيّن متغيّر البيئة:
export BRIEVIO_API_KEY=sk-brievio-....
الخطوة 1 — بدّل الـ SDK الخاص بك (دقيقة واحدة)
Python (حزمة openai)
# قبل — موجَّه إلى واجهة OpenAI مباشرة
from openai import OpenAI
client = OpenAI(
api_key=os.environ["OPENAI_API_KEY"],
)
# بعد — موجَّه إلى Brievio. وكل ما عداه يبقى كما هو.
from openai import OpenAI
client = OpenAI(
api_key=os.environ["BRIEVIO_API_KEY"],
base_url="https://api.brievio.com/v1",
)Node / TypeScript
// قبل
import OpenAI from "openai";
const client = new OpenAI({ apiKey: process.env.OPENAI_API_KEY });
// بعد
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.BRIEVIO_API_KEY,
baseURL: "https://api.brievio.com/v1",
});LangChain
تستخدم LangChain عميل OpenAI نفسه داخلياً، لذا فإن التغيير مطابق. معرّف النموذج الآن هو slug خاص بـ Brievio — انظر /models للقائمة الحيّة (جرّب claude-sonnet-4-6، gemini-2.5-flash، claude-opus-4-7).
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(
model="claude-sonnet-4-6", # تغيير النموذج
api_key=os.environ["BRIEVIO_API_KEY"],
base_url="https://api.brievio.com/v1",
)Vercel AI SDK
تقرأ @ai-sdk/openai عنوان قاعدتها ومفتاح الـ API من متغيّرات البيئة افتراضياً. عيّنها وقد انتهيت — وكل مساعد في إطار العمل (streamText، generateObject، عمليات إعادة المحاولة، توجيه الأدوات) يعمل دون أي تغيير.
import { openai } from "@ai-sdk/openai";
// تقرأ @ai-sdk/openai قيمة OPENAI_BASE_URL تلقائياً
process.env.OPENAI_BASE_URL = "https://api.brievio.com/v1";
process.env.OPENAI_API_KEY = process.env.BRIEVIO_API_KEY;
const model = openai("claude-sonnet-4-6");
// ثم استخدم streamText / generateText / streamObject كما في السابقAnthropic SDK (إن كنت على Claude بالفعل)
يكشف Brievio واجهة Messages الأصلية الخاصة بـ Anthropic عند /v1/messages إلى جانب صيغة OpenAI — فلست مضطراً لتبديل الـ SDK.
from anthropic import Anthropic
# قبل — Anthropic SDK مقابل api.anthropic.com
client = Anthropic(api_key=os.environ["ANTHROPIC_API_KEY"])
# بعد — الـ SDK نفسه، مقابل Brievio. الـ caching والـ thinking والأدوات كلها تمرّ كما هي.
client = Anthropic(
api_key=os.environ["BRIEVIO_API_KEY"],
base_url="https://api.brievio.com", # يُلحِق الـ SDK المسار /v1/messages
)الخطوة 2 — اختبر المحفظة بفحص دخان (دقيقة واحدة)
قبل المساس بشيفرة الإنتاج، شغّل اختباراً رخيصاً مقابل claude-haiku-4-5. إذا عاد هذا بنجاح، فمفتاحك يعمل، والفوترة تعمل، وطبقة التوجيه سليمة.
# اختبار دخان رخيص وشبه حتمي للتحقق من صحة الترحيل.
resp = client.chat.completions.create(
model="claude-haiku-4-5", # أرخص نماذج Claude
messages=[{"role": "user", "content": "ping"}],
max_tokens=8,
temperature=0,
)
assert resp.choices[0].message.content, "empty response"
print("ok — محفظة Brievio تعمل، التكلفة الإجمالية ~$0.0001")الخطوة 3 — انقل حركة المرور (5 دقائق)
النمط الآمن: متغيّرا بيئة في تطبيقك — AI_BASE_URL و AI_API_KEY — يُختاران لكل بيئة على حدة. يبقى الإنتاج على OpenAI؛ وتتحوّل بيئة الاختبار إلى Brievio. وبعد 24 ساعة، حوّل الإنتاج.
إن كنت مهتماً بأثر التكلفة قبل أن تنتقل، فإن لوحة Brievio تعرض تكلفة كل نداء مقابل السعر الرسمي للمصدر الأصلي — فيسهل حساب الفارق الشهري المتوقع على prompts الحقيقية الخاصة بك.
ما يبقى كما هو
- الـ SDK الخاص بك وشيفرتك.
- الـ streaming، واستدعاء الدوال، واستخدام الأدوات، والرؤية، والمخرجات المُهيكلة.
- مخططات الطلب والاستجابة الخاصة بـ OpenAI بالضبط.
- صيغة الخطأ (
error.message/error.type/error.code).
ما يتغيّر نحو الأفضل
- الأصالة. النموذج الأصلي من الطرف الأول في كل نداء — سياق كامل، وأدوات وcaching أصلية، دون أي تخفيضات صامتة أو وكلاء معاد تغليفهم.
- التسعير. كل نموذج مُسعَّر بنحو 15% أقل من قائمة المزوّد الرسمية، ومُحاسَب على أعداد التوكنات الحقيقية — انظر /pricing.
- تعدّد الوسائط. الـ SDK نفسه يصل إلى Claude (
claude-opus-4-7)، وGemini (gemini-2.5-pro)، وGPT-Image-2، وVeo 3، وNano Banana — انظر /models. - الفوترة. محفظة أصيلة عبر Stripe — بطاقات، وApple Pay، وGoogle Pay، وACH، وSEPA، وAlipay، وWeChat Pay. فاتورة واحدة قابلة للتدقيق.
- الموثوقية. تحويل احتياطي تلقائي ومُراقَب — نعيد التوجيه لحظة تدهور أي مصدر أعلى، عادةً قبل أن تنطلق حلقة إعادة المحاولة لديك.
ملاحظات المسار غير السعيد
- نقاط نهاية خاصة بـ OpenAI لا نغطّيها اليوم:
/v1/responses(استخدم/v1/chat/completions)،/v1/assistants(الحالة من جهتك؛ فنحن gateway عديم الحالة)،/v1/realtime(مُخطَّط له). - بعض الميزات الخاصة بـ Claude —
cache_control، والـthinkingالموسّع — تعمل على نحو أفضل عبر نقطة النهاية الأصلية /v1/messages، لا عبر صيغة OpenAI.
تعثّرت؟ contact@brievio.com — يردّ عليك إنسان خلال يوم عمل واحد. وإن كنت تجري ترحيلاً جاداً فسننعقد معك في مكالمة.