आज हम OpenWiki जारी कर रहे हैं, जो कोडबेस के लिए दस्तावेज़ीकरण तैयार करने और बनाए रखने के लिए एक ओपन सोर्स एजेंट और CLI है।
एजेंट बेहतर कोड तब लिखते हैं जब वे उस रेपो को समझते हैं जिसमें वे काम कर रहे हैं। उन्हें यह जानना होता है कि मुख्य लॉजिक कहाँ है, फ़ाइलें कैसे जुड़ी हैं, और कोडबेस किन पैटर्न की अपेक्षा करता है। अच्छा दस्तावेज़ीकरण एजेंटों को वह संदर्भ देता है, जिससे अधिक सूचित कोड परिवर्तन और कम टाली जा सकने वाली गलतियाँ होती हैं।
समस्या यह है कि दस्तावेज़ीकरण को अद्यतित रखना कठिन है। शुरुआती दस्तावेज़ लिखने में समय लगता है, और हर बार कोड बदलने पर उन्हें अपडेट करना और भी कठिन है। बार-बार PR वाले बड़े रेपो में, दस्तावेज़ जल्दी पुराने हो सकते हैं।
OpenWiki वह काम स्वचालित रूप से करता है। यह आपके रेपो के लिए एक विकी बनाता है, उस विकी को आपके कोडिंग एजेंट से जोड़ता है, और आपके कोड बदलने पर इसे अपडेट रखता है।
एजेंटों के लिए विकी क्यों
हम कोडबेस विकी के आसपास मौजूदा काम से प्रेरित थे, जिसमें DeepWiki, AutoWiki, और Karpathy का LLM Wiki अवधारणा शामिल है। साझा विचार सरल है। एक विकी मनुष्यों और एजेंटों को सभी संदर्भ को एक बड़ी फ़ाइल में डालने के लिए मजबूर किए बिना कोडबेस को समझने का एक संरचित तरीका देता है।
यह मायने रखता है क्योंकि अधिकांश कोडिंग एजेंट पहले से ही निर्देशों के लिए AGENTS.md या CLAUDE.md जैसी फ़ाइलें पढ़ते हैं। वे फ़ाइलें उपयोगी हैं, लेकिन वे रेपो दस्तावेज़ीकरण के सैकड़ों पृष्ठों को संग्रहीत करने के लिए सही जगह नहीं हैं। उन्हें एजेंट को सही संदर्भ की ओर इंगित करना चाहिए, फिर एजेंट को वह प्राप्त करने देना चाहिए जिसकी उसे आवश्यकता है।
OpenWiki उस मॉडल का अनुसरण करता है। यह एक रेपो विकी उत्पन्न करता है, फिर आपकी एजेंट निर्देश फ़ाइलों को उस विकी के संदर्भ के साथ अपडेट करता है। वहाँ से, आपका कोडिंग एजेंट स्वचालित रूप से दस्तावेज़ों को खोज और उपयोग कर सकता है।
आरंभ करना
OpenWiki को कमांड लाइन से चलाना आसान बनाने के लिए डिज़ाइन किया गया है।
इसे NPM से इंस्टॉल करें:
npm install -g openwiki
फिर चलाएँ:
openwiki --init

