مرکزی مواد پر جائیں
اے آئی ٹیوٹوریلز

Whirl، ایک مکمل اسٹیک AI چیٹ ایپ کو خود ہوسٹ کرنے کا طریقہ

جانیں کہ Whirl کو مقامی طور پر کیسے انسٹال اور چلایا جائے، اس کی مطلوبہ سروسز سے کیسے منسلک کیا جائے، اپنی پہلی AI گفتگو کیسے شروع کی جائے، اور اس کی اختیاری صلاحیتوں کو کیسے سمجھا جائے۔ یہ ٹیوٹوریل ریپوزٹری کے ڈھانچے، رازداری کی خصوصیات، کنفیگریشن کی حکمتِ عملی، اور خود ہوسٹ کی گئی تعیناتی کی تیاری کے لیے عملی تجاویز کا بھی احاطہ کرتا ہے۔

Whirl، ایک مکمل اسٹیک AI چیٹ ایپ کو خود ہوسٹ کرنے کا طریقہ

Whirl کیا ہے؟

Whirl ایک اوپن سورس، فل اسٹیک AI چیٹ ایپلیکیشن ہے جو Next.js اور Convex کے ساتھ بنائی گئی ہے۔ یہ whirl.chat کے پیچھے موجود کوڈ ہے اور MIT لائسنس کے تحت دستیاب ہے، لہٰذا آپ اس کا جائزہ لے سکتے ہیں، اپنا انسٹنس چلا سکتے ہیں، یا بہتریوں میں حصہ لے سکتے ہیں۔

یہ منصوبہ متعدد AI ماڈلز، مستقل میموری، قابل ترمیم آرٹی فیکٹس، ویب تحقیق، حسب ضرورت ٹولز، اور رازداری پر مرکوز گفتگو کو ایک ہی انٹرفیس میں یکجا کرتا ہے۔ ماڈلز کو OpenRouter کے ذریعے روٹ کیا جاتا ہے، جبکہ Convex ڈیٹابیس، بیک اینڈ فنکشنز، اسٹریمنگ، اور شیڈول شدہ جابز فراہم کرتا ہے۔

اہم خصوصیات

  • متعدد معروف ماڈلز: ایک ہی گفتگو میں اعلیٰ AI ماڈلز استعمال کریں اور ان کی سوچنے کی سطحیں ایڈجسٹ کریں۔
  • متحرک آرٹی فیکٹس: دستاویزات، چارٹس، اور انٹرایکٹو صفحات بنائیں جو سائیڈ پینل میں قابل ترمیم رہیں اور لنک کے ذریعے شیئر کیے جا سکیں۔
  • ٹولز اور اسکلز: MCP کے ذریعے بیرونی ٹولز، بشمول OAuth پر مبنی انٹیگریشنز، مربوط کریں اور Whirl کے رویے کو وسعت دینے والی اسکلز انسٹال کریں۔
  • طویل مدتی میموری: گفتگوؤں کے درمیان ترجیحات اور منصوبے کا سیاق و سباق برقرار رکھیں۔
  • تازہ ویب معلومات: ویب پر تلاش کریں اور صفحات پڑھ کر حالیہ ذرائع پر مبنی جوابات تیار کریں۔
  • نجی گفتگو: لاک شدہ چیٹس صارف کے ڈیوائس پر ایسے پاس ورڈ سے خفیہ کی جاتی ہیں جو سرور کو کبھی موصول نہیں ہوتا۔ ان میں صرف زیرو ریٹینشن ماڈلز استعمال ہوتے ہیں۔
  • پیداواری خصوصیات: Whirl میں انکوگنیٹو موڈ، پیغامات کی قطار بندی، وائس ان پٹ، تصاویر بنانا، فائل اٹیچمنٹس، فولڈرز، اور شیئرنگ شامل ہیں۔
  • قابل تخصیص انٹرفیس: لائٹ یا ڈارک موڈ منتخب کریں، ایکسنٹ رنگ مقرر کریں، اور Whirl کو موبائل ویب ایپ کے طور پر انسٹال کریں۔

