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

dejavu-gates AI कोडिंग एजेंट्स के लिए एक क्रॉस-सेशन मेमोरी लेयर है। एजेंट्स सत्रों के बीच भूल जाने के कारण वही गलतियाँ दोहराते हैं, और markdown नियम इसे ठीक नहीं करते। यह टूल बार-बार होने वाली टूल-कॉल विफलताओं (bash, read, edit, write, glob, grep) का यांत्रिक रूप से पता लगाता है और उन्हें लागू गेट्स में बदलता है: अगले प्रयास पर एक अनुस्मारक, उसी सत्र में दोहराए गए अपराध पर कठोर रोक। एक इंजन, कई होस्ट। यह OpenCode प्लगइन के रूप में और Claude Code, Codex CLI, Gemini CLI, Cursor, Copilot CLI तथा Crush के लिए हुक-हैंडलर CLI के रूप में चलता है। TypeScript में लिखा गया और Bun के साथ चलाया जाता है, बिना किसी बिल्ड चरण के स्रोत के रूप में वितरित। यह कैसे काम करता है: विफल टूल कॉल को एक सामान्यीकृत हस्ताक्षर मिलता है (पथ, संख्याएँ और हैश हटा दिए जाते हैं), पैटर्न कुंजी को सत्रों में गिना जाता है, और 2 अलग-अलग सत्रों में 3 विफलताओं के बाद एक गेट प्रोन्नत किया जाता है। अगले प्रयास को कॉल निरस्त करने के साथ एक [dejavu] अनुस्मारक मिलता है; फिर से विफल होने वाला पुनःप्रयास एक कठोर रोक को ट्रिगर करता है। डायग्नोस्टिक कमांड केवल-अनुस्मारक रहते हैं, इसलिए कॉल चलता है और अनुस्मारक विफल आउटपुट पर प्रति सत्र एक बार NOTE के रूप में सवार होता है। डिज़ाइन विकल्पों में शामिल हैं: पहले अनुस्मारक दें और केवल दोहराव पर रोकें (शुद्ध रोकना पैकेज मैनेजर बदलने जैसे वर्कअराउंड को आमंत्रित करता है); गेट संदेशों में केवल निषेध के बजाय एक CORRECTION और EVIDENCE होता है; केवल यांत्रिक पैटर्न कुंजियाँ, हॉट पथ में कोई LLM वर्गीकरण नहीं; दो स्कोप, रिपॉजिटरी में रेपो-विशिष्ट गेट्स और उपयोगकर्ता कॉन्फ़िग में एजेंट-स्तरीय आदतें; पुनरावृत्ति के बिना 60 दिनों के बाद गेट्स समाप्त हो जाते हैं; और एक recurrence-after-gate मीट्रिक यह जाँचने के लिए कि क्या गेट्स वास्तव में दोहराव कम करते हैं। प्रवर्तन में नकारात्मक प्रतिक्रिया होती है। एक गेट जो बार-बार आता रहता है या बार-बार स्पष्ट रूप से बायपास किया जाता है, स्वयं को watching में अवनत कर लेता है और यांत्रिक रूप से पुनः प्रोन्नत नहीं होता; कोई मानव इसे पुनः लागू कर सकता है। गेट्स ठीक भी होते हैं: एक लागू गेट से मेल खाने वाली तीन लगातार सफलताएँ इसे watching में सेवानिवृत्त कर देती हैं, और कई बार अनुस्मारक मिलने पर बिना किसी पुनरपराध के एक गेट taught के रूप में सेवानिवृत्त हो जाता है। सुरक्षा और मजबूती के विवरण: केवल गैर-डायग्नोस्टिक bash कमांड ब्लॉकिंग गेट्स बन सकते हैं; फ़ाइल प्रोब watching रहते हैं; अवशिष्ट पहचान के बिना हस्ताक्षर केवल देख सकते हैं; हुक CLI विफल-खुला होता है, विकृत पेलोड या आंतरिक त्रुटियों पर एक खाली निर्णय और exit 0 लौटाता है। स्थायित्व से पहले रहस्य साफ़ किए जाते हैं, टर्मिनल नियंत्रण वर्ण हटा दिए जाते हैं, और स्टोर को init पर मिलाया और मरम्मत किया जाता है तथा भ्रष्ट फ़ाइलें क्वारंटीन की जाती हैं। समवर्तीता tmp+rename लेखन के साथ लॉकफ़ाइलों का उपयोग करती है और Windows त्रुटियों पर पुनःप्रयास करती है, और remind-to-block एस्केलेशन श्रृंखला गेट पर बनी रहती है ताकि कई विंडो और हार्नेस इसे साझा करें। इंस्टॉलेशन npx, कई हार्नेस के लिए नेटिव प्लगइन चैनल, GitHub Packages, या एक क्लोन से इंस्टॉलर स्क्रिप्ट के माध्यम से उपलब्ध है जो प्रत्येक हार्नेस कॉन्फ़िग में हुक प्रविष्टियों को इडेम्पोटेंट रूप से मर्ज करती है। अवलोकनीयता में एक doctor स्क्रिप्ट, एक analyze स्क्रिप्ट, एक /dejavu status कमांड, और एक डीबग पर्यावरण चर शामिल है।