OpenLore

आधिकारिक

एजेंट-नेटिव नॉलेज सर्वर। SSH और MCP के माध्यम से AI एजेंटों को दस्तावेज़ प्रदान करता है, जिसमें पहचान-आधारित दृश्य, नियंत्रित लेखन, और संरचित मेटाडेटा शामिल हैं। एकल बाइनरी, शून्य कॉन्फ़िगरेशन।

OpenLore MCP के साथ आप क्या कर सकते हैं?

  • SSH के माध्यम से दस्तावेज़ खोजें — अपने सहायक से OpenLore में ssh करने और Markdown दस्तावेज़ों को खोजने व पढ़ने के लिए ls, cat, या grep जैसे परिचित कमांड का उपयोग करने के लिए कहें।

  • दस्तावेज़ मेटाडेटा क्वेरी करें — फ्रंटमैटर को NDJSON के रूप में निरीक्षण करने के लिए lore meta कमांड का उपयोग करें और संरचित ज्ञान प्राप्ति के लिए jq के साथ परिणामों को फ़िल्टर करें।

  • अनुमोदन के साथ सामग्री प्रकाशित करें — अपने सहायक से publish, patch, या sed -i का उपयोग करके Markdown फ़ाइलें लिखने या अपडेट करने के लिए कहें, जिसमें परमाणु स्वैप और संवेदनशील पथों के लिए वैकल्पिक मानव समीक्षा शामिल हो।

  • पहचान-स्कोप्ड एक्सेस प्रबंधित करें — डॉकसेट, भूमिकाएँ और अनुमतियाँ कॉन्फ़िगर करें ताकि प्रत्येक एजेंट या उपयोगकर्ता केवल उन ज्ञान आधारों और पथों को देख सके जिन तक पहुँचने के लिए वे अधिकृत हैं।

  • ज्ञान बंडल सत्यापित करें — Google के Open Knowledge Format (OKF) अनुपालन की जाँच करने और गलत फ्रंटमैटर को कमिट होने से पहले पकड़ने के लिए lore validate चलाएँ।

दस्तावेज़

📜 OpenLore

Release Go Reference

प्रायोजित: Oiya

अपने दस्तावेज़ों को AI एजेंटों को SSH के माध्यम से परोसें।

OpenLore एक न्यूनतम, विस्तार योग्य, एजेंट-मूल नॉलेज बेस है जो साझा संदर्भ को वर्तमान और निरीक्षण योग्य बनाए रखता है।


परिचय

AI कोडिंग एजेंट पहले से ही जानते हैं कि ls, cat, grep, find, पाइप और शेल लूप के साथ फ़ाइलों का अन्वेषण कैसे करें। OpenLore उन्हें वही इंटरफ़ेस SSH के माध्यम से देता है, जो वास्तविक मशीन के बजाय आपके दस्तावेज़ों द्वारा समर्थित होता है।

Agent ──SSH or MCP──▶ OpenLore ──▶ docs, knowledge, and artifacts

यह एकल-बाइनरी, शून्य-कॉन्फ़िगरेशन, केवल-पठनीय दस्तावेज़ सर्वर के रूप में शुरू होता है। जब आपको एक लाइव नॉलेज बेस की आवश्यकता होती है, तो आप एजेंटों द्वारा सामग्री पढ़ने या नेविगेट करने के तरीके को बदले बिना पहचान-स्कोप्ड एक्सेस, नियंत्रित प्रकाशन, परमाणु लेखन, सत्यापन और मानव अनुमोदन जोड़ सकते हैं।

मार्कडाउन संग्रहीत करें और पुनर्प्राप्त करें

दस्तावेज़ीकरण, रनबुक, प्रोजेक्ट संदर्भ, या एजेंट-लेखित नोट्स सामान्य मार्कडाउन फ़ाइलों में रखें। कोई इंजेशन पाइपलाइन नहीं है: OpenLore को एक निर्देशिका पर इंगित करें और यह मौजूदा पदानुक्रम को सीधे परोसता है। दस्तावेज़ों को फ़ोल्डरों के साथ व्यवस्थित करें, उन्हें मानक मार्कडाउन लिंक के साथ जोड़ें, और उन्हें डॉकसेट में समूहित करें जब विभिन्न लोगों या एजेंटों को अलग-अलग एक्सेस की आवश्यकता हो। OpenLore डिफ़ॉल्ट रूप से केवल-पठनीय है; लेखन सक्षम करें जब आप चाहते हैं कि एजेंट भी मार्कडाउन बनाएं और अपडेट करें।