init कमांड एक मॉडल प्रदाता और API कुंजी माँगता है, फिर आपके रेपो के लिए दस्तावेज़ीकरण उत्पन्न करता है।
OpenWiki OpenRouter, Fireworks, Baseten, OpenAI, और Anthropic सहित ओपन और क्लोज्ड मॉडल प्रदाताओं दोनों का समर्थन करता है। डिफ़ॉल्ट रूप से, यह एक ओपन मॉडल के साथ OpenRouter का उपयोग करता है, लेकिन आप उस प्रदाता को कॉन्फ़िगर कर सकते हैं जो आपके सेटअप के लिए सबसे अच्छा काम करता है।
क्योंकि OpenWiki DeepAgents के ऊपर बनाया गया है, यह LangSmith पर ट्रेसिंग का भी समर्थन करता है। यदि आप LangSmith API कुंजी प्रदान करते हैं, तो OpenWiki एक LangSmith प्रोजेक्ट पर रन को ट्रेस करेगा ताकि आप जाँच सकें कि एजेंट ने आपके दस्तावेज़ उत्पन्न या अपडेट करते समय वास्तव में क्या किया।
OpenWiki आपके कोडिंग एजेंट से कैसे जुड़ता है
विकी उत्पन्न करने के बाद, OpenWiki आपके रेपो की एजेंट निर्देश फ़ाइलों को अपडेट करता है। यदि आपका रेपो AGENTS.md, CLAUDE.md, या दोनों का उपयोग करता है, तो OpenWiki उत्पन्न विकी का एक संदर्भ जोड़ता है और बताता है कि एजेंट को इसका उपयोग कब करना चाहिए।
हमने यह दृष्टिकोण इसलिए चुना क्योंकि पूरे विकी को एक निर्देश फ़ाइल के अंदर रखने से बहुत अधिक संदर्भ जुड़ जाएगा। एक बड़े रेपो में, विकी सैकड़ों फ़ाइलों में फैल सकता है। उन सभी को हर एजेंट रन में लोड करना बेकार और बनाए रखना मुश्किल होगा।
एक छोटा संदर्भ बेहतर काम करता है। आपका कोडिंग एजेंट पहले से ही निर्देश फ़ाइल पढ़ता है। एक बार OpenWiki संदर्भ जोड़ने के बाद, एजेंट विकी को ढूँढ सकता है जब उसे रेपो संदर्भ की आवश्यकता होती है, बिना आपको अपने वर्कफ़्लो को बदलने की आवश्यकता के।
विकी को अद्यतित रखना
एक बार दस्तावेज़ उत्पन्न करना उपयोगी है। उन्हें वर्तमान रखना वह जगह है जहाँ OpenWiki अधिक मूल्यवान हो जाता है।
OpenWiki में एक GitHub Action शामिल है जो एक शेड्यूल पर चल सकता है, उदाहरण के लिए दिन में एक बार। Action अपडेट फ़्लैग के साथ OpenWiki चलाता है। OpenWiki जाँचता है कि पिछले रन के बाद से कौन से कमिट आए हैं, यह समझने के लिए git diffs का उपयोग करता है कि क्या बदला, फिर प्रासंगिक संदर्भ के साथ विकी को अपडेट करता है।
इसका मतलब है कि वर्कफ़्लो बैकग्राउंड में चल सकता है। जैसे-जैसे आपका कोडबेस बदलता है, OpenWiki दस्तावेज़ीकरण को अपडेट करता है। आपका कोडिंग एजेंट मौजूदा निर्देश फ़ाइल संदर्भ के माध्यम से नवीनतम विकी को उठाता रहता है।
पहले कोडबेस के लिए बनाया गया
यह पहला रिलीज़ कोडबेस के लिए विकी पर केंद्रित है। लक्ष्य एजेंटों के लिए उन रेपो को समझना आसान बनाना है जिनमें वे काम करते हैं, बिना डेवलपर्स से मैन्युअल रूप से विस्तृत दस्तावेज़ लिखने और बनाए रखने के लिए कहे।
समय के साथ, हमें लगता है कि OpenWiki अवधारणा अधिक व्यापक रूप से लागू हो सकती है। एजेंटों को कई प्रकार के कामों के लिए टिकाऊ संदर्भ की आवश्यकता होती है, न कि केवल कोडिंग की। कोडबेस दस्तावेज़ीकरण पहला उपयोग मामला है, लेकिन वही पैटर्न एजेंटों को अन्य वर्कफ़्लो में भी उपयोगी संदर्भ बनाए रखने में मदद कर सकता है।
इसे आज़माएँ
OpenWiki ओपन सोर्स है और अभी उपलब्ध है।
आप इसे इंस्टॉल कर सकते हैं, openwiki --init चला सकते हैं, और कुछ ही मिनटों में अपने रेपो के लिए एक विकी उत्पन्न कर सकते हैं।
रेपो यहाँ देखें: https://github.com/langchain-ai/openwiki और वॉकथ्रू वीडियो देखें: https://youtu.be/nIVu3zfYprI





