NextChat کو ایک custom OpenAI-compatible endpoint پر point کریں۔

Updated 2026-07-29

NextChat server deploys پر ایک BASE_URL environment variable سے، یا clients پر Settings میں in-app custom endpoint سے اپنا API host override کرتا ہے۔ @OpenAI suffix کے ساتھ CUSTOM_MODELS کے ذریعے کیٹلاگ ids شامل کریں اور Claude، Gemini، اور DeepSeek ایک ہی key کے تحت ایک ہی model picker میں نظر آتے ہیں۔

فوری جواب: BASE_URL، ایک key، اور ایک models list۔

Server deploy (Vercel، Docker، یا bare Node) پر، تین environment variables پورا کام کرتی ہیں۔ BASE_URL اس بات کو override کرتا ہے کہ API requests کہاں جائیں؛ README اسے "override openai api request base url" کے طور پر بیان کرتا ہے default https://api.openai.com کے ساتھ، اور value بغیر /v1 کے داخل کی جاتی ہے کیونکہ NextChat خود request path append کرتا ہے۔ OPENAI_API_KEY gateway key رکھتا ہے۔ CUSTOM_MODELS model picker کو کنٹرول کرتا ہے: plus ایک model شامل کرتا ہے، minus ایک چھپاتا ہے، -all default list صاف کرتا ہے، اور name=displayName ایک entry کا نام بدلتا ہے۔ وہ detail جو multi-vendor ids کو کام کرنے دیتی ہے وہ provider suffix ہے۔ NextChat کئی vendors کے لیے الگ client code paths ساتھ لاتا ہے، تو CUSTOM_MODELS میں شامل کی گئی ایک bare claude id Anthropic path کے تحت سامنے آ سکتی ہے، جو مختلف key اور request format چاہتا ہے۔ id کے ساتھ @OpenAI append کرنا، جیسے +claude-sonnet-4-6@OpenAI میں، model کو OpenAI-compatible path پر pin کرتا ہے تاکہ request آپ کے BASE_URL کی طرف standard chat-completions format میں جائے، چاہے model کسی بھی vendor نے train کیا ہو۔

BASE_URL=https://api.apisrouter.com        # no /v1
OPENAI_API_KEY=sk-APIsRouter-...
CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI,+deepseek-v4-pro@OpenAI
DEFAULT_MODEL=claude-sonnet-4-6

NextChat اپنا endpoint کیسے resolve کرتا ہے۔

NextChat (GitHub پر ChatGPTNextWeb، تقریباً 88K stars) آج تک کی سب سے زیادہ deployed chat frontends میں سے ایک ہے: ایک ہلکی web app جو ایک-کلک Vercel deployment رکھتی ہے، ساتھ ساتھ iOS، macOS، Android، Windows، اور Linux کے لیے packaged clients۔ اس کی مقبولیت بالکل اسی mechanism سے آتی ہے جو یہ page استعمال کرتا ہے، ہر چیز ایک configuration surface ہے، اور endpoint بس ایک اور setting ہے۔ اس کے دو surfaces ہیں۔ Server deploys build اور boot پر environment variables پڑھتی ہیں: BASE_URL host کا فیصلہ کرتا ہے، OPENAI_API_KEY authenticate کرتا ہے، اور CUSTOM_MODELS اس deployment کے ہر user کے لیے picker کو shape دیتا ہے۔ Clients اور web UI اضافی طور پر ایک in-app path expose کرتے ہیں: Settings، Model Provider، OpenAI چنیں، پھر endpoint اور key fields بھریں اور custom model names field میں extra ids لسٹ کریں۔ in-app path values کو فی device locally محفوظ کرتا ہے، جو اسے personal client کے لیے صحیح surface بناتا ہے، جبکہ env vars ایسی deployment کے لیے صحیح surface ہیں جسے دوسرے لوگ استعمال کرتے ہیں۔ بہرحال، NextChat سے نکلنے والی request آپ کے endpoint کے خلاف ایک standard chat completion ہے جس میں model id plain string کے طور پر ہے۔ BASE_URL کے پیچھے ایک multi-vendor gateway کے ساتھ، ایک ہی deployment لمبے جوابوں کے لیے Claude، فوری سوالات کے لیے ایک تیز Gemini id، اور bilingual traffic کے لیے DeepSeek یا GLM serve کرتی ہے، سب ایک key کے ذریعے۔