OpenLore Skills import demo

त्वरित आरंभ

सबसे तेज़ तरीका यह है कि आप अपने एजेंट को OpenLore सेट अप करने दें:

# Teach your agent how to install, configure, and bundle OpenLore
ssh openlore.sh teach | your-agent-cli

# Add documentation access instructions to AGENTS.md
ssh openlore.sh agents >> AGENTS.md

या इसे सीधे इंस्टॉल और चलाएं:

go install github.com/aakarim/go-openlore/cmd/openlore@latest

openlore ./docs

ssh -p 2222 localhost
ssh -p 2222 localhost "grep -r 'authentication' /docs"

डिफ़ॉल्ट रूप से यह शुरू होता है:

  • localhost:2222 पर SSH
  • http://localhost:8080 पर मानव-सामना वाला वेब दृश्य
  • http://localhost:8080/mcp पर HTTP के माध्यम से MCP

OpenLore को इंस्टॉल और पैकेज करने के और तरीकों के लिए इंस्टॉलेशन देखें।

विशेषताएं

  • एजेंट-मूल पुनर्प्राप्ति — एजेंट शेल टूल्स और संरचना पैटर्न का उपयोग करते हैं जिन्हें वे पहले से समझते हैं, बजाय एक विशेष पुनर्प्राप्ति API सीखने के।
  • एक ज्ञान सतह, कई ट्रांसपोर्ट — एक ही वर्चुअल फ़ाइल सिस्टम को SSH, SFTP/SSHFS, MCP और मानव-अनुकूल वेब दृश्य पर परोसें।
  • लाइव, शासित ज्ञान — सामग्री को केवल-पठनीय रखें, स्कोप्ड प्रकाशन की अनुमति दें, या प्रति डॉकसेट पूर्ण लेखन सक्षम करें। लेखन परमाणु, संघर्ष-जागरूक हैं, और मानव अनुमोदन की आवश्यकता हो सकती है।
  • पहचान-स्कोप्ड दृश्य — प्रत्येक व्यक्ति या एजेंट को केवल उन डॉकसेट दें जिनकी उसे आवश्यकता है, भूमिका-आधारित ro, publish, और rw अनुदान, पथ उपनाम और निजी होम निर्देशिकाओं के साथ।
  • निर्माण से सुरक्षित — शेल एक इन-मेमोरी Go इंटरप्रेटर है, वास्तविक ऑपरेटिंग-सिस्टम शेल नहीं। सामान्य सत्र में कोई शेल एस्केप, मनमाना प्रक्रिया निष्पादन, या परिवेश नेटवर्क एक्सेस नहीं है।
  • पोर्टेबल ज्ञान बंडल — दस्तावेज़ों को एक स्व-निहित बाइनरी में एम्बेड करें, GitHub Action के साथ क्रॉस-प्लेटफ़ॉर्म बंडल बनाएं, या उन्हें डेस्कटॉप MCP एक्सटेंशन के रूप में पैकेज करें।
  • नए क्वेरी भाषा के बिना संरचित ज्ञानlore meta के साथ फ्रंटमैटर को NDJSON के रूप में निरीक्षण करें, jq के साथ क्वेरी करें, और Google के ओपन नॉलेज फॉर्मेट (OKF) बंडलों और एजेंट स्किल्स को लेखन पथ के करीब सत्यापित करें।
  • विस्तार योग्य नीति और प्रसंस्करण — प्लगइन्स सत्यापन, अनुदान, पढ़ने/लिखने मिडलवेयर, मेटाडेटा और पोस्ट-कमिट प्रोसेसिंग जोड़ सकते हैं, जबकि समान फ़ाइल सिस्टम इंटरफ़ेस बनाए रखते हैं।

