Skip to main content

ऑफ़लाइन परिनियोजन संस्करण

लक्षित पाठक: परिनियोजन के लिए ज़िम्मेदार IT एडमिनिस्ट्रेटर या तकनीकी प्रभारी। सामान्य उपयोगकर्ताओं को बस एडमिन द्वारा परिनियोजित इंट्रानेट पता खोलना है — उन्हें यह दस्तावेज़ पढ़ने की आवश्यकता नहीं है।

उपयुक्त परिदृश्य: एयर-गैप्ड BFSI नेटवर्क (बैंक, NBFC, बीमा), रक्षा एवं रक्षा PSU प्रतिष्ठान, केंद्र/राज्य सरकारी NIC इंट्रानेट, सार्वजनिक उपक्रम (PSU) के सुरक्षित परिसर, IT सेवा कंपनियों (TCS, Infosys, Wipro आदि) के क्लाइंट-आइसोलेटेड डिलीवरी सेंटर, अनुसंधान संस्थान, अस्पताल HMS नेटवर्क और शैक्षणिक परिसर — जहाँ इंटरनेट तक पहुँच संभव नहीं है या प्रतिबंधित है

कोई बैकएंड नहीं, कोई पंजीकरण नहीं — सारा डेटा ब्राउज़र के लोकल स्टोरेज में रहता है। परिनियोजन के बाद इंट्रानेट की टीम बस ब्राउज़र खोलकर इसका उपयोग कर सकती है।

टीम के लिए उपयोग का तरीका