مکمل سیٹ اپ: server deploy یا in-app settings۔

Vercel deploy کے لیے، variables project کی environment settings میں سیٹ کریں اور redeploy کریں؛ Vercel env values کو build کے وقت bake کرتا ہے، تو بغیر redeploy کے کسی variable کو edit کرنا کچھ نہیں بدلتا۔ Docker کے لیے، وہی variables -e flags یا ایک env file کے ساتھ pass کریں۔ CODE variable کسی بھی public deployment پر سیٹ کرنے کے قابل ہے، یہ ایک password کے ساتھ رسائی gate کرتا ہے تاکہ اجنبی آپ کی key خرچ نہ کریں۔ in-app path کو کسی deployment کی ضرورت نہیں۔ Settings میں، OpenAI provider چنیں، endpoint کو https://api.apisrouter.com سے بدلیں، key paste کریں، اور custom model names field میں env variable جیسی syntax سے ids شامل کریں۔ یہی طریقہ ہے جس سے desktop اور mobile clients ایک gateway کے ساتھ کام کرتے ہیں، اور یہ سرور deploy میں commit کرنے سے پہلے values ٹیسٹ کرنے کا سب سے تیز طریقہ بھی ہے۔ DEFAULT_MODEL فیصلہ کرتا ہے کہ نئی chats کس پر شروع ہوں، جو ایک shared deployment پر جتنا لگتا ہے اس سے زیادہ اہم ہے: زیادہ تر users کبھی model نہیں بدلتے، تو default id ہی وہ جگہ ہے جہاں زیادہ تر spend اترتا ہے۔ اسے جان بوجھ کر اس model پر سیٹ کریں جسے آپ casual traffic اٹھانا چاہتے ہیں۔

docker run -d -p 3000:3000 \
  -e BASE_URL=https://api.apisrouter.com \
  -e OPENAI_API_KEY=$APISROUTER_API_KEY \
  -e CUSTOM_MODELS="-all,+claude-sonnet-4-6@OpenAI,+claude-haiku-4-5-20251001@OpenAI,+gemini-3.5-flash@OpenAI" \
  -e DEFAULT_MODEL=claude-haiku-4-5-20251001 \
  -e CODE=your-access-password \
  yidadaa/chatgpt-next-web

Picker کے لیے models چننا۔

چونکہ پورا picker ایک ہی key سے bill ہوتا ہے، tuning loop observational ہے: ایک ہفتہ چلائیں، console میں per-model usage پڑھیں، اور CUSTOM_MODELS کو اس کے مطابق reshape کریں جو لوگوں نے واقعی کلک کیا، نہ کہ جو آپ نے پیش گوئی کی۔

  • List کو -all سے شروع کریں۔ Stock picker ایک لمبا OpenAI-only menu ہے؛ اسے صاف کر کے چار یا پانچ جان بوجھ کر چنی گئی ids شامل کرنا users کو ایک ایسا picker دیتا ہے جہاں ہر انتخاب وہی ہے جسے آپ نے قیمت دی۔
  • Default model پوری deployment کو اٹھاتا ہے۔ DEFAULT_MODEL کے طور پر claude-haiku-4-5-20251001 یا gemini-3.5-flash عام turns کی بڑی تعداد کو تیز اور سستا رکھتا ہے، مضبوط ids ایک کلک دور کے ساتھ۔
  • Long-form کام ایک frontier slot کا حق دار ہے۔ claude-sonnet-4-6 اور gpt-5.5 وہ picks ہیں جو users تب چنتے ہیں جب کوئی draft یا تجزیہ اہم ہو۔
  • Bilingual deployments کو deepseek-v4-pro یا glm-5.2 شامل کرنی چاہئیں؛ NextChat کا ایک بہت بڑا چینی بولنے والا install base ہے اور یہ ids اس traffic میں native طور پر فٹ ہوتی ہیں۔
  • Renames مفت documentation ہیں: claude-sonnet-4-6=Sonnet (writing) طرز کی entries picker کو غیر-تکنیکی users کے لیے خود-وضاحتی بناتی ہیں۔