उपयोग के मामले

  • सतत शिक्षण रिपॉजिटरी — सत्रों और सीखों को एक साझा सर्वर में संग्रहीत करें। अनुकूलन के लिए मेट्रिक्स जोड़ें। उपयोगकर्ता अलगाव बनाए रखते हुए एजेंटों को एक-दूसरे के साथ सीख साझा करने की अनुमति दें।
  • टीम आर्टिफैक्ट रिपॉजिटरी — एक्सेस नियंत्रण बनाए रखते हुए आपके द्वारा बनाए गए मार्कडाउन, HTML, JSON, एक्सेल आदि दस्तावेज़ साझा करें। Git से कहीं अधिक प्राकृतिक, Confluence/Notion से अधिक एजेंट-मूल।
  • कोडिंग एजेंटों के लिए दस्तावेज़ीकरण — आंतरिक API दस्तावेज़, रनबुक, उत्पाद संदर्भ और आर्किटेक्चर नोट्स को एक परिचित, खोजने योग्य इंटरफ़ेस के पीछे रखें।
  • एजेंटों की टीमों के लिए साझा लाइव मेमोरी — एजेंटों को अलग या साझा डॉकसेट दें ताकि वे निष्कर्ष प्रकाशित कर सकें, कार्य सौंप सकें, और सत्रों में स्थायी संदर्भ जमा कर सकें।
  • सार्वजनिक दस्तावेज़ साइट — अपने सार्वजनिक डॉकसेट में कोई भी फ़ाइल जोड़ें, सार्वजनिक एक्सेस सक्षम करें और यह किसी भी एजेंट को दिखाई देगा जो आपकी साइट पर आता है। मौजूदा दस्तावेज़ों को संपादित किए बिना AEO/GEO में सुधार करता है।
  • स्किल्स साझा करना — एजेंट स्किल्स को साझा संग्रह में प्रकाशित करें ताकि प्रत्येक अधिकृत एजेंट समान शासित प्रक्रियाओं को खोज और उपयोग कर सके।
  • एजेंट प्लगइन्स रिपॉजिटरी — GitHub से एजेंट प्लगइन्स रिपॉजिटरी को संस्करण-पिन करें और उन्हें अपनी टीम के एजेंटों को परोसें। खुले मानक में पैकेज की गई स्किल्स स्वचालित रूप से वर्तमान रहती हैं।
  • शासित ज्ञान योगदान — योगदानकर्ताओं को इनबॉक्स में प्रकाशित करने दें, जबकि संवेदनशील पथ अनुमोदकों के लिए आरक्षित रखें और आकस्मिक अधिलेखन को रोकें।
  • एजेंट आर्टिफैक्ट्स की दूरस्थ समीक्षा — कस्टम आर्टिफैक्ट व्यूअर बनाने या एजेंट की मशीन तक पहुंच देने के बिना ब्राउज़र या SSH के माध्यम से रिपोर्ट, लॉग, स्क्रीनशॉट और जेनरेट की गई फ़ाइलें उजागर करें।
  • पहचान-विशिष्ट कार्यक्षेत्र — प्रत्येक एजेंट के लिए एक निजी होम और साझा टीम ज्ञान माउंट करें, सभी एक सर्वर और एक प्राधिकरण मॉडल के माध्यम से।
  • पोर्टेबल ग्राहक या प्रोजेक्ट ज्ञान — प्रासंगिक दस्तावेज़ों के साथ एक संस्करणित निष्पादन योग्य भेजें, या उसी ज्ञान को MCPB डेस्कटॉप एक्सटेंशन के रूप में वितरित करें।
  • सत्यापित ज्ञान कैटलॉग — फ्रंटमैटर और बंडल सम्मेलनों को लागू करें, मेटाडेटा का सस्ते में निरीक्षण करें, और प्रवेश के समय गलत ज्ञान को रोकें।

यह कैसे काम करता है

OpenLore SSH ट्रांसपोर्ट के लिए Wish पर बनाया गया है। एक कनेक्शन पूरी तरह से वर्चुअल फ़ाइल सिस्टम के विरुद्ध संभाला जाता है:

  1. प्रमाणित करें — कुंजीहीन रूप से कनेक्ट करें या SSH कुंजी, प्रमाणपत्र, पासकी, या OAuth लॉगिन को एक पहचान में हल करें।
  2. एक दृश्य बनाएं — केवल उन डॉकसेट और पथों को माउंट करें जो उस पहचान को दिए गए हैं।
  3. अन्वेषण करें — उस दृश्य पर शुद्ध Go फ़ंक्शन के रूप में लागू शेल कमांड चलाएं, या समकक्ष MCP shell टूल का उपयोग करें।
  4. सुरक्षित रूप से योगदान करें — यदि लेखन सक्षम है, तो परमाणु रूप से कमिट करने या अनुमोदन के लिए रूट करने से पहले पूरी-फ़ाइल परिवर्तन को अधिकृत और सत्यापित करें।

