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

Otaku एक ओपन-सोर्स LLM फ्रंटएंड है जिसे रोलप्ले के लिए डिज़ाइन किया गया है, जो SillyTavern या Janitor AI के समान है। यह मुफ्त है, macOS, Linux और Windows पर स्थानीय रूप से चलता है, और इसके लिए Docker या डेटाबेस सर्वर जैसे किसी बुनियादी ढांचे की आवश्यकता नहीं है। उपयोगकर्ता वेब UI या टर्मिनल इंटरफेस के माध्यम से बातचीत कर सकते हैं। यह एप्लिकेशन स्थानीय LLM बैकएंड (llama.cpp, KoboldCpp, Ollama, oMLX, LM Studio) और क्लाउड API प्रदाताओं (OpenRouter, NanoGPT, और कोई भी OpenAI-संगत सर्वर) दोनों का समर्थन करता है। इंस्टॉलेशन `uv` पैकेज मैनेजर या Homebrew का उपयोग करके एक कमांड के माध्यम से किया जाता है। मुख्य विशेषताओं में शामिल हैं: - संदर्भ नियंत्रण: पहले 20 और अंतिम 150 संदेशों को यथावत भेजकर सुसंगत गद्य बनाए रखता है। मध्यवर्ती संदेशों को स्वचालित रूप से दृश्यों में विभाजित किया जाता है और लंबे संदर्भों को प्रबंधित करने के लिए संपादन योग्य सारांशों द्वारा प्रतिस्थापित किया जाता है। - चरित्र पहचान: कहानी में पेश किए गए पात्रों को स्वचालित रूप से निकालता है। प्रत्येक पात्र अपने अनुभवों का एक व्यक्तिगत जर्नल रखता है। - लचीले व्यक्तित्व: उपयोगकर्ता किसी भी पात्र के रूप में खेल सकते हैं और LLM को चरित्र भूमिकाओं पर मार्गदर्शन करने के लिए `/me` और `/you` कमांड का उपयोग कर सकते हैं। - पारदर्शी संदर्भ: `/context` कमांड उपयोगकर्ताओं को यह देखने की अनुमति देता है कि LLM को वास्तव में क्या भेजा जा रहा है। - सामग्री आयात करना: SillyTavern चैट, सादे टेक्स्ट फ़ाइलों (टर्न में विभाजित), और कैरेक्टर कार्ड (PNG या JSON) को आयात करने का समर्थन करता है। Lorebooks को सिस्टम संदेश में आयात किया जा सकता है। - कहानी प्रबंधन: उपयोगकर्ता कहानियों को ब्राउज़ कर सकते हैं, किसी भी संदेश से जारी रख सकते हैं, या फोर्क कर सकते हैं। फोर्क करने से सभी दृश्य, पात्र और जर्नल एक नई शाखा में कॉपी हो जाते हैं। - D&D समर्थन: इसमें पासा रोल (जैसे `2d6+3`, `2d20kh1`) के लिए एक `/roll` कमांड शामिल है जो क्रियाओं के साथ परिणाम भेजता है। डेटा स्थानीय रूप से SQLite डेटाबेस में दैनिक स्नैपशॉट के साथ संग्रहीत किया जाता है। रेस्ट पर एन्क्रिप्शन (AES-256-GCM) वैकल्पिक है और इसे कॉन्फ़िगरेशन के माध्यम से सक्षम किया जा सकता है। प्रदाता API कुंजियाँ हमेशा सील करके संग्रहीत की जाती हैं, और कुंजी को OS कीचेन में रखा जाता है। कॉन्फ़िगरेशन फ़ाइलों को संस्करणों के बीच उपयोगकर्ता संपादन को संरक्षित करने के लिए सर्जिकल रूप से प्रबंधित किया जाता है, और `OTAKU_CONFIG_DIR` वेरिएबल का उपयोग करके अलग-अलग वातावरण चलाए जा सकते हैं।