استعمال کے مطابق ادائیگی · سرکاری قیمت سے کم

Selected models are priced below official list prices. Exact input, output, cache, and per-request prices are shown for each model.

ماڈلسرکاری قیمتہماری قیمت
Claude Sonnet 4.6$3.00 / $15.00 per M$2.40 / $12.00 per M
Claude Haiku 4.5 20251001$1.00 / $5.00 per M$0.80 / $4.00 per M
GPT-5.5$5.00 / $30.00 per M$4.00 / $24.00 per M
Gemini 3.5 Flash$1.50 / $9.00 per M$1.20 / $7.20 per M
GLM-5.2$1.14 / $4.00 per M$1.10 / $4.00 per M

NextChat سے مخصوص failure modes۔

/v1 والی غلطی زیادہ تر tools کے الٹ سمت میں چلتی ہے۔ NextChat خود BASE_URL میں request path append کرتا ہے، تو value بغیر /v1 کے ہونی چاہیے؛ https://api.apisrouter.com/v1 paste کرنا doubled paths پیدا کرتا ہے جو 404 دیتے ہیں۔ LibreChat جیسے tools BASE URL میں /v1 شامل ہونے کی توقع رکھتے ہیں، بالکل اسی وجہ سے لوگ دونوں سمتوں میں غلط عادت لے کر چلتے ہیں۔ Keys یا headers کے بارے میں error دینے والی ایک Claude id missing @OpenAI suffix ہے۔ اس کے بغیر، NextChat اس id کو اپنے native Anthropic path سے route کر سکتا ہے، جو آپ کے gateway کے لیے BASE_URL کبھی نہیں پوچھتا اور vendor-format authentication چاہتا ہے۔ ہر gateway id کو @OpenAI کے ساتھ pin کریں اور تمام requests compatible path لیں۔ Env edits جو کچھ نہ بدلیں وہ redeploy کا مسئلہ ہیں۔ Vercel پر variables build کے وقت پڑھی جاتی ہیں؛ Docker پر container کو دوبارہ بنانا ضروری ہے۔ in-app settings، اس کے برعکس، فوراً لاگو ہوتی ہیں مگر صرف اسی device پر، جو اسی الجھن کا دوسرا آدھا حصہ ہے۔ CODE اور OPENAI_API_KEY حیران کن حد تک اکثر آپس میں بدل جاتے ہیں۔ CODE وہ access password ہے جو users UI میں ٹائپ کرتے ہیں؛ key وہ ہے جو server خرچ کرتا ہے۔ اگر users کسی chat سے پہلے ہی unauthorized page کی رپورٹ کریں، تو یہ CODE ہے؛ اگر chats endpoint کے خلاف فیل ہوں، تو یہ key ہے۔

NextChat کو gateway کے ذریعے کون route کرتا ہے۔

  • وہ لوگ جو Vercel پر personal deployment چلاتے ہیں اور اس کے پیچھے فی vendor subscription کی بجائے ایک metered key چاہتے ہیں۔
  • وہ چھوٹی teams جو ایک NextChat instance share کرتی ہیں، access control کے لیے CODE اور ایک gateway key استعمال کرتی ہیں تاکہ usage log ہی cost report بن جائے۔
  • وہ Desktop اور mobile client users جو in-app endpoint کو ایک gateway پر point کرتے ہیں تاکہ ہر device پر ایک picker سے Claude، Gemini، اور DeepSeek تک پہنچیں۔
  • وہ bilingual users جو ایک deployment میں GLM اور DeepSeek ids کو Claude اور GPT کے ساتھ ملاتے ہیں، جسے native provider silos مشکل بنا دیتے ہیں۔
  • وہ developers جن کے پاس کسی مخصوص vendor کی billing تک رسائی نہیں۔ Top-up پر مبنی رسائی بغیر کارڈ کی شرط کے فی-provider sign-up کا انحصار ختم کر دیتی ہے۔

Endpoint verify کریں اور پہلی chat debug کریں۔