OAuth क्लाइंट प्रत्यायोजित पहचान का उपयोग करते हैं, इसलिए स्थायी लेखन उत्पत्ति adil द्वारा सीधे काम को adil/claude@claude.ai के रूप में किए गए काम से अलग करती है। प्रत्यायोजित व्यक्ति अपने प्रिंसिपल से अधिक अधिकार प्राप्त नहीं कर सकते हैं और डॉकसेट और क्षमता अस्वीकृति सूचियों द्वारा संकुचित किए जा सकते हैं। CIMD क्लाइंट विक्रेता-होस्टेड मेटाडेटा और private_key_jwt के साथ अतिरिक्त रूप से प्रमाणित कर सकते हैं; प्रमाणित OAuth क्लाइंट देखें।

सामान्य शेल bash, exec, curl, या मनमाना होस्ट प्रक्रियाओं को लागू नहीं कर सकता है। एम्बेडेड दस्तावेज़ीकरण हमेशा केवल-पठनीय होता है। स्पष्ट रूप से विश्वसनीय पहचान को spawn क्षमता के माध्यम से संकीर्ण रूप से स्कोप्ड अतुल्यकालिक प्रसंस्करण दिया जा सकता है।

शासित लेखन

OpenLore डिफ़ॉल्ट रूप से केवल-पठनीय है। लिखने योग्य तैनाती रीडायरेक्ट, ऐपेंड, tee, patch, sed -i, फ़ाइल स्थानांतरण, प्रकाशन और अनुमोदित बाहरी कार्यों के लिए एकल, नीति-नियंत्रित लेखन पथ रखती है।

echo "# Research" | publish backend findings.md
cat change.diff | patch /backend/api.md
sed -i 's/old/new/g' /backend/runbook.md

लेखन संपूर्ण-वस्तु परमाणु स्वैप हैं। तुलना-और-स्वैप सुरक्षा डिफ़ॉल्ट रूप से पुराने संपादनों को अस्वीकार करती है, डॉकसेट अनुदान लक्ष्य को प्रतिबंधित करते हैं, और चयनित पथ /requests के तहत सीधे कमिट करने के बजाय समीक्षा योग्य परिवर्तनसेट उत्पन्न कर सकते हैं।

उपयोगकर्ता-सामना सेटअप के लिए लेखन और प्रकाशन और कार्यान्वयन मॉडल के लिए लेखन प्रणाली आंतरिक देखें।

इंस्टॉलेशन

Go के साथ इंस्टॉल करें

Go 1.26 या बाद के संस्करण की आवश्यकता है:

go install github.com/aakarim/go-openlore/cmd/openlore@latest

स्रोत से बनाएं

git clone https://github.com/aakarim/go-openlore.git
cd go-openlore
go build -o openlore ./cmd/openlore

बाइनरी में दस्तावेज़ एम्बेड करें

दस्तावेज़ीकरण को assets/lore/ में रखें और बनाएं। परिणामी बाइनरी में दस्तावेज़ होते हैं और बिना निर्देशिका तर्क के चलाए जाने पर उन्हें /docs पर केवल-पठनीय रूप से परोसता है:

go build -o my-docs ./cmd/openlore

GitHub Action के साथ बनाएं

अपने दस्तावेज़ों के साथ एम्बेडेड क्रॉस-प्लेटफ़ॉर्म बाइनरी उत्पन्न करें:

- uses: aakarim/openlore@v1
  with:
    docs-dir: ./docs
    config: ./openlore.yml

MCP stdio, MCPB डेस्कटॉप पैकेजिंग, SSHFS और Go लाइब्रेरी उपयोग के लिए OpenLore का उपयोग करने के तरीके देखें।

अनुकूलित तैनाती बनाएं

