परियोजना तैनाती
कॉन्फ़िगरेशन और अनुकूलन
AI Short एक ओपन-सोर्स प्रोजेक्ट है, जो आपको अपनी आवश्यकताओं के अनुसार साइट के शीर्षक, विवरण और प्रॉम्प्ट को संशोधित करने की अनुमति देता है। नीचे सामान्य संशोधन विकल्प और निर्देश दिए गए हैं:
-
साइट का शीर्षक और विवरण संशोधित करें साइट के शीर्षक और विवरण को बदलने के लिए, कृपया
docusaurus.config.jsकॉन्फ़िगरेशन फ़ाइल को संपादित करें। -
परियोजना निर्देश और परिचय संशोधित करें परियोजना के उपयोग निर्देश और परिचय फ़ाइलें
docsनिर्देशिका में स्थित हैं। आवश्यक परिवर्तन करने के लिए इस निर्देशिका में संबंधित फ़ाइलें खोलें। -
होमपेज प्रॉम्प्ट संशोधित करें होमपेज प्रॉम्प्ट
src/data/prompt.jsonफ़ाइल में संग्रहीत हैं। यदि आपको किसी विशिष्ट भाषा (जैसे हिंदी) के लिए प्रॉम्प्ट संशोधित करने की आवश्यकता है, तो आप सीधेsrc/data/prompt_hi.jsonफ़ाइल को संपादित कर सकते हैं। नए प्रॉम्प्ट जोड़ते समय, प्रारूप इस प्रकार है:{
"hi": {
"title": "custom prompt",
"prompt": "custom prompt",
"description": "custom description",
"remark": "custom mark"
},
"website": null,
"tags": ["music"],
"id": 500,
"weight": 1
}नोट:
idको 500 से ऊपर सेट करने की अनुशंसा की जाती है। नए प्रॉम्प्ट का अपना समर्पित पृष्ठ और टिप्पणी अनुभाग नहीं होगा। यदि आपको प्रॉम्प्ट के लिए एक समर्पित पृष्ठ जोड़ने की आवश्यकता है, तो आपsrc/data/pages/promptनिर्देशिका में टेम्पलेट फ़ाइल को कॉपी और संशोधित कर सकते हैं। -
कस्टम बैकएंड वर्तमान प्रोजेक्ट एक साझा बैकएंड सिस्टम से जुड़ा हुआ है। यदि आप अपना स्वयं का बैकएंड स्थापित करना चाहते हैं, तो कृपया
src/apiफ़ोल्डर में इंटरफ़ेस निर्देश देखें।API मॉड्यूल संरचना:
src/api/
├── index.ts # एकीकृत निर्यात प्रविष्टि
├── config.ts # API URL कॉन्फ़िगरेशन
├── client.ts # Axios क्लाइंट (प्रमाणीकरण इंटरसेप्टर के साथ)
├── auth.ts # प्रमाणीकरण API (लॉगिन/रजिस्टर/OAuth)
├── prompts.ts # प्रॉम्प्ट CRUD + खोज + वोटिंग
├── favorites.ts # पसंदीदा संचालन
├── myspace.ts # मेरा स्पेस डेटा (कोर डेटा स्रोत)
├── comments.ts # टिप्पणी प्रणाली
└── user.ts # उपयोगकर्ता जानकारीकैशिंग तंत्र: प्रोजेक्ट बुद्धिमान कैशिंग के लिए ETag के साथ संयुक्त
lscacheका उपयोग करता है। जब सर्वर 304 Not Modified लौटाता है, तो स्थानीय कैश डेटा का सीधे पुन: उपयोग किया जाता है, जिससे डेटा ट्रांसमिशन कम हो जाता है। -
बहु-भाषा समर्थन और तैनाती बहु-भाषा संशोधन पूरा करने के बाद, आप बैच प्रोसेसिंग के लिए
CodeUpdateHandler.pyस्क्रिप्ट का उपयोग कर सकते हैं। निम्नलिखित कमांड चलाएँ:python CodeUpdateHandler.pyयह स्क्रिप्ट पूर्वनिर्धारित नियमों के अनुसार
prompt.jsonफ़ाइल को विभाजित करेगी और प्रत्येक भाषा संस्करण के लिए मुख्य पृष्ठ और विशेष रुप से प्रदर्शित प्रॉम्प्ट पृष्ठों के अपडेट सिंक करेगी।
तैनाती निर्देश
सिस्टम आवश्यकताएँ:
- Node.js 20.0 या बाद का संस्करण।
- macOS, Windows (WSL सहित), और Linux समर्थित हैं।
स्थानीय तैनाती
सुनिश्चित करें कि आपने Node.js स्थापित किया है।
# स्थापना
yarn
# स्थानीय विकास
yarn start
# बिल्ड: यह कमांड `build` निर्देशिका में स्थिर सामग्री उत्पन्न करता है
yarn build
# `docusaurus.config.js` फ़ाइल में `defaultLocale` को अपडेट करें, फिर वांछित भाषा के लिए बिल्ड करें।
yarn build --locale zh
yarn build --locale en
yarn build --locale ja
yarn build --locale ko
yarn build --locale es
yarn build --locale fr
yarn build --locale de
yarn build --locale it
yarn build --locale ru
yarn build --locale pt
yarn build --locale hi
yarn build --locale ar
yarn build --locale bn
# कई भाषाओं के लिए तैनात करें
yarn build --locale zh && yarn build --locale en
Vercel तैनाती
ChatGPT-Shortcut को Vercel प्लेटफ़ॉर्म पर एक क्लिक में तैनात करने के लिए नीचे दिए गए बटन पर क्लिक करें:
नोट: Vercel का मुफ़्त संस्करण अपर्याप्त मेमोरी के कारण विफल हो सकता है। यदि आप इस स्थिति का सामना करते हैं, तो आप एकल-भाषा तैनाती चुन सकते हैं। विशिष्ट ऑपरेशन इस प्रकार हैं:
- अभी तैनात Vercel प्रोजेक्ट में प्रवेश करें और Settings खोलें।
- Build & Deployment अनुभाग में, Build Command खोजें, और दाईं ओर Override पर क्लिक करें।
- तैनाती कमांड को संशोधित करें। उदाहरण के लिए, यदि आपको चीनी संस्करण तैनात करने की आवश्यकता है, तो
yarn build --locale zhका उपयोग करें; यदि आपको हिंदी संस्करण तैनात करने की आवश्यकता है, तोyarn build --locale hiका उपयोग करें।
Cloudflare Pages तैनाती
नीचे दिए गए बटन या लिंक पर क्लिक करें, इस प्रोजेक्ट को Fork करें, और Cloudflare Pages पर तैनात करने के लिए निर्देशों का पालन करें:
तैनाती के चरण:
- Cloudflare Pages में लॉग इन करें, और "Create a project" चुनें।
- उस रिपॉजिटरी को बाइंड करें जिसे आपने अभी Fork किया है।
- बिल्ड कमांड कॉन्फ़िगर करें:
- Build command:
yarn build --locale zh(तैनात की जाने वाली भाषा के अनुसार उपयुक्त locale चुनें, उदाहरण के लिए: हिंदी के लिएyarn build --locale hiका उपयोग करें)। - Output directory:
build।
- Build command:
- Deploy पर क्लिक करें, और Cloudflare Pages द्वारा बिल्ड और तैनाती पूरी होने की प्रतीक्षा करें।
Cloudflare Pages हर बार जब आप नया कोड पुश करते हैं तो स्वचालित रूप से बिल्ड और तैनाती को ट्रिगर करेगा।
Docker तैनाती
यदि आप Docker से परिचित हैं, तो आप निम्नलिखित कमांड का उपयोग करके जल्दी से तैनात कर सकते हैं:
# ghcr.io
docker run -d -p 3000:3000 --name chatgpt-shortcut ghcr.io/rockbenben/chatgpt-shortcut:latest
# docker hub
docker run -d -p 3000:3000 --name chatgpt-shortcut rockben/chatgpt-shortcut:latest
या, आप docker-compose का उपयोग कर सकते हैं:
services:
chatgpt-shortcut:
container_name: chatgpt-shortcut
image: ghcr.io/rockbenben/chatgpt-shortcut:latest
ports:
- "3000:3000"
restart: unless-stopped
स्वचालित अपडेट सक्षम करें
यदि आपने Vercel पर एक क्लिक के साथ अपना प्रोजेक्ट तैनात किया है, तो आपको एक समस्या का सामना करना पड़ सकता है जहाँ यह हमेशा इंगित करता है कि अपडेट उपलब्ध हैं। ऐसा इसलिए है क्योंकि Vercel डिफ़ॉल्ट रूप से आपके लिए एक नया प्रोजेक्ट बनाता है, बजाय इसके कि इस प्रोजेक्ट को fork करे, जो अपडेट का सही पता लगाने से रोकता है। इन चरणों का पालन करके पुनः तैनात करने की अनुशंसा की जाती है:
- मूल रिपॉजिटरी को हटा दें;
- इस प्रोजेक्ट को fork करने के लिए पृष्ठ के ऊपरी दाएँ कोने में fork बटन का उपयोग करें;
- Vercel नया प्रोजेक्ट पृष्ठ पर Import Git Repository अनुभाग में उस प्रोजेक्ट को फिर से चुनें जिसे आपने अभी fork किया है और तैनात करें।
स्वचालित अपडेट चालू करें
यदि आपको Upstream Sync निष्पादन त्रुटि का सामना करना पड़ता है, तो कृपया मैन्युअल रूप से एक बार Sync Fork निष्पादित करें!
प्रोजेक्ट को fork करने के बाद, GitHub प्रतिबंधों के कारण, आपको अपने fork किए गए प्रोजेक्ट के Actions पृष्ठ पर मैन्युअल रूप से Workflows को सक्षम करना होगा, और Upstream Sync Action को सक्षम करना होगा। एक बार सक्षम होने पर, अपडेट हर दिन स्वचालित रूप से निष्पादित होंगे:


मैन्युअल कोड अपडेट
यदि आप मैन्युअल रूप से तुरंत अपडेट करना चाहते हैं, तो आप GitHub दस्तावेज़ देख सकते हैं कि fork किए गए प्रोजेक्ट को अपस्ट्रीम कोड के साथ कैसे सिंक किया जाए।
आप इस प्रोजेक्ट को स्टार/वॉच कर सकते हैं, या समय पर नई सुविधा अपडेट सूचनाएं प्राप्त करने के लिए लेखक का अनुसरण कर सकते हैं।