Deploy کرنے سے پہلے endpoint ثابت کریں: key کے ساتھ models list کریں اور تصدیق کریں کہ آپ CUSTOM_MODELS میں ڈالنے کا ارادہ رکھنے والی ہر id بالکل ویسے spell ہو کر ظاہر ہوتی ہے۔ ids strings کے طور پر forward ہوتی ہیں، تو /v1/models output ہی authoritative spelling ہے۔ پھر deploy کریں اور picker کے ہر model پر ایک message بھیجیں۔ ہر چیز پر 404 کا مطلب ہے BASE_URL میں /v1 کی غلطی۔ 401 کا مطلب key ہے، یا تو غلط یا اس environment میں موجود نہیں جسے build نے اصل میں استعمال کیا۔ صرف Claude ids پر error کا مطلب missing @OpenAI suffix ہے۔ ایسا picker جو ایسے models دکھائے جو آپ نے کبھی شامل نہیں کیے مطلب CUSTOM_MODELS نے اپنا -all prefix کھو دیا یا variable build تک نہیں پہنچی۔ جب chats چلنے لگیں، APIsRouter console per-request model، token counts، اور spend دکھاتا ہے۔ ایک سے زیادہ users والی deployment کے لیے، یہ view اسی سوال کا جواب دیتا ہے جو ہر NextChat admin آخرکار پوچھتا ہے، کون سا model خاموشی سے balance کھا رہا ہے، اندازوں کی بجائے data کے ساتھ۔

curl -s https://api.apisrouter.com/v1/models \
  -H "Authorization: Bearer $APISROUTER_API_KEY" | head -50

عمومی سوالات

کیا NextChat کے BASE_URL میں /v1 شامل ہونا چاہیے؟

نہیں۔ NextChat خود request path append کرتا ہے، تو BASE_URL=https://api.apisrouter.com بغیر /v1 کے سیٹ کریں۔ اسے شامل کرنا doubled paths پیدا کرتا ہے جو 404 دیتے ہیں۔ یہ LibreChat جیسے tools سے الٹ convention ہے، جو base URL میں /v1 کی توقع رکھتے ہیں۔

میں ایک endpoint کے ذریعے NextChat میں Claude یا Gemini models کیسے شامل کروں؟

انہیں CUSTOM_MODELS میں @OpenAI suffix کے ساتھ شامل کریں، مثلاً +claude-sonnet-4-6@OpenAI۔ Suffix id کو OpenAI-compatible request path پر pin کرتا ہے تاکہ یہ آپ کے BASE_URL کی طرف جائے، NextChat کے native Anthropic یا Google client paths کی بجائے۔

env variables اور in-app settings میں کیا فرق ہے؟

Environment variables ہر user کے لیے ایک server deployment configure کرتی ہیں اور بدلنے کے لیے redeploy چاہتی ہیں۔ Settings میں in-app custom endpoint values کو فی device locally محفوظ کرتا ہے اور فوراً لاگو ہوتا ہے، جو personal desktop اور mobile clients کے لیے موزوں ہے۔

میں picker سے default OpenAI model list کیسے ہٹاؤں؟

CUSTOM_MODELS کو -all سے شروع کریں، پھر ids واضح طور پر شامل کریں: CUSTOM_MODELS=-all,+claude-sonnet-4-6@OpenAI,+gpt-5.5@OpenAI۔ Users پھر صرف وہی models دیکھتے ہیں جو آپ نے جان بوجھ کر لسٹ اور قیمت دی۔

CODE variable کیا کرتا ہے؟

یہ deployment کے لیے ایک یا زیادہ access passwords سیٹ کرتا ہے۔ Visitors کو chat سے پہلے ایک code داخل کرنا ہوتا ہے، جو ایک public Vercel URL کو آپ کی key خرچ کرنے سے روکتا ہے۔ یہ API key سے غیر متعلق ہے۔

ایک environment variable بدلنے کا کوئی اثر کیوں نہیں ہوا؟

NextChat env values کو build یا container start پر پڑھتا ہے۔ Vercel پر، variable edit کریں اور redeploy کریں؛ Docker پر، container دوبارہ بنائیں۔ صرف in-app settings بغیر restart کے لاگو ہوتی ہیں، اور وہ فی device رہتی ہیں۔