---
sidebar_label: ऑफ़लाइन संस्करण (एंटरप्राइज़ इंट्रानेट)
title: AI Short ऑफ़लाइन परिनियोजन | एंटरप्राइज़ इंट्रानेट, बाहरी सर्वर की आवश्यकता नहीं
description: AI Short ऑफ़लाइन संस्करण उन एंटरप्राइज़ और टीमों के लिए डिज़ाइन किया गया है जिनके पास इंटरनेट तक पहुँच नहीं है। कोई बैकएंड सर्वर नहीं, खाता पंजीकरण नहीं, सारा डेटा ब्राउज़र के लोकल स्टोरेज में — आउट-ऑफ़-द-बॉक्स तैयार।
---

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

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

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

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

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

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

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

```
इंट्रानेट सर्वर (ऑफ़लाइन संस्करण परिनियोजित)
   ├── प्रॉम्प्ट लाइब्रेरी डेटा (सभी के लिए साझा, स्टैटिक JSON से)
   │
   ├── उपयोगकर्ता A का ब्राउज़र → localStorage (A के पसंदीदा और स्वयं-निर्मित प्रॉम्प्ट)
   ├── उपयोगकर्ता B का ब्राउज़र → localStorage (B के पसंदीदा और स्वयं-निर्मित प्रॉम्प्ट)
   └── उपयोगकर्ता C का ब्राउज़र → localStorage (C के पसंदीदा और स्वयं-निर्मित प्रॉम्प्ट)
```

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

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

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

## डेटा स्टोरेज

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

| डेटा | स्टोरेज की (key) | विवरण |
| ---- | ------ | ---- |
| पसंदीदा सूची | `local_favorites` | संग्रहित प्रॉम्प्ट IDs का ऐरे |
| स्वयं-निर्मित प्रॉम्प्ट | `local_user_prompts` | उपयोगकर्ता द्वारा बनाए गए प्रॉम्प्ट का डेटा |
| क्रम (sort order) | `local_myspace_order` | मेरे संग्रह में कार्डों का क्रम |
| कस्टम टैग | `local_custom_tags` | टैग की परिभाषा और असाइनमेंट संबंध |

:::caution ध्यान दें
- ब्राउज़र लोकल स्टोरेज की क्षमता लगभग 5MB तक सीमित है — रोज़मर्रा के उपयोग के लिए पर्याप्त है।
- ब्राउज़र डेटा साफ़ करने पर व्यक्तिगत डेटा खो जाएगा — "सेटिंग्स > डेटा निर्यात करें" से नियमित बैकअप लेने की अनुशंसा की जाती है।
- कंप्यूटर या ब्राउज़र बदलने पर डेटा पुनः इम्पोर्ट करना होगा।
:::

## परिनियोजन

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

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

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

```bash
# प्री-बिल्ट ऑफ़लाइन इमेज का उपयोग करें
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` का उपयोग करते हुए:

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

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

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

```bash
# ऑफ़लाइन ब्रांच क्लोन करें
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 कॉन्फ़िगरेशन उदाहरण

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

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

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

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

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

### एक्सपोर्ट

"सेटिंग्स > डेटा निर्यात करें" पर जाएँ और व्यक्तिगत पसंदीदा तथा स्वयं-निर्मित प्रॉम्प्ट को 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 का), लेकिन इम्पोर्ट शीर्षक के आधार पर डुप्लिकेट हटाता है — कोई टकराव नहीं होगा।
