منصوبے کے بارے میں

MultiRouter AI ایک واحد API اینڈ پوائنٹ کے طور پر کام کرتا ہے جو ذہانت کے ساتھ متعدد AI فراہم کنندہ اکاؤنٹس میں چیٹ مکمل کرنے کی درخواستوں کو روٹ کرتا ہے۔ یہ صارفین کو Groq، Cerebras، اور Gemini جیسی سروسز سے فری ٹیر API کیز کو یکجا کرنے کی اجازت دیتا ہے، اور جب ایک اکاؤنٹ ریٹ لمٹس تک پہنچ جاتا ہے تو خود بخود دوسرے پر منتقل (failover) ہو جاتا ہے۔ یہ سسٹم مکمل طور پر OpenAI API کی تفصیلات کے مطابق ہے، جس کی وجہ سے یہ Cursor، Windsurf، Claude Code، Aider اور دیگر IDEs کے لیے پلگ اینڈ پلے بن جاتا ہے جو کسٹم OpenAI بیس URLs کو سپورٹ کرتے ہیں۔ کنفیگریشن ایک YAML فائل (`providers.yaml`) کے ذریعے مینیج کی جاتی ہے جہاں صارفین فراہم کنندہ کے نمونے، API کیز، سپورٹڈ ماڈلز، اور روٹنگ کی ترجیح طے کرتے ہیں۔ فراہم کنندگان کو ترتیب وار آزمایا جاتا ہے — عام طور پر پہلے فری ٹیرز اور آخر میں پیڈ اکاؤنٹس — جس میں ریٹ لمٹس ختم ہونے کے بعد خودکار کول ڈاؤن اور دوبارہ فعال ہونے کی سہولت موجود ہے۔ دو روٹنگ حکمت عملی دستیاب ہیں: 'exhaust' (ڈیفالٹ)، جو ہر فراہم کنندہ کو ختم ہونے تک استعمال کرتا ہے، اور 'round-robin'، جو `multirouter-auto` کے خصوصی ماڈل نام کا استعمال کرتے ہوئے فعال نمونوں کے درمیان درخواستوں کو یکساں طور پر تقسیم کرتا ہے۔ سرور OpenAI فارمیٹ میں Server-Sent Events (SSE) کے ذریعے اسٹریمنگ جوابات کو سپورٹ کرتا ہے، اور `/v1/chat/completions`، `/v1/models` اور `/health` جیسے معیاری اینڈ پوائنٹس فراہم کرتا ہے۔ یہ Node.js 20+ کے ساتھ Express 5 اور TypeScript 5.9 پر چلتا ہے، جس میں بلٹ ان ریٹ لمٹنگ اور بیرر ٹوکن کے ذریعے تصدیق شامل ہے، اور کسٹم `base_url` کے ساتھ `openai-compatible` فراہم کنندہ ٹائپ کے ذریعے مقامی یا سیلف ہوسٹڈ ماڈلز کو بھی مربوط کیا جا سکتا ہے۔ سیکیورٹی کے بہترین طریقوں میں git میں `providers.yaml` کو نظر انداز کرنا اور رازوں (secrets) کے لیے انوائرمنٹ ویری ایبل انٹرپولیشن کی سپورٹ شامل ہے۔ یہ پروجیکٹ MIT لائسنس کے تحت ہے اور ان ڈویلپرز کے لیے ڈیزائن کیا گیا ہے جو کلائنٹ ایپلی کیشنز میں تبدیلی کیے بغیر متعدد فراہم کنندہ کوٹاز کو پول کر کے بلا تعطل AI رسائی چاہتے ہیں۔