ٹیکنالوجی اسٹیک

پروڈکشن ویب ایپلیکیشن Next.js 16، React 19، Tailwind CSS v4، اور Motion استعمال کرتی ہے۔ Convex بیک اینڈ فراہم کرتا ہے، Clerk تصدیق سنبھالتا ہے، اور OpenRouter، AI SDK کے ذریعے ماڈل تک رسائی فراہم کرتا ہے۔ ریپوزٹری Bun ورک اسپیسز کے طور پر منظم ہے اور TypeScript میں لکھی گئی ہے۔

بنیادی سیٹ اپ کے لیے صرف Convex، Clerk، اور OpenRouter درکار ہیں۔ دیگر سروسز اختیاری ہیں:

  • بلنگ کے لیے Autumn
  • ویب سرچ کے لیے Exa
  • میموری کے لیے Supermemory
  • اینالیٹکس کے لیے PostHog اور Axiom
  • ٹریسنگ کے لیے Braintrust
  • ای میل کے لیے Resend
  • سپورٹ ایجنٹ کے لیے Median

اگر کوئی اختیاری سروس کنفیگر نہ ہو تو Whirl ایپلیکیشن چلانے کے لیے اسے لازمی بنانے کے بجائے اس سروس سے چلنے والی خصوصیت چھپا دیتا ہے۔

ضروریات

Whirl انسٹال کرنے سے پہلے درج ذیل تیار کریں:

  • آپ کے کمپیوٹر پر Bun انسٹال ہو
  • ایک مفت Convex اکاؤنٹ
  • ایک Clerk ایپلیکیشن
  • ایک OpenRouter API key
  • ریپوزٹری کلون کرنے کے لیے Git

مرحلہ 1: Whirl کلون اور انسٹال کریں

ریپوزٹری کلون کریں، اس کی ڈائریکٹری میں جائیں، اور Bun کے ذریعے ورک اسپیس کی تمام dependencies انسٹال کریں:

git clone https://github.com/whirlchat/whirl.git
cd whirl
bun install

مرحلہ 2: Convex بیک اینڈ بنائیں

بیک اینڈ پیکیج میں جائیں اور Convex کا ڈویلپمنٹ عمل شروع کریں:

cd packages/backend
bunx convex dev

پہلی بار چلانے پر Convex آپ کو پروجیکٹ اور ڈویلپمنٹ ڈپلائمنٹ بنانے کے مراحل سے گزارے گا۔ اس عمل کو جاری رکھیں تاکہ ڈویلپمنٹ کے دوران بیک اینڈ کی تبدیلیاں ہم آہنگ ہوتی رہیں۔

مرحلہ 3: بیک اینڈ سیکرٹس کنفیگر کریں

packages/backend میں ایک اور ٹرمینل کھولیں۔ Clerk JWT issuer domain اور OpenRouter API key کو Convex ماحول میں شامل کریں:

bunx convex env set CLERK_JWT_ISSUER_DOMAIN https://your-instance.clerk.accounts.dev
bunx convex env set OPENROUTER_API_KEY sk-or-v1-...

مثالی اقدار کو اپنے Clerk اور OpenRouter اکاؤنٹس کی اسناد سے تبدیل کریں۔ تفصیلی self-hosting دستاویز Convex کے لیے درکار Clerk JWT template کی وضاحت کرتی ہے۔

API keys یا authentication secrets کو ریپوزٹری میں commit نہ کریں۔ بیک اینڈ سیکرٹس کو Convex environment commands کے ذریعے اور مقامی ویب سیٹنگز کو مناسب environment file میں محفوظ کریں۔

مرحلہ 4: ویب ایپلیکیشن کنفیگر کریں

پروڈکشن ویب ایپلیکیشن میں جائیں اور فراہم کردہ مثال سے مقامی environment file بنائیں:

cd ../../apps/v2
cp .env.example .env.local

