इस प्रोजेक्ट के बारे में

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` चलाकर प्रलेखित है। उत्पादन बिल्ड पोर्ट 3000 पर `pnpm run build` और `pnpm run start` का उपयोग करते हैं, जिसमें प्रमाणीकरण कुकीज़ के लिए `APP_URL` सेट होता है। डेवलपर दस्तावेज़ीकरण CONTRIBUTING.md में संदर्भित है।