बंडल किए गए setup कौशल का उपयोग करके <team>-lore बनाएं, एक छोटा ग्राहक-स्वामित्व वाला रिपॉजिटरी जिसमें openlore.yml, एक आधिकारिक OpenLore रिलीज़ के लिए पिन किया गया एक पतला Containerfile, और तैनाती आर्टिफैक्ट शामिल हैं। यह एक कार्यशील स्थानीय सर्वर बनाता है और तैनाती से पहले HTTP, MCP, प्रमाणित SSH, लेखन और दृढ़ता को सत्यापित करता है:

ssh openlore.sh setup | amp

जनरेट किया गया रिपॉजिटरी प्रारंभिक lore.json नीति और SSH-दृश्यमान फ़ाइलों को gitignored .local/ के तहत रखता है। पहली तैनाती उस स्थिति से एक खाली स्थायी वॉल्यूम प्रारंभ करती है। रूट openlore.yml Git/IaC प्राधिकरण बना रहता है और /var/lib/openlore/config/openlore.yml पर अलग से तैनात किया जाता है; यह छवि में बेक नहीं किया जाता है। बाद में सर्वर पर lore.json और फ़ाइल सिस्टम संपादन प्राधिकृत हैं और छवि अपडेट द्वारा कभी अधिलेखित नहीं होते हैं।

अतिरिक्त निर्देश कमांड पूर्ण जीवनचक्र का समर्थन करते हैं:

  • onboarding स्थानीय रूप से प्रारंभिक पहचान, भूमिकाएं, होम और फ़ोल्डर जोड़ता है;
  • deploy Fly.io, Railway, AWS, Google Cloud, Azure, DigitalOcean, या कस्टम तैनाती का चयन करता है और एक साझा दृढ़ता/नेटवर्किंग अनुबंध सत्यापित करता है;
  • upgrade केवल पिन किए गए बेस-इमेज संस्करण परिवर्तन तैयार करता है ताकि मौजूदा CD इसे तैनात कर सके।

प्रदाता तैनाती के लिए HTTPS/MCP, प्रमाणित OpenLore SSH, प्रशासनिक शेल एक्सेस और एक स्थायी /var/lib/openlore वॉल्यूम की आवश्यकता होती है। जहां प्रदाता समर्थन करता है, तैनाती सार्वजनिक पोर्ट 22 को OpenLore पोर्ट 2222 पर अग्रेषित करने के लिए कॉन्फ़िगर करती है। अन्यथा यह निर्दिष्ट पोर्ट की रिपोर्ट करता है और बाहरी TCP अग्रेषण प्रणाली की सिफारिश करता है।

प्रकाशित कंटेनर में केवल OpenLore होता है। इसमें जानबूझकर कोई ऑनबोर्डिंग नीति या सर्वर कॉन्फ़िगरेशन नहीं होता है। सेवा शुरू होने से पहले, तैनाती को स्थायी कॉन्फ़िग निर्देशिका में openlore.yml और lore.json रखना चाहिए और चलाना चाहिए:

./out --config /var/lib/openlore/config/openlore.yml

यह कॉन्फ़िगरेशन को स्वतंत्र रूप से तैनात करने योग्य रखता है: एक सरल तैनाती openlore.yml को वॉल्यूम पर कॉपी कर सकती है, जबकि Kubernetes उसी फ़ाइल को ConfigMap से प्रोजेक्ट कर सकता है। Fly.io, Railway, AWS, Google Cloud, Azure, DigitalOcean, या कस्टम इंफ्रास्ट्रक्चर के लिए deploy कौशल का उपयोग करें। रिपॉजिटरी की Railpack और Fly फ़ाइलें छवि, स्थायी-वॉल्यूम और पोर्ट वायरिंग प्रदान करती हैं; वे प्रक्रिया स्टार्टअप पर कॉन्फ़िगरेशन को सीड या म्यूटेट नहीं करती हैं।

Railway अपने SSH TCP प्रॉक्सी को एक सार्वजनिक होस्टनाम और पोर्ट प्रदान करता है। मानक SSH पोर्ट 22 के लिए बाहरी रॉ TCP लोड बैलेंसर की आवश्यकता होती है। Fly.io समर्पित पते के साथ सार्वजनिक पोर्ट 22 को OpenLore के आंतरिक पोर्ट 2222 पर मैप कर सकता है। रॉ SSH में कोई होस्टनाम या SNI रूटिंग नहीं है, इसलिए एक लिसनर पोर्ट 22 पर कई डोमेन को रूट नहीं कर सकता है।