ऑफ़लाइन संस्करण एक शुद्ध स्टैटिक वेबसाइट है। इंट्रानेट सर्वर पर परिनियोजित करने के बाद, सदस्य ब्राउज़र से इंट्रानेट पता खोलकर इसका उपयोग कर सकते हैं:

  1. एडमिनिस्ट्रेटर ऑफ़लाइन संस्करण को इंट्रानेट सर्वर पर परिनियोजित करते हैं (जैसे http://192.168.1.100:3000)
  2. टीम के सदस्य ब्राउज़र से वह पता खोलते हैं और प्रॉम्प्ट ब्राउज़, खोज तथा कॉपी कर सकते हैं
  3. प्रत्येक सदस्य के पसंदीदा (favourites) और स्वयं-निर्मित प्रॉम्प्ट उनके अपने ब्राउज़र में सहेजे जाते हैं — एक-दूसरे से अप्रभावित
  4. किसी खाते के पंजीकरण की आवश्यकता नहीं, किसी सॉफ़्टवेयर की स्थापना की आवश्यकता नहीं — खोलें और उपयोग करें

ऑफ़लाइन संस्करण की डेटा संरचना: एक इंट्रानेट सर्वर एक साझा केवल-पठनीय प्रॉम्प्ट लाइब्रेरी होस्ट करता है; प्रत्येक उपयोगकर्ता के पसंदीदा, प्रॉम्प्ट, क्रम और टैग उनके अपने ब्राउज़र के localStorage में रहते हैं — स्वतंत्र, बिना किसी खाते के

सुझाव

प्रॉम्प्ट लाइब्रेरी (चयनित प्रॉम्प्ट) बिल्ड के समय पैकेज किया गया स्टैटिक डेटा है, जो सभी उपयोगकर्ताओं को एक समान दिखाई देता है। प्रत्येक उपयोगकर्ता के पसंदीदा, स्वयं-निर्मित प्रॉम्प्ट, क्रम और टैग उनके अपने ब्राउज़र के localStorage में सहेजे जाते हैं और एक-दूसरे से स्वतंत्र होते हैं।

ऑनलाइन संस्करण से अंतर

विशेषताऑनलाइन संस्करणऑफ़लाइन संस्करण
प्रॉम्प्ट ब्राउज़/खोज/फ़िल्टर
प्रॉम्प्ट कॉपी
पसंदीदा प्रबंधनसर्वर स्टोरेजब्राउज़र लोकल स्टोरेज
कस्टम प्रॉम्प्टसर्वर स्टोरेजब्राउज़र लोकल स्टोरेज
मेरा संग्रह (ड्रैग सॉर्टिंग, टैग)
बहुभाषा समर्थन (18 भाषाएँ)
डेटा इम्पोर्ट/एक्सपोर्ट✅ (फ़ॉर्मेट संगत)
प्रॉम्प्ट विवरण पृष्ठ✅ (स्टैटिक डेटा, टिप्पणियाँ नहीं)
उपयोगकर्ता पंजीकरण/लॉगिन❌ (खाते की आवश्यकता नहीं)
समुदाय प्रॉम्प्ट सूची/वोटिंग
टिप्पणी और प्रतिक्रिया

डेटा स्टोरेज

प्रत्येक उपयोगकर्ता का डेटा उनके अपने ब्राउज़र के localStorage में सहेजा जाता है, सर्वर से कोई संबंध नहीं:

डेटास्टोरेज की (key)विवरण
पसंदीदा सूचीlocal_favoritesसंग्रहित प्रॉम्प्ट IDs का ऐरे
स्वयं-निर्मित प्रॉम्प्टlocal_user_promptsउपयोगकर्ता द्वारा बनाए गए प्रॉम्प्ट का डेटा
क्रम (sort order)local_myspace_orderमेरे संग्रह में कार्डों का क्रम
कस्टम टैगlocal_custom_tagsटैग की परिभाषा और असाइनमेंट संबंध
ध्यान दें
  • ब्राउज़र लोकल स्टोरेज की क्षमता लगभग 5MB तक सीमित है — रोज़मर्रा के उपयोग के लिए पर्याप्त है।
  • ब्राउज़र डेटा साफ़ करने पर व्यक्तिगत डेटा खो जाएगा — "मेरा खाता → डेटा प्रबंधन → निर्यात" से नियमित बैकअप लेने की अनुशंसा की जाती है।
  • कंप्यूटर या ब्राउज़र बदलने पर डेटा पुनः इम्पोर्ट करना होगा।

परिनियोजन

ऑफ़लाइन संस्करण offline ब्रांच पर आधारित है। एडमिनिस्ट्रेटर द्वारा एक बार परिनियोजन पूरा होने के बाद, टीम के सदस्यों को कोई कार्यवाही करने की आवश्यकता नहीं है।

Docker परिनियोजन (अनुशंसित)

सबसे सरल परिनियोजन विधि — इंट्रानेट सर्वर पर एक ही कमांड से चलाएँ:

# प्री-बिल्ट ऑफ़लाइन इमेज का उपयोग करें
docker run -d -p 3000:3000 --name aishort-offline ghcr.io/rockbenben/chatgpt-shortcut:offline

# या Docker Hub से
docker run -d -p 3000:3000 --name aishort-offline rockben/chatgpt-shortcut:offline

परिनियोजन के बाद टीम के सदस्य http://<सर्वर-IP>:3000 पर पहुँचकर इसका उपयोग कर सकते हैं।

docker-compose का उपयोग करते हुए:

services:
aishort-offline:
container_name: aishort-offline
image: ghcr.io/rockbenben/chatgpt-shortcut:offline
ports:
- "3000:3000"
restart: unless-stopped

सोर्स कोड से बिल्ड

यदि प्रॉम्प्ट सामग्री को कस्टमाइज़ करना है या कॉन्फ़िगरेशन बदलना है:

# ऑफ़लाइन ब्रांच क्लोन करें
git clone -b offline https://github.com/rockbenben/ChatGPT-Shortcut.git
cd ChatGPT-Shortcut

# डिपेंडेंसी इंस्टॉल करें
yarn

# लोकल डेवलपमेंट
yarn start

# एकल-भाषा संस्करण बिल्ड करें (हिंदी)
yarn build --locale hi

# सभी भाषाओं को बिल्ड करें
yarn build

बिल्ड का आउटपुट build/ डायरेक्टरी में होता है, जिसे किसी भी स्टैटिक फ़ाइल सर्वर (Nginx, Apache, Caddy आदि) पर परिनियोजित किया जा सकता है।

Nginx कॉन्फ़िगरेशन उदाहरण

server {
listen 3000;
server_name _;
root /path/to/build;
index index.html;

location / {
try_files $uri $uri/ /index.html;
}
}

प्लेटफ़ॉर्म परिनियोजन

Vercel, Cloudflare Pages जैसे प्लेटफ़ॉर्म पर परिनियोजन करते समय offline ब्रांच का चयन करें — बाकी चरण ऑनलाइन संस्करण के समान हैं, विवरण के लिए प्रोजेक्ट परिनियोजन देखें।

डेटा इम्पोर्ट/एक्सपोर्ट

एक्सपोर्ट

"मेरा खाता → डेटा प्रबंधन → निर्यात" पर जाएँ और व्यक्तिगत पसंदीदा तथा स्वयं-निर्मित प्रॉम्प्ट को JSON फ़ाइल के रूप में एक्सपोर्ट करें।

इम्पोर्ट

निम्नलिखित फ़ॉर्मेट की JSON फ़ाइलें इम्पोर्ट करने का समर्थन है:

  • ऑफ़लाइन संस्करण से निर्यात की गई फ़ाइलें: पसंदीदा, प्रॉम्प्ट, क्रम और टैग पूरी तरह से बहाल हो जाते हैं
  • ऑनलाइन संस्करण से निर्यात की गई फ़ाइलें: स्वचालित रूप से संगत प्रोसेसिंग
    • उपयोगकर्ता प्रॉम्प्ट → लोकल में मर्ज (शीर्षक के आधार पर डुप्लिकेट हटाते हुए)
    • चयनित पसंदीदा (card) → लोकल पसंदीदा में मर्ज
    • समुदाय पसंदीदा (community) → स्वचालित रूप से लोकल स्वयं-निर्मित प्रॉम्प्ट में परिवर्तित
    • MySpace क्रम → लोकल में बहाल
    • कस्टम टैग → मौजूदा को अधिलेखित किए बिना जोड़ा जाता है

ऑनलाइन संस्करण से माइग्रेशन

  1. ऑनलाइन संस्करण (aishort.top) के "मेरा खाता" पृष्ठ से डेटा निर्यात करें
  2. ऑफ़लाइन संस्करण के "मेरा खाता → डेटा प्रबंधन → आयात" में उस JSON फ़ाइल को इम्पोर्ट करें
  3. समुदाय पसंदीदा स्वचालित रूप से लोकल प्रॉम्प्ट में बदल जाते हैं, चयनित पसंदीदा सामान्य रूप से सिंक हो जाते हैं

सामान्य प्रश्न

परिनियोजन के बाद टीम इसका उपयोग कैसे करे?

एडमिनिस्ट्रेटर द्वारा इंट्रानेट सर्वर पर परिनियोजित करने के बाद, टीम के सदस्यों को पहुँच पता (जैसे http://192.168.1.100:3000) बताएँ। प्रत्येक सदस्य ब्राउज़र से इसे खोल सकता है — किसी इंस्टॉलेशन या पंजीकरण की आवश्यकता नहीं।

क्या प्रत्येक सदस्य का डेटा एक-दूसरे को प्रभावित करेगा?

नहीं। प्रत्येक सदस्य के पसंदीदा और स्वयं-निर्मित प्रॉम्प्ट उनके अपने ब्राउज़र के localStorage में सहेजे जाते हैं और पूरी तरह से स्वतंत्र हैं। सर्वर पर केवल साझा प्रॉम्प्ट लाइब्रेरी (केवल-पठनीय) होती है।

क्या डेटा खो सकता है?

निम्नलिखित कार्यवाहियों से व्यक्तिगत डेटा खो सकता है:

  • ब्राउज़र डेटा/कैश साफ़ करना
  • प्राइवेट/इनकॉग्निटो मोड में ब्राउज़ करना
  • कंप्यूटर या ब्राउज़र बदलना

महत्वपूर्ण डेटा का "मेरा खाता → डेटा प्रबंधन → निर्यात" के माध्यम से JSON फ़ाइल के रूप में नियमित बैकअप लेने की अनुशंसा की जाती है।

क्या टीम के सदस्यों के बीच स्वयं-निर्मित प्रॉम्प्ट साझा किए जा सकते हैं?

हाँ। एक सदस्य JSON फ़ाइल एक्सपोर्ट करे और अन्य सदस्य "मेरा खाता → डेटा प्रबंधन → आयात" से इम्पोर्ट कर लें — डुप्लिकेट स्वचालित रूप से हट जाते हैं।

प्रॉम्प्ट लाइब्रेरी को अपडेट कैसे करें?

प्रॉम्प्ट लाइब्रेरी बिल्ड के समय पैकेज किया गया स्टैटिक डेटा है। अपडेट का तरीका:

  1. एडमिनिस्ट्रेटर नवीनतम offline ब्रांच का कोड पुल करें
  2. पुनः बिल्ड करें और परिनियोजित करें (या नवीनतम Docker इमेज पुल करें)
  3. टीम के सदस्य ब्राउज़र रीफ़्रेश करके नई सामग्री देख सकते हैं (व्यक्तिगत डेटा प्रभावित नहीं होता)

क्या ऑफ़लाइन संस्करण का डेटा फ़ॉर्मेट ऑनलाइन संस्करण के साथ संगत है?

संगत है। एक्सपोर्ट की गई JSON का फ़ॉर्मेट समान है और दोनों संस्करणों के बीच परस्पर इम्पोर्ट किया जा सकता है। प्रॉम्प्ट IDs अलग होती हैं (ऑनलाइन संस्करण सर्वर ID का उपयोग करता है, ऑफ़लाइन संस्करण टाइमस्टैम्प ID का), लेकिन इम्पोर्ट शीर्षक के आधार पर डुप्लिकेट हटाता है — कोई टकराव नहीं होगा।