.env.local کھولیں اور Convex اور Clerk کے لیے درکار چار اقدار درج کریں۔ متغیر نام خود بنانے کے بجائے درست ناموں کے لیے example file کو ماخذ کے طور پر استعمال کریں۔

مرحلہ 5: ڈویلپمنٹ ماحول شروع کریں

ریپوزٹری کی روٹ پر واپس جائیں اور ڈویلپمنٹ کمانڈ شروع کریں:

cd ../..
bun run dev

سروسز چلنے کے بعد localhost:3000 کھولیں۔ کنفیگر شدہ Clerk ایپلیکیشن کے ذریعے سائن اِن کریں اور گفتگو شروع کریں۔

بنیادی استعمال

گفتگو شروع کریں

چیٹ کمپوزر میں درخواست درج کریں اور اسے کنفیگر شدہ ماڈل کو بھیجیں۔ ایک سادہ ابتدائی پرامپٹ یہ جانچ سکتا ہے کہ ویب ایپ، تصدیق، Convex بیک اینڈ، اور OpenRouter کنکشن مل کر درست کام کر رہے ہیں:

Explain the main components of this application in five concise points.

ماڈلز کے ساتھ کام کریں

Whirl کو OpenRouter کے ذریعے ایک گفتگو کے اندر متعدد معروف ماڈلز تک رسائی فراہم کرنے کے لیے ڈیزائن کیا گیا ہے۔ جہاں ایپلیکیشن اور منتخب ماڈل معاونت کریں، آپ قابل ایڈجسٹ سوچنے کی سطحیں بھی استعمال کر سکتے ہیں۔

آرٹی فیکٹس بنائیں اور بہتر کریں

Whirl سے کہیں کہ وہ کوئی دستاویز، چارٹ یا انٹرایکٹو صفحہ تیار کرے۔ یہ متحرک آرٹی فیکٹس سائیڈ پینل میں قابلِ ترمیم رہتے ہیں اور لنک کے ذریعے شیئر کیے جا سکتے ہیں، اس لیے یہ ایسے نتائج کے لیے مفید ہیں جنہیں ایک ہی چیٹ جواب کے بجائے مسلسل بہتر بنانے کی ضرورت ہو۔

فائلیں، آواز اور تنظیم استعمال کریں

Whirl ٹائپ کیے گئے پیغامات کے علاوہ فائل منسلک کرنے اور صوتی ان پٹ کی سہولت بھی فراہم کرتا ہے۔ بات چیت کو فولڈرز میں منظم کیا جا سکتا ہے، جبکہ شیئرنگ کی خصوصیات منتخب کام دوسروں کے لیے دستیاب بناتی ہیں۔

ریپوزٹری کو سمجھنا

اس مونو ریپو میں کئی ایپلیکیشنز اور ایک مشترکہ بیک اینڈ شامل ہے:

  • apps/v2: Whirl کی استعمال ہونے والی پروڈکشن Next.js ویب ایپلیکیشن۔
  • apps/console: ماڈلز، انٹیگریشنز اور اسکلز کے لیے Vite پر مبنی انتظامی کنسول۔
  • apps/mobile: Expo کے ساتھ بنائی گئی مقامی ایپلیکیشن۔
  • apps/waitlist: ایک خود مختار ویٹ لسٹ صفحہ۔
  • apps/remotion: تشہیری ویڈیو کمپوزیشنز۔
  • apps/legacy: پچھلی ویب ایپلیکیشن، جسے حوالہ کے لیے رکھا گیا ہے لیکن اب برقرار نہیں رکھا جاتا۔
  • packages/backend: Convex اسکیما، فنکشنز اور AI پائپ لائن۔
  • docs: سیلف ہوسٹنگ، کنفیگریشن اور آرکیٹیکچر گائیڈز۔
  • brand: لوگوز، رنگ، بینرز اور ایپلیکیشن آئیکنز۔

