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

प्रॉम्प्ट सेव रीयूज़ Chrome और Edge के लिए एक Manifest V3 ब्राउज़र एक्सटेंशन है जो AI चैट कंपोज़र में आपके द्वारा टाइप किए गए टेक्स्ट को संग्रहीत करता है और जब आप चाहें तो उसे वापस रख देता है। इसका उद्देश्य उन लोगों के लिए है जो चैट सत्रों में समान निर्देशों को दोबारा टाइप या पेस्ट करते हैं और उन्हें रखने के लिए एक-इशारे वाला तरीका चाहते हैं। समर्थित प्लेटफ़ॉर्म (सात): ChatGPT, Gemini, Claude, Perplexity, Grok, Mistral और DeepSeek। इंटरैक्शन मॉडल - कंपोज़र या टूलबार आइकन पर एकल क्लिक: इस वार्तालाप URL के लिए वर्तमान कंपोज़र टेक्स्ट सहेजता है। यदि कंपोज़र खाली है, तो यह उस URL के लिए सहेजे गए टेक्स्ट को पुनर्स्थापित करता है। - कंपोज़र या टूलबार आइकन पर डबल क्लिक: सहेजे गए टेक्स्ट को वर्तमान कंपोज़र सामग्री के नीचे, एक खाली पंक्ति से अलग करके जोड़ता है। - टूलबार आइकन पर राइट क्लिक: सभी सहेजे गए डेटा को साफ़ करने, उपयोगकर्ता गाइड खोलने, डेवलपर प्रोफ़ाइल खोलने के लिए संदर्भ मेनू। - कीबोर्ड शॉर्टकट: सहेजने के लिए Ctrl+Shift+1, जोड़ने के लिए Ctrl+Shift+2। कोई पॉपअप या साइड पैनल नहीं है; पूरा इंटरफ़ेस कंपोज़र और टूलबार बटन है। सहेजा गया टेक्स्ट chrome.storage.sync में रखा जाता है, इसलिए यह उपकरणों में ब्राउज़र प्रोफ़ाइल का अनुसरण करता है। स्थापना - README में Chrome वेब स्टोर और Microsoft Edge ऐड-ऑन सूचियों के लिंक दिए गए हैं। - स्रोत से: रिपॉजिटरी क्लोन करें, chrome://extensions खोलें, डेवलपर मोड सक्षम करें, Load unpacked पर क्लिक करें और रिपॉजिटरी फ़ोल्डर चुनें। कोई बिल्ड स्टेप या निर्भरता नहीं है; स्टैक सादा जावास्क्रिप्ट है। अनुमतियाँ और गोपनीयता - storage: chrome.storage.sync में वार्तालाप URL द्वारा कुंजीबद्ध प्रॉम्प्ट सहेजें। - activeTab: वर्तमान में उपयोग में आने वाले चैट टैब पर कार्य करें। - scripting: शॉर्टकट और टूलबार आइकन के लिए उस टैब में सेव और अपेंड फ़ंक्शन चलाएँ। - contextMenus: टूलबार आइकन पर राइट-क्लिक मेनू प्रदान करें। README में कहा गया है कि सात मिलान वाले चैट डोमेन के अलावा कोई होस्ट अनुमति नहीं है, एक्सटेंशन का अपना कोई नेटवर्क अनुरोध नहीं है, और कोई एनालिटिक्स नहीं है। लेखक द्वारा वर्णित उल्लेखनीय इंजीनियरिंग विवरण - एक लक्ष्य पर दो इशारे बिना पॉपअप के: क्योंकि ब्राउज़रों में टूलबार क्रिया के लिए कोई मूल डबल-क्लिक इवेंट नहीं होता है, background.js और content.js प्रत्येक 300 ms टाइमर रखते हैं। पहला क्लिक सिंगल-क्लिक हैंडलर को शेड्यूल करता है; विंडो के भीतर दूसरा क्लिक इसे रद्द करता है और डबल-क्लिक हैंडलर चलाता है। बताया गया परिणाम यह है कि हर सिंगल-क्लिक क्रिया जानबूझकर 300 ms विलंबित होती है। - सात चैट UI में एक सम्मिलन पथ: findInputField() प्रति-साइट शाखाओं के बजाय एक क्रमबद्ध सेलेक्टर कैस्केड है, जो ProseMirror contenteditable, ChatGPT के #prompt-textarea, एक Quill .ql-editor, Perplexity के #ask-input और DeepSeek के प्लेसहोल्डर-मिलान वाले textarea को कवर करता है। insertText() तीन तरह से शाखाएँ करता है क्योंकि फ्रेमवर्क-नियंत्रित इनपुट सीधे .value असाइनमेंट को अधिलेखित करते हैं: प्रोटोटाइप मूल वैल्यू सेटर और textarea और input के लिए एक भेजा गया इनपुट इवेंट, Lexical संपादकों के लिए document.execCommand("insertText"), और अन्य contenteditable कंपोज़र के लिए innerHTML और एक इनपुट इवेंट। - कंटेंट स्क्रिप्ट चलने पर कंपोज़र मौजूद नहीं होता है: सभी सात साइटें सिंगल-पेज ऐप हैं और इनपुट बाद में माउंट होता है और नेविगेशन पर फिर से माउंट होता है, इसलिए एक MutationObserver इसे देखता है और लिसनर को फिर से जोड़ता है। - URL द्वारा कुंजीबद्ध संग्रहण: chrome.storage.sync में प्रति वार्तालाप एक सहेजा गया प्रॉम्प्ट, स्थानीय के बजाय, ताकि यह ब्राउज़र प्रोफ़ाइल का अनुसरण करे; व्यापार-बंद सिंक कोटा है, जहां एक लंबा प्रॉम्प्ट सहेजा नहीं जाएगा। README में बताई गई ज्ञात सीमाएँ - सेलेक्टर नाजुक हिस्सा हैं: जब कोई प्लेटफ़ॉर्म नया कंपोज़र जारी करता है, तो findInputField() मिलान बंद कर देता है और सेलेक्टर सूची अपडेट होने तक एक्सटेंशन उस साइट पर शांत हो जाता है। - असफल सेव मौन है; यदि कोई इनपुट फ़ील्ड नहीं मिलती है, तो कुछ भी उपयोगकर्ता को नहीं बताता (मुद्दा #13 में ट्रैक किया गया)। - chrome.storage.sync में कोटा है; एक लंबा प्रॉम्प्ट प्रति-आइटम आकार सीमा से अधिक हो जाता है और सहेजा नहीं जाता है। - सिंगल-क्लिक क्रियाओं में डिज़ाइन द्वारा 300 ms विलंब होता है। - कोई स्वचालित परीक्षण नहीं (मुद्दों #8 और #9 में ट्रैक किया गया)। - प्रति URL एक प्रॉम्प्ट: कोई नामित प्रॉम्प्ट लाइब्रेरी नहीं है, और फिर से सहेजना अधिलेखित करता है। परियोजना स्थिति और योगदान - Chrome वेब स्टोर सूची संस्करण 3.0 पर लाइव है; Edge ऐड-ऑन सूची लाइव है। - योगदान खुले हैं, जिनमें good first issue और hacktoberfest लेबल वाले मुद्दे हैं; CONTRIBUTING.md और CODE_OF_CONDUCT.md संदर्भित हैं। परीक्षण मार्गदर्शन अनपैक्ड एक्सटेंशन लोड करना और सात समर्थित साइटों में से कम से कम एक पर परिवर्तन का अभ्यास करना है। - संपर्क GitHub मुद्दों या LinkedIn (linkedin.com/in/atj393) के माध्यम से है। लाइसेंस एक कस्टम लाइसेंस, MIT नहीं। README इसे इस परियोजना में योगदान करने के उद्देश्य से परिवर्तनों का उपयोग, संशोधन और प्रकाशित करने का अधिकार देने के रूप में सारांशित करता है, जिसमें व्युत्पन्न कार्यों को समान शर्तों को बनाए रखने की आवश्यकता होती है, और स्पष्ट रूप से निजी उपयोग, व्यावसायिक उपयोग, उप-लाइसेंसिंग और सॉफ़्टवेयर को बिना संशोधन के पुनर्वितरण को प्रतिबंधित करता है। पूरा पाठ लाइसेंस फ़ाइल में है।