প্রকল্প সম্পর্কে
Devinorium হলো AI কোডিং এজেন্টদের জন্য একটি সেলফ-হোস্টেড ওয়েব ইন্টারফেস, যাতে এজেন্টদের শুধুমাত্র টার্মিনালের পরিবর্তে ব্রাউজার থেকেও পরিচালনা করা যায়। এর ব্যাকএন্ড Rust-এর axum, tokio এবং SQLite দিয়ে লেখা, যা অথেন্টিকেশন, সেশন, ফাইল এবং প্রোভাইডার কলগুলো পরিচালনা করে। ফ্রন্টএন্ডটি Flutter web-এ তৈরি, যা একটি বিল্ড স্ক্রিপ্টের মাধ্যমে তৈরি করা হয় এবং কম্পাইল করার সময় ফ্রন্টএন্ড বিল্ড আউটপুট ডিরেক্টরি থেকে Rust বাইনারির মধ্যে এমবেড করা হয়।
প্রোভাইডার লেয়ারটি স্পষ্টভাবে প্লাগযোগ্য, যার অর্থ হলো অ্যাপ্লিকেশনের বাকি অংশের পরিবর্তন না করেই অতিরিক্ত ব্যাকএন্ড যুক্ত করা সম্ভব। তিনটি প্রোভাইডার সমর্থিত হিসেবে তালিকাভুক্ত: Devin CLI, OpenCode এবং Codex CLI। প্রতিটি প্রোভাইডার PATH-এ উপস্থিত থাকতে হবে এবং আগে থেকেই নিজস্ব লগইন কমান্ডের (devin login, opencode auth login, codex login) মাধ্যমে অথেন্টিকেট করা থাকতে হবে।
শুরু করার জন্য Rust টুলচেইন, Flutter SDK এবং নির্বাচিত প্রোভাইডারের CLI প্রয়োজন। ক্লোন করার পর, একটি উদাহরণ এনভায়রনমেন্ট ফাইল কপি এবং এডিট করে একটি বুটস্ট্র্যাপ পাসওয়ার্ড সেট করতে হয়; README-তে সতর্ক করা হয়েছে যে, এই পাসওয়ার্ডটি সেট না করা হলে বা প্লেসহোল্ডার ভ্যালু রাখা হলে কোনো ওনার অ্যাকাউন্ট তৈরি হবে না এবং লগইন করা অসম্ভব হবে। এরপর Flutter বিল্ড স্ক্রিপ্ট ফ্রন্টএন্ড বান্ডেল তৈরি করে, একটি রিলিজ cargo build এটিকে এমবেড করে, ডাটাবেসের জন্য একটি ডাটা ডিরেক্টরি তৈরি করা হয় এবং বাইনারিটি চালানো হয়। সার্ভিসটি ডিফল্টভাবে localhost পোর্ট 7878-এ লিসেন করে, যেখানে ব্যবহারকারী বুটস্ট্র্যাপ ক্রেডেনশিয়াল দিয়ে লগইন করেন।
কনফিগারেশন সম্পূর্ণভাবে এনভায়রনমেন্ট ভেরিয়েবলের মাধ্যমে করা হয়, যা উদাহরণ env ফাইলে নথিভুক্ত করা আছে। সেটিংসের মধ্যে রয়েছে বাইন্ড অ্যাড্রেস এবং পোর্ট, সেশন কুকি সাইন করার জন্য একটি সেশন কী (দীর্ঘ র্যান্ডম ভ্যালু না দিলে এটি ক্ষণস্থায়ী হবে), SQLite কানেকশন স্ট্রিং, প্রথমবার রান করার জন্য ওনার ইউজারনেম এবং পাসওয়ার্ড, নতুন থ্রেডের জন্য একটি ডিফল্ট মডেল, রিভার্স প্রক্সির পেছনে forwarded-for হেডার ট্রাস্ট করা, রিকোয়েস্ট বডির সর্বোচ্চ সাইজ, HTTPS-এর জন্য একটি সিকিউর কুকি ফ্ল্যাগ এবং CSRF চেকের জন্য স্পষ্টভাবে অনুমোদিত অরিজিন। স্টার্টআপের সময় ডাটাবেস মাইগ্রেশন স্বয়ংক্রিয়ভাবে চলে।
ডেভলপমেন্টের মধ্যে রয়েছে ফরম্যাটিং চেক, ওয়ার্নিং ডিনাইড সহ clippy এবং টেস্ট স্যুট; আরও কঠোর pedantic এবং nursery লিন্ট গ্রুপগুলো ব্যাকলগ হিসেবে উল্লেখ করা হয়েছে যা পর্যায়ক্রমে চালু করা হবে।
README-তে বলা হয়েছে যে Devinorium শুধুমাত্র HTTP সার্ভিস প্রদান করে, তাই রিমোট বা পাবলিক এক্সপোজারের জন্য একটি রিভার্স প্রক্সি বা টানেলের মাধ্যমে TLS টার্মিনেট করা উচিত, যার বিস্তারিত ডেপ্লয়মেন্ট উদাহরণ একটি আলাদা ডকুমেন্টেশন ফাইলে রয়েছে। প্রজেক্টটি AGPL-3.0-only লাইসেন্সের অধীনে এবং বর্ণিত রিপোজিটরিটি একটি GitLab প্রজেক্টের GitHub মিরর। ডকুমেন্টেশনের স্ক্রিনশটগুলোতে ডেস্কটপ এবং মোবাইলে ইন্টারফেসটি দেখানো হয়েছে, যার মধ্যে সাইডবার, থ্রেড এবং কোড এডিটর ভিউ অন্তর্ভুক্ত।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.