প্রকল্প সম্পর্কে

Charon একটি স্ব-হোস্টেড ওয়েব অ্যাপ্লিকেশন যা AI চরিত্রের সাথে রোলপ্লে করার জন্য তৈরি। লেখক এটিকে Chub, SillyTavern এবং অন্যান্য টুলের বৈশিষ্ট্যের সংমিশ্রণ হিসেবে বর্ণনা করেছেন। এটি ক্লাউড পরিষেবার পরিবর্তে ব্যবহারকারীর ডেটা স্থানীয়ভাবে রাখার জন্য ডিজাইন করা হয়েছে। README-তে বর্ণিত মূল ক্ষমতাগুলি: - শাখা-প্রশাখা কথোপকথন: AI উত্তরের প্রতিটি সোয়াইপ একটি নতুন শাখা তৈরি করে, তাই ব্যবহারকারীরা বিকল্পগুলির মধ্যে নেভিগেট করতে পারেন, বার্তাগুলি ইনলাইন সম্পাদনা করতে পারেন এবং পূর্ববর্তী উত্তর হারানো এড়াতে পারেন। - চরিত্র কার্ড V2 এবং V3: SillyTavern, Chub বা অন্যান্য উৎস থেকে `.png` চরিত্র কার্ড রূপান্তর ছাড়াই আমদানি করে। - নিজস্ব API কী আনুন: OpenAI-সামঞ্জস্যপূর্ণ প্রদানকারীদের সাথে কাজ করে যেমন OpenAI, প্রক্সির মাধ্যমে Anthropic, OpenRouter, Ollama এবং vLLM। কীগুলি বিশ্রামে এনক্রিপ্ট করা বলে বর্ণনা করা হয়েছে। - লোরবুক: পটভূমির লোর একটি চ্যাটের সাথে সংযুক্ত করা যেতে পারে, এবং অ্যাপটি AI-এর জন্য প্রাসঙ্গিক এন্ট্রিগুলি স্বয়ংক্রিয়ভাবে নির্বাচন করে। - পার্সোনা: একাধিক পার্সোনা সংজ্ঞায়িত করা যায় এবং প্রতি চ্যাটে পরিবর্তন করা যায়। - মার্কডাউন রেন্ডারিং: বোল্ড, ইটালিক, কোড ব্লক, ছবি, `<style>` স্কোপিং এবং সংলাপ হাইলাইটিং সমর্থন করে, স্ট্রিমিং-নিরাপদ ফেড-ইন সহ। - স্ব-হোস্টিং: ডেটা একটি স্থানীয় SQLite ফাইলে সংরক্ষণ করা হয়, ক্লাউড নির্ভরতা, টেলিমেট্রি বা ব্যবহারকারীর নিজের বাইরে বাহ্যিক অ্যাকাউন্ট ছাড়া। ডিপ্লয়মেন্ট বিকল্পগুলির মধ্যে রয়েছে `docker compose up -d` এর মাধ্যমে Docker (ডেটা একটি `charon-data` ভলিউমে সংরক্ষিত) বা pnpm-ভিত্তিক ডেভেলপমেন্ট সেটআপ। প্রয়োজনীয় পরিবেশ ভেরিয়েবলগুলির মধ্যে `BETTER_AUTH_SECRET` এবং `ENCRYPTION_KEY` অন্তর্ভুক্ত, উদাহরণ জেনারেশন কমান্ড `openssl rand` ব্যবহার করে। প্রথম শুরুতে মাইগ্রেশন স্বয়ংক্রিয়ভাবে চলে বলে বলা হয়েছে। পুরানো ডেটাবেসের জন্য একটি আপগ্রেড পথ একটি একক অ্যাডমিন অ্যাকাউন্টে মাইগ্রেট করে, `pnpm migrate:single-user` ব্যবহার করে নথিভুক্ত ব্যাকআপ এবং পুনরুদ্ধার পদ্ধতি সহ। প্রথমবার সেটআপে একটি অ্যাকাউন্ট তৈরি করা, একটি AI প্রদানকারী সংযোগ করতে এবং একটি চরিত্র পেতে একটি অনবোর্ডিং উইজার্ডের মধ্য দিয়ে যাওয়া, তারপর একটি চ্যাট শুরু করা জড়িত। চরিত্রগুলি বান্ডিল করা হয় না; ব্যবহারকারীদের Chub বা একটি SillyTavern `public/characters/` ফোল্ডারে নির্দেশিত করা হয়। চ্যাট নিয়ন্ত্রণের মধ্যে রয়েছে পাঠান, নতুন লাইন, সোয়াইপ, পুনরায় তৈরি, সম্পাদনা, অনুকরণ, চালিয়ে যান, শাখা মুছুন এবং একটি Ctrl+K কমান্ড মেনু। একটি SillyTavern আমদানি পথ ডেটা `public/data/`-এ কপি করে এবং `pnpm run migrate` চালানোর মাধ্যমে নথিভুক্ত। প্রোডাকশন বিল্ড `pnpm run build` এবং `pnpm run start` পোর্ট 3000-এ ব্যবহার করে, অথ কুকিজের জন্য `APP_URL` সেট করা থাকে। ডেভেলপার ডকুমেন্টেশন CONTRIBUTING.md-এ উল্লেখ করা হয়েছে।