منصوبے کے بارے میں
Devinorium AI کوڈنگ ایجنٹس کے لیے ایک سیلف ہوسٹڈ ویب انٹرفیس ہے، تاکہ ایجنٹس کو صرف ٹرمینل کے بجائے براؤزر سے چلایا جا سکے۔ اس کا بیک اینڈ Rust میں axum، tokio اور SQLite پر لکھا گیا ہے، اور یہ تصدیق (authentication)، سیشنز، فائلوں اور پرووائیڈرز کو کالز سنبھالتا ہے۔ فرنٹ اینڈ Flutter web ہے، جسے ایک بلڈ اسکرپٹ کے ذریعے تیار کیا جاتا ہے اور کمپائل ٹائم پر فرنٹ اینڈ بلڈ آؤٹ پٹ ڈائریکٹری سے Rust بائنری میں ایمبیڈ کر دیا جاتا ہے۔
پرووائیڈر لیئر واضح طور پر پلگ ایبل ہے، جس کا مطلب ہے کہ ایپلی کیشن کے باقی حصے کو تبدیل کیے بغیر اضافی بیک اینڈز متعارف کرائے جا سکتے ہیں۔ تین پرووائیڈرز کو سپورٹڈ کے طور پر درج کیا گیا ہے: Devin CLI، OpenCode، اور Codex CLI۔ توقع کی جاتی ہے کہ ہر ایک PATH پر موجود ہو اور پہلے سے اپنی لاگ ان کمانڈ (devin login, opencode auth login, codex login) کے ذریعے تصدیق شدہ ہو۔
شروع کرنے کے لیے Rust ٹول چین، Flutter SDK، اور منتخب پرووائیڈر کے CLI کی ضرورت ہوتی ہے۔ کلوننگ کے بعد، مثال کے طور پر فراہم کردہ انوائرمنٹ فائل کو کاپی اور ایڈٹ کیا جاتا ہے تاکہ ایک bootstrap پاس ورڈ سیٹ کیا جا سکے؛ README میں خبردار کیا گیا ہے کہ اگر یہ پاس ورڈ سیٹ نہیں کیا گیا یا اسے پلیس ہولڈر ویلیو پر چھوڑ دیا گیا، تو کوئی اونر اکاؤنٹ نہیں بنایا جائے گا اور لاگ ان ناممکن ہوگا۔ اس کے بعد Flutter بلڈ اسکرپٹ فرنٹ اینڈ بنڈل تیار کرتا ہے، ایک ریلیز cargo build اسے ایمبیڈ کرتا ہے، ڈیٹا بیس کے لیے ایک ڈیٹا ڈائریکٹری بنائی جاتی ہے، اور بائنری چلائی جاتی ہے۔ سروس پھر ڈیفالٹ طور پر localhost پورٹ 7878 پر لسن کرتی ہے، جہاں صارف bootstrap کریڈنشلز کے ساتھ لاگ ان کرتا ہے۔
کنفیگریشن مکمل طور پر انوائرمنٹ ویری ایبلز کے ذریعے ہے، جس کی تفصیل مثال کے طور پر دی گئی env فائل میں ہے۔ سیٹنگز میں بائنڈ ایڈریس اور پورٹ، سیشن کوکیز کو سائن کرنے کے لیے استعمال ہونے والی سیشن کی (جو تب تک عارضی رہتی ہے جب تک کہ ایک لمبی رینڈم ویلیو فراہم نہ کی جائے)، SQLite کنکشن اسٹرنگ، پہلی بار چلانے والے اونر کا صارف نام اور پاس ورڈ، نئے تھریڈز کے لیے ڈیفالٹ ماڈل، ریورس پراکسی کے پیچھے forwarded-for ہیڈرز پر بھروسہ، ریکویسٹ باڈی کا زیادہ سے زیادہ سائز، HTTPS کے لیے ایک محفوظ کوکی فلیگ، اور CSRF چیکس کے لیے واضح طور پر اجازت یافتہ اوریجن شامل ہیں۔ ڈیٹا بیس مائیگریشنز اسٹارٹ اپ پر خود بخود چلتے ہیں۔
ترقی (Development) میں فارمیٹنگ چیکس، clippy (جس میں وارننگز مسترد ہیں)، اور ٹیسٹ سویٹ شامل ہیں۔ سخت pedantic اور nursery لنٹ گروپس کا ذکر بیک لاگ کے طور پر کیا گیا ہے تاکہ انہیں بتدریج فعال کیا جا سکے۔
README میں بتایا گیا ہے کہ Devinorium صرف HTTP فراہم کرتا ہے، اس لیے ریموٹ یا پبلک ایکسپوزر کو ایک ریورس پراکسی یا ٹنل کے ذریعے جانا چاہیے جو TLS کو ختم (terminate) کرے، جس کی تفصیلی تعیناتی کی مثالیں ایک علیحدہ دستاویز فائل میں موجود ہیں۔ پروجیکٹ AGPL-3.0-only لائسنس کے تحت ہے، اور بیان کردہ ریپوزٹری ایک GitLab پروجیکٹ کا GitHub مرر ہے۔ دستاویزات میں موجود اسکرین شاٹس ڈیسک ٹاپ اور موبائل پر انٹرفیس دکھاتے ہیں، جس میں سائیڈ بار، تھریڈ اور کوڈ ایڈیٹر ویوز شامل ہیں۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.