موجودہ ویب ڈیولپمنٹ کے لیے apps/v2 اور packages/backend پر توجہ دیں۔ apps/legacy پر نیا کام بنانے سے گریز کریں، کیونکہ اسے برقرار نہیں رکھا جاتا۔

اعلیٰ درجے کی تجاویز

اختیاری سروسز بتدریج شامل کریں

ضروری Convex، Clerk اور OpenRouter کنفیگریشن سے آغاز کریں۔ بنیادی چیٹ فلو کے کام کرنے کے بعد اختیاری فراہم کنندگان کو ایک وقت میں ایک شامل کریں۔ Whirl خود بخود ایسی فعالیت چھپا دیتا ہے جس کی مطلوبہ کیز موجود نہ ہوں، جس سے چھوٹی تنصیب چلانا عملی ہو جاتا ہے۔

بلنگ، سرچ، میموری، اینالیٹکس، ٹریسنگ، ای میل اور سپورٹ سے متعلق ماحولیاتی متغیرات کے لیے ریپوزٹری کی کنفیگریشن گائیڈ دیکھیں۔

موزوں پرائیویسی موڈ منتخب کریں

جب آپ عام مستقل گفتگو کا ورک فلو نہیں چاہتے تو انکگنیٹو موڈ استعمال کریں۔ زیادہ مضبوط تحفظ کے لیے لاک شدہ چیٹس ڈیوائس پر ایسے پاس ورڈ سے انکرپٹ ہوتی ہیں جسے سرور کبھی نہیں دیکھتا، اور ان کا جواب صرف زیرو ریٹینشن ماڈلز دیتے ہیں۔ یاد رکھیں کہ کلائنٹ کے پاس موجود پاس ورڈ کھو جانے سے انکرپٹ شدہ مواد تک رسائی متاثر ہو سکتی ہے۔

پیغام کی پائپ لائن کا جائزہ لیں

اسٹریمنگ، ٹول کالز یا ماڈل کے رویے کی ڈیبگنگ کے وقت پروجیکٹ کی آرکیٹیکچر گائیڈ پڑھیں۔ یہ بتاتی ہے کہ پیغام کمپوزر سے ماڈل تک اور پھر واپس کیسے جاتا ہے۔ متعلقہ نفاذ بنیادی طور پر پروڈکشن ویب ایپ اور Convex بیک اینڈ کے درمیان تقسیم ہے۔

پروڈکشن کے لیے احتیاط سے تیاری کریں

کوئیک اسٹارٹ ایک ڈیولپمنٹ ماحول بناتا ہے۔ عوامی تعیناتی سے پہلے مکمل سیلف ہوسٹنگ گائیڈ پر عمل کریں، جس میں Clerk JWT ٹیمپلیٹ اور پروڈکشن تعیناتی سے متعلق ہدایات بھی شامل ہیں۔

محفوظ طریقے سے تعاون کریں

پل ریکویسٹ کھولنے سے پہلے طریقہ کار اور جانچ کے لیے پروجیکٹ کی کنٹریبیوٹنگ گائیڈ کا جائزہ لیں۔ ضابطۂ اخلاق کی پیروی کریں، اور سیکیورٹی مسائل کی اطلاع عوامی ایشو کے بجائے SECURITY.md میں دیے گئے طریقہ کار کے ذریعے دیں۔

نتیجہ

Whirl خود میزبان بنائے جانے والے AI چیٹ ورک اسپیس کے لیے خصوصیات سے بھرپور نقطۂ آغاز فراہم کرتا ہے، جو Next.js انٹرفیس کو Convex بیک اینڈ، Clerk تصدیق اور OpenRouter ماڈل رسائی کے ساتھ یکجا کرتا ہے۔ تین ضروری سروسز سے آغاز کریں، localhost:3000 پر مقامی چیٹ کی تصدیق کریں، اور پھر اپنی تعیناتی کی ضروریات کے مطابق اختیاری سرچ، میموری، اینالیٹکس، بلنگ اور دیگر انٹیگریشنز فعال کریں۔