Skip to main content

لماذا يهم التحكم في الميزانية

وكيل الذكاء الاصطناعي الذي يستدعي واجهات برمجية مدفوعة في حلقة متكررة يمكن أن يتراكم عليه تكاليف بسرعة. يتيح لك التحكم في الميزانية:
  • تحديد سقف إجمالي للإنفاق لكل جلسة
  • تعيين حدود لكل نطاق (مثلاً، بحد أقصى 100 sats/جلسة على api.weather.com)
  • استقبال رد نداء قبل كل دفعة
  • الحصول على تقرير إنفاق كامل في أي وقت

الميزانية الإجمالية

عندما تتضمن استجابة 402 حقل priceSats وكانت ستتجاوز الميزانية المتبقية، يُطلق العميل BudgetExceededError قبل الدفع — لا يُصرف أي satoshi.

الميزانية لكل نطاق

يتم التحقق من حدود كل نطاق بشكل مستقل عن الحد الإجمالي — ويجب أن يجتاز كلاهما حتى تتم المعاملة.

ردود النداء

يُستدعى onBudgetExceeded / on_budget_exceeded قبيل إطلاق BudgetExceededError مباشرةً — مفيد للتسجيل أو التنبيهات.

تقرير الإنفاق

تُرجع spendingReport() القيمة null / None عندما لا تكون هناك ميزانية مُهيأة.

معالجة BudgetExceededError


ملاحظات حول التزامن

لا تشارك نسخة واحدة من L402Client عبر استدعاءات Promise.all المتزامنة عندما تكون حدود الميزانية مهمة.يُفصل بين BudgetTracker.check() وrecord() بـawait (دفعة Lightning). قد تجتاز استدعاءان متزامنان لـclient.fetch() على نقاط نهاية مختلفة كلاهما فحص الميزانية قبل أن يسجّل أيٌّ منهما الإنفاق — مما يعني أن التكلفة الإجمالية قد تتجاوز مؤقتاً سقف ميزانيتك بمقدار دفعة واحدة.النمط الآمن — الاستدعاءات المتسلسلة:
النمط الخطر — الاستدعاءات المتوازية:
الحل لأعباء العمل المتوازية: اضبط budgetSats بشكل متحفظ (مثلاً 80% من حدك الفعلي) لاستيعاب الإنفاق الزائد الناتج عن دفعة متزامنة واحدة. للتطبيق الصارم، عالج الاستدعاءات بشكل متسلسل.

مرجع الخيارات الكامل