कंटेनर वर्कफ़्लो main से latest प्रकाशित करता है; रिलीज़ VERSION, vVERSION, प्रमुख और मामूली छवि टैग भी प्रकाशित करती हैं।

HTTP इनबॉक्स अपलोड

एक डॉकसेट inbox और उसके publish अनुदान के साथ एक भूमिका कॉन्फ़िगर करें, फिर मौजूदा पहचान के लिए एक क्रेडेंशियल बनाएं (सर्वर कॉन्फ़िगरेशन को auth_file नाम देना चाहिए ताकि CLI इसे सत्यापित कर सके):

openlore inbox token create --identity alice --label webhook --config openlore.yml
curl -H 'Authorization: Bearer olin_ID_SECRET' -H 'Content-Type: text/markdown' \
  --data-binary @note.md 'https://docs.example.com/inbox/docs?name=note.md'

POST /inbox/{docset} बियरर क्रेडेंशियल या X-OpenLore-Token-Id और X-OpenLore-Signature का उपयोग करके सटीक-बॉडी HMAC स्वीकार करता है। OAuth एक्सेस टोकन केवल POST/GET /inbox/tokens और DELETE /inbox/tokens/{id} के लिए उपयोग किए जाते हैं; इनबॉक्स क्रेडेंशियल अलग और रद्द करने योग्य हैं। कॉन्फ़िगरेशन और पहचान देखें।

दस्तावेज़ीकरण

मार्गदर्शिकासामग्री
OpenLore का उपयोग करने के तरीकेSSH, MCP, वेब, SSHFS, एम्बेडेड बाइनरी, GitHub Action, MCPB, और लाइब्रेरी उपयोग
कमांड संदर्भपूर्ण शेल, इंट्रोस्पेक्शन, प्रकाशन, सिंटैक्स, CLI कमांड, और फ्लैग संदर्भ
कॉन्फ़िगरेशन और पहचानopenlore.yml, प्रमाणीकरण, भूमिकाएँ, docsets, उपनाम, homes, और होस्ट सत्यापन
वर्कलोड पहचान संघअल्पकालिक बाहरी पहचान टोकन के साथ CI और एजेंटों को प्रमाणित करें
लेखन और प्रकाशनलेखन मोड, इनबॉक्स, संघर्ष प्रबंधन, अनुमोदन, और जॉब्स
प्लगइन्स और ज्ञान प्रारूपप्लगइन स्थापना, इंटरफेस, OKF सत्यापन, lore validate, और lore meta
लेखन प्रणाली आंतरिकफाइलसिस्टम परत, लेखन सीम, परिवर्तन सेट, हुक, और अतुल्यकालिक जॉब्स
सुरक्षा मूल्यांकनखतरा मॉडल और सुरक्षा गुण

सुरक्षा

  • कमांड एक शुद्ध-Go इंटरप्रेटर में चलते हैं, न कि os/exec के माध्यम से।
  • वर्चुअल फाइलसिस्टम पथों को साफ करता है और docset सीमाओं को लागू करता है।
  • अनुमत फ़ाइल पैटर्न और अनदेखी निर्देशिकाएँ दृश्य से रहस्यों को बाहर रखती हैं।
  • RBAC पढ़ने, प्रकाशन, लेखन, अनुमोदन, और विश्वसनीय क्षमताओं को नियंत्रित करता है।
  • वेब एंडपॉइंट पहले उपयोग पर अंधा विश्वास से बचने के लिए SSH होस्ट कुंजी को TLS पर प्रकाशित कर सकता है; SSH उपयोगकर्ता और होस्ट प्रमाणपत्र भी समर्थित हैं।

पूर्ण सुरक्षा मूल्यांकन के लिए SECURITY.md देखें।

लाइसेंस

MIT — आदिल करीम

OpenLore तृतीय-पक्ष ओपन-सोर्स घटकों को बंडल करता है। उनके लाइसेंस और आवश्यक सूचनाएँ assets/legal/THIRD_PARTY_NOTICES.md में सूचीबद्ध हैं, जिनमें पूर्ण लाइसेंस पाठ assets/legal/licenses/ में हैं। ये बाइनरी में एम्बेडेड हैं और चल रही सेवा द्वारा /legal पर प्रदान किए जाते हैं।