OmniMem
आधिकारिकएक स्व-होस्टेड MCP सर्वर जो AI एजेंटों को सत्रों, परियोजनाओं और मशीनों में स्थायी मेमोरी प्रदान करता है।
OmniMem MCP के साथ आप क्या कर सकते हैं?
अपने AI एजेंट को सेशन, प्रोजेक्ट और मशीनों के बीच लगातार, सेल्फ-होस्टेड मेमोरी दें — उससे कहें "कोई ऐसी लाइब्रेरी सुझाने से पहले ग्रेवयार्ड जांच लें जो पहले ही विफल हो चुकी हो।"
- सेशन ब्रीफिंग — प्रोजेक्ट संदर्भ, अनुभव आँकड़े, पुरानी मेमोरी, नए लेख और कौशल सुझाव एक ही कॉल में पाने के लिए
briefingमाँगें। - पिछले मृत अंत से बचें — एजेंट से कहें कि कोई ऐसी लाइब्रेरी या पैटर्न सुझाने से पहले ग्रेवयार्ड जाँचे जो पहले विफल हो चुका हो।
- पिछले निर्णय याद करें — विभिन्न प्रोजेक्ट्स के पहले के सेशन से निर्णय, सुधार और पैटर्न सतह पर लाने के लिए
recallका उपयोग करें। - कठिन अनुभव रिकॉर्ड करें —
record_experienceके साथ एक सुधार लॉग करें ताकि जो सबक वास्तविक मेहनत से मिले, वे अगली बार अधिक आसानी से सामने आएँ। - मेमोरी डीडुप्लिकेट करें — लगभग समान संग्रहीत मेमोरी को चिह्नित करने और थोक में साफ करने के लिए
find_duplicatesचलाएँ। - अपनी मेमोरी का बैकअप लें —
dump_to_fileके साथ सब कुछ एक JSON फ़ाइल में निर्यात करें जो आपके पास हो।
दस्तावेज़
सेल्फ-होस्टेड सिमेंटिक मेमोरी AI एजेंट्स के लिए। लगातार सत्र, अनुभव स्कोरिंग, और मृत अंत के लिए एक कब्रिस्तान, जो आपके द्वारा पढ़े गए RSS से प्राप्त ज्ञान द्वारा समर्थित है और Valkey वेक्टर खोज में संग्रहीत है, फिर एक MCP सर्वर के रूप में उजागर किया गया है। https://omnimem.org
<OmniMem>omnimem.org
विकास Codeberg पर होता है — कृपया वहाँ मुद्दे और PR दर्ज करें।
एक ही सत्र को दो बार मत जियो।
हर Claude Code सत्र शून्य से शुरू होता है। आपके प्रोजेक्ट की कोई स्मृति नहीं। पिछले सप्ताह क्या विफल हुआ, इसकी कोई स्मृति नहीं। कोई स्मृति नहीं कि आपने पिछले मंगलवार को तीन घंटे यह पता लगाने में बिताए कि onnxruntime Alpine पर क्यों फटता है, इससे पहले कि आपको कुछ ऐसा मिले जो वास्तव में काम करता है।
तो आप प्रोजेक्ट को फिर से समझाते हैं। Claude फिर से वही टूटी हुई लाइब्रेरी सुझाता है। वही अलार्म। वही गाना। आप Bill Murray हैं और Claude Punxsutawney है।
OmniMem यह ठीक करता है। यह एक सेल्फ-होस्टेड MCP सर्वर है जो आपके AI एजेंट को सत्रों, प्रोजेक्ट्स और मशीनों के बीच लगातार स्मृति देता है। यह आपके अपने हार्डवेयर पर चलता है और हमेशा के लिए मुफ्त है।
claude> use onnxruntime for the embeddings
⚠ WARNING: previously abandoned approach
onnxruntime — SIGILL crash on Alpine musl libc (effort: 4/5)
→ switched to sentence-transformers instead
वह चेतावनी भाग्य से नहीं, स्मृति से आई थी। जो गलती आप पहले ही चुका चुके हैं, वह आपसे दो बार शुल्क नहीं ले सकती।
जल्दी शुरू करें
टिप
एक कमांड पूर्व-निर्मित Docker Hub इमेज से पूरा स्टैक चला देता है:
curl -fsSL https://codeberg.org/ric_harvey/omnimem/raw/branch/main/install.sh | bashफिर अपने एजेंट को उसकी ओर इंगित करें — त्वरित प्रारंभ बाकी के बारे में बताता है, या नीचे अधिक विस्तृत त्वरित प्रारंभ अनुभाग पर जाएँ।
यह क्या याद रखता है
पाँच प्रकार की स्मृति, सभी को पुनर्प्राप्ति के समय एक साथ खोजा जाता है:
- एपिसोडिक — आपके द्वारा लिए गए निर्णय, आपके द्वारा ठीक किए गए बग, आपके द्वारा खोजे गए पैटर्न। वे चीजें जिन्हें सीखने में वास्तविक प्रयास लगा और जिन्हें हर सुबह फिर से नहीं सीखना चाहिए।
- प्रोजेक्ट संदर्भ — आपका स्टैक, लक्ष्य और वर्तमान स्थिति। एजेंट हर सत्र में पहले से ब्रीफ होकर पहुँचता है, न कि ठंडे शुरू होकर।
- ज्ञान — आपके द्वारा कॉन्फ़िगर किए गए RSS फ़ीड, एक शेड्यूल पर लाए गए, Claude Haiku द्वारा सारांशित, एम्बेडेड और संग्रहीत। जब पिछले सप्ताह कोई प्रासंगिक लेख आया, तो यह पढ़ने लायक शुरुआती बिंदु के रूप में सामने आता है।
- प्राथमिकताएँ — आप कैसे काम करना चाहते हैं, इसके बारे में निर्देशात्मक नियम ("हमेशा फीचर आने के बाद README अपडेट करें"), आपकी बातचीत से स्वचालित रूप से निकाले गए और जब भी लागू हों, सामने आते हैं।
- कौशल — SKILL.md दस्तावेज़ जो एक डोमेन में आपके संचित अनुभव से संकलित होते हैं, ताकि एजेंट पहले प्रॉम्प्ट से आपके तरीके से काम करे। अन्य नेमस्पेस से व्युत्पन्न, कभी हाथ से संपादित नहीं, और हर बदलाव आपकी समीक्षा से गुजरता है। कौशल संकलक देखें। शीर्ष पुनर्प्राप्ति परिणाम छह महीने पहले किसी अन्य प्रोजेक्ट का निर्णय, कल का समाधान, या मंगलवार रात को आया कोई लेख हो सकता है। इससे कोई फर्क नहीं पड़ता कि यह कहाँ से आया है, जब तक यह उपयोगी है।
इसे क्या अलग बनाता है
सिर्फ MCP रैपर वाला की-वैल्यू स्टोर नहीं। OmniMem मॉडल करता है कि मेमोरी वास्तव में कैसे काम करती है: चीज़ें समय के साथ फीकी पड़ जाती हैं, वे कभी-कभी एक-दूसरे का खंडन करती हैं, और कठिन संघर्ष से अर्जित चीज़ें अपनी जगह बनाती हैं।
- द ग्रेवयार्ड — हर असफल प्रयास को लॉग किया जाता है जिसमें बताया जाता है कि आपने क्या आज़माया, क्यों विफल रहा, और कितना समय बर्बाद हुआ। एजेंट किसी लाइब्रेरी या पैटर्न का सुझाव देने से पहले इसे जाँचता है।
- अनुभव स्कोरिंग — जो चीज़ चार प्रयासों और एक अजीब प्लेटफ़ॉर्म वर्कअराउंड के बाद सफल हुई, वह सोना है। जितनी कठिन थी, अगली बार उतनी ही आसानी से सामने आती है।
- मेमोरी लाइफसाइकिल —
ACTIVE → DEPRIORITISED → ARCHIVED → DELETED। "X को भूल जाओ" का आमतौर पर मतलब है इसे बार-बार मत लाओ, इसे अस्तित्व से मिटाओ नहीं। कम प्राथमिकता वाली मेमोरी वापस अपनी जगह बना सकती हैं। - विरोधाभास पहचान — यदि कोई नई मेमोरी संग्रहीत किसी चीज़ से असहमत है, तो OmniMem इसे पकड़ लेता है। हर लेखन पर तेज़ ह्यूरिस्टिक, Claude Haiku के माध्यम से वैकल्पिक गहन विश्लेषण।
- सिमेंटिक डिडुप्लिकेशन — लगभग समान मेमोरी को लेखन के समय फ़्लैग किया जाता है और
find_duplicates()के साथ थोक में साफ़ किया जाता है। - एक-कॉल ब्रीफिंग — एक ही
briefing()प्रोजेक्ट संदर्भ, अनुभव आँकड़े, पुरानी मेमोरी, नए लेख, विरोधाभास चेतावनी और कौशल सुझाव लौटाता है। कोई तीन-चरणीय वार्म-अप नहीं। - स्किल कंपाइलर — सुदृढ़ पाठों और असफल प्रयासों को लोड करने योग्य कौशल में बदलता है, प्रस्ताव-और-स्वीकृति गेट के पीछे ताकि बुरे पाठ चुपचाप नीति न बन सकें।
- ऑटो-रखरखाव — डुप्लिकेट संग्रहीत, विरोधाभास फ़्लैग, समाप्त ज्ञान साफ़, सब कुछ पृष्ठभूमि में।
- वेब UI — htmx डैशबोर्ड से सब कुछ ब्राउज़ करें, खोजें और प्रबंधित करें, टेलीमेट्री और Prometheus
/metricsएंडपॉइंट के साथ।
हर पुनर्प्राप्ति के पीछे रैंकिंग फॉर्मूला:
score = similarity x surface_score x recency x experience_weight
चार कारक तय करते हैं कि क्या वापस आता है। केवल सिमेंटिक समानता पर्याप्त नहीं है — लाइफसाइकिल स्थिति, आयु, और पाठ कितना कठिन था, सभी भूमिका निभाते हैं।
किसी भी MCP एजेंट के साथ काम करता है
उन सभी के लिए एक मेमोरी परत: claude.ai, Claude Code, Claude Desktop, Cursor, GitHub Copilot, GitLab Duo, AWS Kiro, OpenCode, OpenAI Codex CLI, और Open Design।
आर्किटेक्चर
चार कंटेनर। कुछ भी आपकी मशीन से बाहर नहीं जाता। sentence-transformers के माध्यम से स्थानीय एम्बेडिंग, वेक्टर खोज के साथ Valkey में स्टोरेज, और दोनों फ्रंट डोर एक ही मेमोरी इंजन साझा करते हैं।
flowchart TB
agent["AI agent<br/>Claude Code · claude.ai · Cursor · Copilot · ..."]
browser["Browser"]
agent -- "MCP · Streamable HTTP / SSE · :8765" --> mcp
browser -- "HTTP · :8080" --> webui
subgraph stack["Docker Compose stack"]
mcp["MCP server<br/>Python · FastMCP<br/><i>remember · recall · briefing<br/>compile_skill · record_experience</i>"]
webui["Web UI<br/>Starlette · htmx · Jinja2<br/><i>dashboard · search · skills<br/>projects · backups · /metrics</i>"]
rss["RSS worker<br/>feedparser · APScheduler<br/>Claude Haiku summaries"]
valkey[("Valkey + valkey-search<br/>HNSW vector indexes<br/><i>idx:episodic · idx:project · idx:knowledge<br/>idx:preference · idx:skill</i>")]
mcp <--> valkey
webui <--> valkey
rss --> valkey
end
पूरी तस्वीर — पुनर्प्राप्ति पाइपलाइन, स्टोरेज मॉडल और डिज़ाइन निर्णय — docs/architecture.md में है।
सेल्फ-होस्टेड, ओपन सोर्स, आपका अपना
कोई SaaS नहीं। कोई वेंडर लॉक-इन नहीं। किसी और के सर्वर पर कोई संदर्भ नहीं भेजा जाता।
- Valkey एक ओपन सोर्स Redis फोर्क है। आपका सारा डेटा आपकी अपनी मशीन पर नामित Docker वॉल्यूम में रहता है।
- मल्टी-आर्क Docker इमेज amd64 और arm64 के लिए। यह Raspberry Pi, AWS Graviton, या Apple Silicon पर x86 जितनी ही अच्छी तरह चलता है।
- sentence-transformers बिना किसी API कॉल के स्थानीय रूप से एम्बेडिंग चलाता है।
- MIT लाइसेंस का मतलब है इसे फोर्क करें, विस्तारित करें, जहाँ चाहें चलाएँ।
- एक बैकअप कमांड
dump_to_file()को कॉल करता है और सब कुछ एक JSON फ़ाइल में निर्यात करता है जो आपके पास है।
MCP पोर्ट को अपने रिवर्स प्रॉक्सी के माध्यम से एक्सपोज़ करें और आप जिस भी मशीन से काम करते हैं वह एक ही मेमोरी साझा करती है। एक डिप्लॉयमेंट, हर जगह — docs/remote-access.md देखें।
त्वरित शुरुआत
इंस्टॉलर जाँचता है कि Docker स्थापित है, सुरक्षित पासवर्ड उत्पन्न करता है, एक उचित .env लिखता है, और पहले से निर्मित Docker Hub इमेज से सब कुछ शुरू करता है:
curl -fsSL https://codeberg.org/ric_harvey/omnimem/raw/branch/main/install.sh | bash
या स्रोत से बनाएँ:
git clone https://codeberg.org/ric_harvey/omnimem.git && cd omnimem
cp .env.example .env
# Set VALKEY_PASSWORD and ANTHROPIC_API_KEY in .env
docker compose up -d
फिर अपने एजेंट को इंगित करें — Claude Code (~/.claude.json):
{
"mcpServers": {
"omnimem": {
"type": "sse",
"url": "http://localhost:8765/sse"
}
}
}
सर्वर अपना उपयोग गाइड किसी भी कनेक्टिंग एजेंट को MCP instructions फ़ील्ड के माध्यम से स्वचालित रूप से वितरित करता है — कोई कॉन्फ़िगरेशन फ़ाइल आवश्यक नहीं। वेब डैशबोर्ड http://localhost:8080 पर है।
पूरा वॉकथ्रू, जिसमें प्रमाणीकरण टोकन, अनुमति सेटिंग्स और अन्य एजेंट शामिल हैं, docs/quick-start.md में है।
दस्तावेज़ीकरण
| त्वरित शुरुआत | इंस्टॉलर, स्रोत से निर्माण, अपने एजेंट को कनेक्ट करना |
| गहराई में विशेषताएँ | लाइफसाइकिल, ग्रेवयार्ड, अनुभव स्कोरिंग, डिडुप, विरोधाभास, ब्रीफिंग |
| स्किल कंपाइलर | अनुभव को लोड करने योग्य कौशल में संकलित करना |
| MCP टूल संदर्भ | सभी 30+ टूल |
| कॉन्फ़िगरेशन संदर्भ | हर पर्यावरण चर |
| RSS और ज्ञान | निष्क्रिय ज्ञान अंतर्ग्रहण और प्रचार |
| कई मशीनें | रिवर्स प्रॉक्सी, claude.ai के लिए OAuth 2.1, समस्या निवारण |
| वेब UI | प्रबंधन डैशबोर्ड और Prometheus मेट्रिक्स |
| आर्किटेक्चर | कंटेनर, पुनर्प्राप्ति पाइपलाइन, डिज़ाइन निर्णय |
| मेमोरी प्रकार विनिर्देश | स्टोरेज मॉडल, फ़ील्ड दर फ़ील्ड |
| कनेक्शन गाइड | प्रति-एजेंट सेटअप |
| डिप्लॉयमेंट गाइड | macOS · Raspberry Pi · AWS · GCP · Linux + Tailscale Funnel |
प्रति-नेमस्पेस स्टोरेज विनिर्देश, यदि आप जानना चाहते हैं कि Valkey में वास्तव में क्या लिखा जाता है और किसके द्वारा: अवलोकन · एपिसोडिक · प्रोजेक्ट · ज्ञान · प्राथमिकता · कौशल
योगदान
मुद्दे और PR स्वागत योग्य हैं। विकास Codeberg पर होता है — कृपया वहाँ मुद्दे और PR भेजें। OmniMem को विस्तारित करने के लिए डिज़ाइन किया गया है और स्कोरिंग पाइपलाइन संरचित है ताकि कोर को छुए बिना नए मल्टीप्लायर जोड़े जा सकें। नए MCP टूल, अतिरिक्त नेमस्पेस प्रकार और वैकल्पिक एम्बेडिंग बैकएंड सभी उचित दिशाएँ हैं।
लाइसेंस
MIT। उपयोग करने, फोर्क करने और संशोधित करने के लिए स्वतंत्र। कोई एंटरप्राइज़ टियर नहीं, कोई होस्टेड संस्करण नहीं, कोई शर्तें नहीं।
रिक हार्वे द्वारा निर्मित @ SquareCows Ltd, एक AI और स्वचालन परामर्श उन लोगों के लिए जो अपने टूल्स का स्वामित्व रखना पसंद करते हैं।