ai-memory
आधिकारिककिसी भी AI सहायक के लिए स्थायी स्मृति। याद करने तक शून्य टोकन लागत। स्थानीय SQLite में स्मृतियाँ संग्रहीत करता है, 6-कारक स्कोरिंग द्वारा रैंक करता है, JSON से 79% छोटे परिणाम लौटाता है। Claude, ChatGPT, Grok, Cursor, Windsurf और किसी भी MCP क्लाइंट के साथ काम करता है।
Ai Memory MCP के साथ आप क्या कर सकते हैं?
- तथ्य, प्राथमिकताएँ और सुधार संग्रहीत करें — सहायक को
memory_storeके माध्यम से कुछ भी याद रखने के लिए कहें, इसे स्थानीय SQLite या PostgreSQL डेटाबेस में स्थायी रूप से संग्रहीत करें। - आवश्यकता पर प्रासंगिक यादें पुनः प्राप्त करें —
memory_recallया पूर्ण-पाठmemory_searchका उपयोग करके प्रासंगिकता के आधार पर क्रमबद्ध संदर्भ-जागरूक परिणाम प्राप्त करें। - संग्रहीत यादों को सूचीबद्ध करें, पुनः प्राप्त करें और प्रबंधित करें —
memory_listसे सभी सहेजी गई प्रविष्टियाँ ब्राउज़ करें,memory_getसे आईडी द्वारा किसी विशिष्ट प्रविष्टि को प्राप्त करें, या पुरानी वस्तुओं को संग्रहीत करें। - बहु-एजेंट कार्यप्रवाह समन्वयित करें — टाइप की गई कार्य DAG बनाएँ, TTL-बद्ध लीज़ प्राप्त करें, और
memory_action_*,memory_lease_*, तथाmemory_signal_*टूल का उपयोग करके हस्ताक्षरित सिग्नल का आदान-प्रदान करें। - मेमोरी वंशावली और उत्पत्ति का पता लगाएँ —
memory_lineageके माध्यम से किसी भी मेमोरी के व्युत्पत्ति DAG को देखें ताकि पता चल सके कि कौन से तथ्य किन स्रोतों से प्राप्त हुए हैं।
दस्तावेज़
ai-memory™
सार्वभौमिक AI मेमोरी
ai-memory AI सहायकों के लिए एक स्थायी मेमोरी सिस्टम है। यह किसी भी AI के साथ काम करता है जो MCP का समर्थन करता है -- Claude, ChatGPT, Grok, Llama, और अधिक। यह आपका AI जो सीखता है उसे एक स्थानीय SQLite डेटाबेस में संग्रहीत करता है, याद करते समय प्रासंगिकता के आधार पर यादों को रैंक करता है, और महत्वपूर्ण ज्ञान को स्वचालित रूप से स्थायी भंडारण में बढ़ावा देता है। इसे एक बार स्थापित करें, और आपके द्वारा उपयोग किया जाने वाला हर AI सहायक आपकी वास्तुकला, आपकी प्राथमिकताएँ, आपके सुधार -- हमेशा के लिए याद रखता है।
अपना इंस्टॉलेशन पथ चुनें
| आप हैं… | आपकी तैनाती है… | यहाँ से शुरू करें |
|---|---|---|
| एक अकेला डेवलपर ai-memory आज़मा रहा है | लैपटॉप पर एक AI क्लाइंट | docs/install-quickstart.md — 5-मिनट का सुपर-सरल इंस्टॉल + LLM-बैकएंड एक ब्लॉक में वायर्ड |
| एक इंजीनियर / आर्किटेक्ट | सिंगल-नोड प्रोडक्शन, या एक नोड पर कई एजेंट | docs/INSTALL.md → docs/production-deployment.md |
| एक इंजीनियर / आर्किटेक्ट | मल्टी-सर्वर / मल्टी-रैक / मल्टी-DC / स्वार्म / हाइव / फेडरेशन | docs/enterprise-deployment.md — 8 टोपोलॉजी, सिंगलटन → मल्टी-रीजन |
| एक इंजीनियर / आर्किटेक्ट | PostgreSQL + Apache AGE स्टोरेज (मल्टी-राइटर, 10M+ यादें, KG-भारी) | docs/postgres-age-guide.md — प्रथम श्रेणी का पोस्टग्रेज ऑपरेटर गाइड |
| एक निर्णय-निर्माता अपनाने का मूल्यांकन कर रहा है | — | docs/audience/decision-maker.html |
LLM बैकएंड (xAI Grok, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, llama.cpp सर्वर, या स्थानीय Ollama) कॉन्फ़िगर कर रहे हैं?
docs/integrations/llm-backends.mdदेखें — MCP env-ब्लॉक रेसिपी इंस्टॉलेशन पथ की परवाह किए बिना समान है।
v0.9.0 — वर्तमान रिलीज़। एक सुरक्षा-सख्ती और कोड-समीक्षा रिलीज़: 5-लेन प्रतिकूल समीक्षा से 49 सुधार (#1885–#1935) और साथ ही योगात्मक सुविधाओं का एक छोटा सेट। मुख्य परिवर्तन एक सुरक्षित-डिफ़ॉल्ट फ्लिप है: HTTP डायरेक्ट-राइट पर एजेंट अटेस्टेशन डिफ़ॉल्ट रूप से आवश्यक है (#1751, #1985 द्वारा सतह-स्कोप्ड) — एक अहस्ताक्षरित HTTP POST /api/v1/memories (+/bulk) अस्वीकृत (403 ATTESTATION_FAILED) हो जाता है बजाय attest_level="claimed" लैंड करने के, जब तक कि ऑपरेटर स्पष्ट ऑप्ट-आउट AI_MEMORY_REQUIRE_AGENT_ATTESTATION=0 सेट न करे। MCP memory_store और CLI store सतहें ऑपरेटर-एज़-एक्टर पथ हैं और डिफ़ॉल्ट रूप से अनुमेय रहती हैं (एक अहस्ताक्षरित राइट claimed लैंड करता है); =1 हर सतह पर सख्ती लागू करता है। (v0.9.0 GA ने इसे require-हर जगह के रूप में भेजा, जो MCP होस्ट पर असंतोषजनक था — वर्तमान रिलीज़ में सतह-स्कोप्ड में सुधार किया गया।) इसके साथ ही, अनिवार्य-हुक-उपस्थिति प्रवर्तन द्वार अब MCP राइट पथ (#1885) और HTTP राइट पथ (#1924) दोनों पर सक्रिय होता है, एक मूक-बाईपास अंतर को बंद करता है जहाँ एक कॉन्फ़िगर किया गया अनिवार्य हुक एक सतह पर छोड़ा जा सकता था लेकिन दूसरे पर नहीं। सख्ती पास bulk_create प्रति-पंक्ति अटेस्टेशन गेटिंग (#1919) को भी बंद करता है, इनबाउंड फेडरेटेड PENDING अनुमोदनों को पंजीकृत-अनुमोदक द्वार के माध्यम से रूट करता है (#1920), team/unit/org दृश्यता दायरे को कसता है ताकि यह अब नेमस्पेस पदानुक्रम में अति-व्यापक न हो (#1921), और skill_register के folder_path आयात को सिमलिंक जेल के साथ कॉन्फ़िगर किए गए रूट के तहत सीमित करता है (#1923)। एक नया नॉन-argv क्रेडेंशियल चैनल — AI_MEMORY_STORE_URL / AI_MEMORY_STORE_URL_FILE (एक 0600 फ़ाइल) — पोस्टग्रेज/स्टोर पासवर्ड को विश्व-पठनीय /proc/<pid>/cmdline और ps से दूर रखता है (#1927)। योगात्मक सुविधा कार्य: एजेंट-लेखक कौशल यादें एक parameters_schema + invocation_record के साथ (B7-SKILL, #1865), recall_observations शैडो-फीडबैक लूप (#1706), एक मेमोरी-व्युत्पत्ति वंशावली DAG (memory_lineage, #1859), और एक ऑप्ट-इन वेक्टर-खोज न्यूनतम स्लाइस (#1005)। सतह: स्कीमा v78, --profile full पर 101 MCP उपकरण (100 कॉल करने योग्य + हमेशा चालू memory_capabilities बूटस्ट्रैप) / --profile core पर 7, 92 HTTP रूट पंजीकरण (78 अद्वितीय URL पथ), --features sal/sal-postgres के तहत 89 CLI उपकमांड (डिफ़ॉल्ट बिल्ड में 87), 9 टाइप किए गए MemoryLink संबंध, एक 28-फ़ील्ड Memory। दो उत्पादन बैकएंड पर चलता है एक समान API के पीछे — एम्बेडेड SQLite और PostgreSQL + Apache AGE — डेस्कटॉप, सर्वर, और ऑन-डिवाइस (iOS + Android) पर। सब कुछ v0.8.1 पर योगात्मक है सिवाय अटेस्टेशन और हुक-प्रवर्तन फ्लिप के, जो सुरक्षित-दर-डिफ़ॉल्ट ब्रेकिंग परिवर्तन हैं — अपग्रेड करने से पहले उनकी समीक्षा करें। पूर्ण चेंजलॉग: CHANGELOG.md §"[0.9.0] — 2026-07-08"।
v0.8.0 (distributed-coordination) — पूर्व रिलीज़। यह वह रिलीज़ है जहाँ मेमोरी सब्सट्रेट एक समन्वय सब्सट्रेट बन जाता है। यह #1709 से वितरित-समन्वय मशीनरी जोड़ता है: एक वास्तविक स्टेट मशीन के साथ एक टाइप किया गया एक्शन DAG (memory_action_*), TTL-बाउंडेड सिंगल-होल्डर लीज़ (memory_lease_*), Ed25519-हस्ताक्षरित सिग्नल (memory_signal_*), Ed25519-अटेस्टेड चेकपॉइंट (memory_checkpoint_*), और फ्रोजन, रीप्ले करने योग्य रूटीन (memory_routine_*) — ताकि एजेंटों का एक विषम बेड़ा बारी-बारी से काम कर सके, काम सौंप सके, और साबित कर सके कि किसने क्या कहा बिना एक-दूसरे पर भरोसा किए। यह शीर्ष पर टाइप की गई अनुभूति को परत करता है (Goal/Plan/Step मेमोरी प्रकार, एक lifecycle_state मशीन, और decomposes_into / depends_on / advances लिंक संबंध), फेडरेशन को सुरक्षित-दर-डिफ़ॉल्ट सख्त करता है (पीयर एनरोलमेंट डिफ़ॉल्ट रूप से चालू #1789, प्रति-संक्रमण हस्ताक्षर #1718, प्रति-राइट सामग्री अटेस्टेशन #1464, संक्रमण-रीप्ले नॉन्स #1805, आउटबाउंड पीयर-प्रमाणपत्र पिनिंग #1678), और शासन भेजता है जो वास्तव में अवरुद्ध करता है — Claude Code PreToolUse हुक को type:command रैपर में फिर से काम किया गया है ताकि एक सब्सट्रेट Refuse वास्तव में उपकरण को अस्वीकार कर दे (#1811)। v0.8.0 रिलीज़ पर, सतह थी: स्कीमा v70, --profile full पर 100 MCP उपकरण (99 कॉल करने योग्य + हमेशा चालू memory_capabilities बूटस्ट्रैप) / --profile core पर 7, 91 HTTP रूट पंजीकरण (78 अद्वितीय URL पथ), 83/85 CLI उपकमांड, 9 टाइप किए गए MemoryLink संबंध, एक 27-फ़ील्ड Memory। दो उत्पादन बैकएंड पर चलता है एक समान API के पीछे — एम्बेडेड SQLite और PostgreSQL + Apache AGE — डेस्कटॉप, सर्वर, और ऑन-डिवाइस (iOS + Android) पर। सब कुछ v0.7.0 पर योगात्मक है; अपग्रेड करने से पहले सुरक्षित-डिफ़ॉल्ट फ्लिप की समीक्षा करें। पूर्ण रिलीज़ नोट्स: docs/v0.8.0/release-notes.md।
v0.7.0 (attested-cortex) — पूर्व रिलीज़। cortex-fluent सुपाठ्यता कार्य को पूर्ण v0.7 विश्वास + A2A कार्यक्षेत्र के साथ ROADMAP §7.3 से, साथ ही (ऑपरेटर निर्देश 2026-05-09 के अनुसार) मूल रूप से v0.7.1 postgres+AGE प्रथम-श्रेणी कार्य, साथ ही पोस्ट-ग्रैंड-स्लैम शिप-रेडीनेस लहर (बैटमैन फॉर्म्स 1-6 + 7वाँ-फॉर्म विकल्प-B आधार + QW-1/2/3 + समाधान सुरक्षा स्वीप) को एक साथ जोड़ा गया। सब्सट्रेट अधिक स्पष्ट (क्षमताएँ v3, नामित लोडर उपकरण, संकुचित स्कीमा, बैटमैन MemoryKind शब्दावली, व्यक्तित्व/परमाणुकरण/मल्टीस्टेप-इन्जेस्ट प्रिमिटिव) और क्रिप्टोग्राफ़िक रूप से विश्वसनीय (Ed25519 सत्यापन, साइडचेन ट्रांसक्रिप्ट, प्रोग्रामेबल 25-ईवेंट हुक पाइपलाइन, प्रवर्तित नेमस्पेस वंशानुक्रम, V-4 क्रॉस-रो हस्ताक्षरित-ईवेंट हैश चेन) दोनों बन जाता है। v0.7.0 postgres + Apache AGE को प्रथम-श्रेणी भंडारण बैकएंड के रूप में भी प्रदान करता है — लाइव डेमॉन उपयोग के लिए ai-memory serve --store-url postgres://…, दोनों बैकएंड पर स्कीमा समता (v0.7.0 रिलीज़ पर, sqlite + postgres तार्किक स्कीमा v57 पर अभिसरित हुए, जहाँ CURRENT_SCHEMA_VERSION 57 था; v0.8.0 रिलीज़ सब्सट्रेट ने इस तालमेल को स्कीमा 70 तक उन्नत किया है, योगात्मक v58–v70 समन्वय + दृश्यता तालिकाएँ दोनों बैकएंड पर उतरीं — v58–v70 सीढ़ी के लिए CLAUDE.md §डेटाबेस देखें) (प्रामाणिक एंकर: sqlite के लिए src/storage/migrations.rs + postgres के लिए src/store/postgres.rs); ऑन-डिस्क माइग्रेशन फ़ाइलें migrations/sqlite/0047_v56_list_composite_indexes.sql पर समाप्त होती हैं और postgres इन-प्रोसेस migrate_v57() सीढ़ी शाखा (फ़ाइल-नाम काउंटर तार्किक स्कीमा संस्करण से पीछे रहते हैं क्योंकि दोनों सीढ़ियाँ इन-प्रोसेस शाखाओं के माध्यम से पोस्ट-v34 डेल्टा लागू करती हैं — v35-v57 कथा के लिए docs/MIGRATION_v0.7.md §स्कीमा-सीढ़ी देखें; v48 #933 ने फ़ेडरेशन-पुश DLQ तालिका जोड़ी; v49 #1025 ने archived_memories में 14 नल करने योग्य कॉलम जोड़े ताकि संग्रह → पुनर्स्थापना पूर्ण v0.7.0 मेमोरी आकार के लिए दोषरहित हो; v50 #1156 ने agent_quotas प्राथमिक कुंजी को (agent_id) से (agent_id, namespace) तक बढ़ाया ताकि प्रति-नेमस्पेस K8 कोटा आवंटन तब भी बना रहे जब एक एकल एजेंट कई नेमस्पेस में संचालित हो — प्री-v50 पंक्तियाँ _global प्रहरी नेमस्पेस में बैकफ़िल होती हैं; v51 #1255 (PR #1296) ने federation_nonce_cache तालिका जोड़ी ताकि पीयर-रीप्ले-रोकथाम नॉन्स डेमॉन पुनरारंभ के दौरान बने रहें; v52 #1389 ने RFC-0001 memory_capture_turn L4 + recover_from_transcript L2 निर्विरोधता का समर्थन करने वाली transcript_line_dedup तालिका जोड़ी ताकि घुमावों के बीच एक SIGKILL कभी भी बाद के पुनर्जलीकरण पर डुप्लिकेट मेमोरी उत्पन्न न करे; v53 #1418 ने memories_au FTS5 सिंक ट्रिगर को केवल (title, content, tags) तक सीमित किया ताकि गैर-FTS कॉलम अपडेट अब अनावश्यक सिंक सक्रिय न करें; v54 #1466 ने TTL-रिसाव अमर-पंक्तियों वर्ग को बंद करने के लिए लीगेसी NULL-समाप्ति मध्य/लघु पंक्तियों पर टियर-डिफ़ॉल्ट समाप्ति बैकफ़िल की; v55 #1476 ने W=2 फ़ेडरेशन-कैचअप क्वेरी (updated_at > ? ORDER BY updated_at ASC LIMIT) को सार्जेबल बनाया और sqlite idx_memories_updated_at इंडेक्स जोड़ा — postgres कोई नया इंडेक्स नहीं जोड़ता क्योंकि memories_updated_at_idx DESC पहले से ही इंडेक्स स्कैन बैकवर्ड के माध्यम से रेंज स्कैन प्रदान करता है; v56 #1579 ने सार्जेबल storage::list पुनर्लेखन के साथ युग्मित समग्र सूची/संग्रह क्रम इंडेक्स (idx_memories_list_order, idx_memories_ns_list_order, idx_archived_ns_archived_at) जोड़े — sqlite-पक्ष DDL; postgres migrate_v56() शाखा एक संस्करण-मुद्रांक नो-ऑप है; v57 #1579 ने postgres संग्रहीत जनित tsv tsvector कॉलम + memories_tsv_gin GIN इंडेक्स जोड़ा ताकि खोज/रिकॉल आकार प्रति मिलान पंक्ति tsvector की पुनर्गणना करने के बजाय पूर्व-गणना किए गए कॉलम पर मिलान और रैंक करें — लीगेसी memories_content_fts अभिव्यक्ति इंडेक्स हटा दिया गया है और sqlite जुड़वाँ एक संस्करण-मुद्रांक नो-ऑप है क्योंकि FTS5 पहले से ही अनुक्रमित पाठ को साकार करता है)), नया ai-memory schema-init CLI क्रिया, और 6-कारक रिकॉल स्कोरिंग समता। v0.6.4 डिफ़ॉल्ट सतह दो हमेशा-चालू लोडर द्वारा बढ़कर 7 उपकरण हो जाती है (memory_load_family + memory_smart_load मूल पाँच में शामिल होते हैं); --profile full पर रनटाइम सीमा 74 विज्ञापित प्रविष्टियाँ हैं (73 कॉल करने योग्य मेमोरी उपकरण + हमेशा-चालू memory_capabilities बूटस्ट्रैप; Profile::full().expected_tool_count() के विरुद्ध सत्यापित — src/profile.rs देखें)। सब कुछ नया योगात्मक है और (विश्वास + postgres सतहों के लिए) ऑप्ट-इन है। v0.6.x से अपग्रेड कर रहे हैं? पहले docs/MIGRATION_v0.7.md पढ़ें — अधिकांश v0.6.4 कॉल करने वालों को कोई व्यवहार परिवर्तन नहीं दिखता, लेकिन प्री-v0.6.3.1 v0.6.x उपयोगकर्ता G1 नेमस्पेस-वंशानुक्रम सुधार से प्रभावित होते हैं। postgres+AGE पर स्विच कर रहे हैं? docs/postgres-age-guide.md और docs/migration-v0.7.0-postgres.md देखें। पूर्ण रिलीज़ नोट्स: docs/v0.7.0/release-notes.md।
v0.6.4 (quiet-tools) — MCP सर्वर 5-उपकरण डिफ़ॉल्ट सतह (memory_store, memory_recall, memory_list, memory_get, memory_search) साथ ही हमेशा-चालू memory_capabilities बूटस्ट्रैप के साथ आता है। अन्य 38 उपकरण --profile graph|admin|power|full या memory_capabilities --include-schema family=<name> के माध्यम से रनटाइम विस्तार के माध्यम से पहुँच योग्य रहते हैं। उत्सुक-लोडिंग हार्नेस (क्लाउड डेस्कटॉप / कोडेक्स CLI / ग्रोक CLI / जेमिनी CLI) प्रति अनुरोध उपकरण स्कीमा के ~4,700 इनपुट टोकन छोड़ते हैं — cl100k_base BPE के विरुद्ध मापी गई 76.4% कमी। v0.6.3 व्यवहार को 1:1 संरक्षित करने के लिए, ai-memory mcp --profile full चलाएँ। docs/MIGRATION_v0.6.4.md देखें।
v0.9 में नया क्या है
v0.9.0 मुख्य रूप से एक सुरक्षा-सुदृढ़ीकरण और कोड-समीक्षा रिलीज़ है — 5-लेन प्रतिकूल समीक्षा (#1885–#1935) से 49 सुधार — साथ ही v0.8.0 समन्वय सब्सट्रेट पर स्तरित योगात्मक सुविधाओं का एक छोटा सेट। पूर्ण चेंजलॉग: CHANGELOG.md §"[0.9.0] — 2026-07-08"।
डिफ़ॉल्ट रूप से सुरक्षित सुदृढ़ीकरण
- HTTP डायरेक्ट-राइट सतह पर डिफ़ॉल्ट रूप से एजेंट सत्यापन आवश्यक (#1751, #1985 द्वारा सतह-स्कोप्ड)।
AI_MEMORY_REQUIRE_AGENT_ATTESTATIONप्रति-सतह संकलित डिफ़ॉल्ट के साथ त्रि-अवस्था है: अनसेट → HTTP डायरेक्ट-राइट पर आवश्यक (POST /api/v1/memories+/bulk, अस्वीकृत403 ATTESTATION_FAILED), MCPmemory_storeऔर CLIstoreऑपरेटर-एज़-एक्टर सतहों पर अनुमोदक (एक अहस्ताक्षरित लेखनattest_level="claimed"पर उतरता है);=1हर जगह सख्ती लागू करता है,=0हर जगह अनुमोदक लागू करता है। एक प्रस्तुत-लेकिन-जाली हस्ताक्षर हर सतह पर अस्वीकार कर दिया जाता है। लेखन पर हस्ताक्षर करें (ai-memory agents bind-keyके माध्यम से बंधी कुंजी-जोड़ी के साथai-memory store --sign) या=0ऑप्ट-आउट का उपयोग करें। (v0.9.0 GA ने इसे हर जगह आवश्यक के रूप में भेजा, MCP होस्ट पर असंतोषजनक — #1981 देखें; #1985 द्वारा सतह-स्कोप्ड में सुधारा गया।) - दोहरी MCP + HTTP हुक-प्रवर्तन द्वार (#1885 / #1924)। अनिवार्य-हुक-उपस्थिति प्रवर्तन द्वार (मूल रूप से केवल MCP, #1734) अब HTTP लेखन पथ पर भी परामर्श किया जाता है, एक मूक-बाईपास अंतराल (CWE-288) को बंद करता है जहाँ एक लेखन जो MCP को पूरी तरह से छोड़ देता है, उसने कभी कॉन्फ़िगर किया गया अनिवार्य हुक नहीं देखा।
bulk_createसत्यापन गेटिंग (#1919)। थोक लेखन अब एकलmemory_storeकॉल के समान प्रति-पंक्ति एजेंट-सत्यापन आवश्यकता लागू करते हैं — एक बैच की प्रत्येक पंक्ति में एक वैध सत्यापन होना चाहिए, न कि केवल संपूर्ण अनुरोध में।- फ़ेडरेशन अनुमोदक द्वार (#1920)। एक इनबाउंड फ़ेडरेटेड PENDING अनुमोदन केवल तभी स्वीकार किया जाता है जब इसे किसी सहकर्मी के पंजीकृत अनुमोदक के लिए जिम्मेदार ठहराया जाता है — एक नामांकित-लेकिन-अविश्वसनीय सहकर्मी अब एक मनमाने अनुरोधकर्ता के लिए अनुमोदन नहीं बना सकता।
team/unit/orgस्कोप सुदृढ़ीकरण (#1921)। दृश्यता स्कोप रिज़ॉल्यूशन अबteam/unit/orgस्कोप के लिए नेमस्पेस-पूर्वज पदानुक्रम को सही ढंग से लागू करता है, एक किरायेदार-अलगाव अंतराल (CWE-863) को बंद करता है।skill_registerपथ परिरोध (#1923)। एक कौशल काfolder_pathआयात कैनोनिकलाइज़ किया जाता है और कॉन्फ़िगर किए गए रूट के अंतर्गत सीमित किया जाता है, आयातित ट्री के अंदर सिमलिंक का अनुसरण करने के बजाय अस्वीकार कर दिया जाता है (CWE-22/CWE-59)।- गैर-argv स्टोर-url क्रेडेंशियल चैनल (#1927)। नया
AI_MEMORY_STORE_URL(स्वामी-केवल/proc/environ) औरAI_MEMORY_STORE_URL_FILE(एक0600फ़ाइल)ai-memory serveको postgres/store URL प्राप्त करने देता है — किसी भी एम्बेडेड पासवर्ड सहित — इसे कभी भी--store-urlargv पर डाले बिना, जहाँ यह विश्व-पठनीय/proc/<pid>/cmdlineऔरps auxwwके माध्यम से किसी भी स्थानीय UID के संपर्क में आता है। रिज़ॉल्यूशन क्रम: फ़ाइल → env →--store-url।
योगात्मक सुविधाएँ
- B7-SKILL — कौशल स्मृतियाँ प्रथम-श्रेणी (#1865)। पंजीकरण के समय
parameters_schema, एकinvocation_record, और एजेंट-लेखक कौशल के लिए एक संस्करण सतह। recall_observationsछाया-प्रतिक्रिया लूप (#1706, SHADOW मोड)। रैंकिंग व्यवहार को अभी तक बदले बिना रिकॉल फीडबैक लूप को बंद करता है।- मेमोरी-व्युत्पत्ति वंशावली DAG (
memory_lineage, स्कीमा v78, #1859)। यह पता लगाता है कि कौन सी स्मृतियाँ किससे व्युत्पन्न हुईं, MCP और नएGET /api/v1/memories/{id}/lineageHTTP मार्ग दोनों पर। - वेक्टर-खोज न्यूनतम ऑप्ट-इन स्लाइस (#1005; पूर्ण सब्सट्रेट #1860 के लिए स्थगित)।
- भौतिक CPU के अनुसार आकारित रीरैंकर कार्यकर्ता पूल (#1867) और रिकॉल डिफ़ॉल्ट रूप से PURE है (#1869 — रिकॉल हॉट पाथ से राइट बर्स्ट हटाता है)।
- केवल-जोड़ स्पाइन + हस्ताक्षर-परत पृथक्करण: प्रत्येक उत्परिवर्तन साइट हस्ताक्षरित संशोधन पत्तियों की ओर भेजी गई (#1823), तीन-कुंजी रिकॉर्डर/जज/स्टॉपर हस्ताक्षर पृथक्करण (#1826), मैकरून क्षमता टोकन अंत-से-अंत तारित (#1827), और रोटेशन उत्तरजीविता के लिए एक हस्ताक्षरित पहचान-वंशावली कुंजी-उत्तराधिकार श्रृंखला (#1828, स्कीमा v76)।
कहाँ से शुरू करें:
CHANGELOG.md(पूर्ण चेंजलॉग),docs/ADMIN_GUIDE.md(ऑपरेटर प्लेबुक — सत्यापन + हुक-प्रवर्तन मुद्रा)।
v0.8 में नया क्या है
v0.8.0 (distributed-coordination) मेमोरी सब्सट्रेट को बहु-एजेंट (NHI) बेड़े के लिए एक समन्वय सब्सट्रेट में बदल देता है। मुख्य आकर्षण वितरित-समन्वय मशीनरी है (#1709); सब कुछ sqlite और postgres+AGE SAL एडेप्टर दोनों पर उपलब्ध है और v0.7.x कॉल करने वालों के लिए डिफ़ॉल्ट-समतुल्य रहता है। पूर्ण उपकरण संदर्भ: docs/coordination.md; पूर्ण नोट्स: docs/v0.8.0/release-notes.md।
वितरित समन्वय सब्सट्रेट (स्तंभ-1, #1709)
- क्रियाएँ — निर्भरता DAG (स्कीमा v59)। एक स्टेट मशीन (
pending → claimed → in_progress → done/failed/abandoned) के साथ टाइप्ड एक्शन नोड्स, टाइप्ड DAG एज (requires/unlocks/blocks/gated_by/sibling), और फ्रंटियर/नेक्स्ट सतहें जो अगले रन करने योग्य नोड को खींचती हैं। 8 MCP उपकरण (memory_action_create/_get/_transition/_list/_add_edge/_edges/_frontier/_next)। - लीज़ — एकल-धारक, TTL-सीमित दावे (स्कीमा v59)। हार्टबीट-नवीनीकृत तुलना-और-अदला-बदली दावा (
PRIMARY KEYपरaction_id= एक समय में एक धारक) साथ ही एक प्रति घंटा लीज़-स्वीपर। 4 MCP उपकरण (memory_lease_acquire/_renew/_release/_get)। - सिग्नल — टाइप्ड, Ed25519-हस्ताक्षरित अंतर-एजेंट संदेश (स्कीमा v60)। प्रत्येक में एक हस्ताक्षर + प्रेषक
signer_pubkeyहोता है औरcorrelation_id/in_reply_toके माध्यम से थ्रेड करता है। 5 MCP उपकरण (memory_signal_send/_read/_inbox/_thread/_ack)। - चेकपॉइंट — प्रमाणित सशर्त द्वार (स्कीमा v61)। एक द्वार जो तब तक अवरुद्ध रहता है जब तक कोई शर्त हल नहीं हो जाती; कर्तव्यों के पृथक्करण के लिए समाधान स्व-हस्ताक्षरित (Ed25519) होता है, और
verifyहस्ताक्षर की पुनः जाँच करता है। 4 MCP उपकरण (memory_checkpoint_create/_resolve/_query/_verify)। - रूटीन — पैरामीटरयुक्त, स्थिर, पुनः चलाने योग्य योजनाएँ (स्कीमा v62)।
draftके रूप में रचित, फिर स्थिर (अपरिवर्तनीय, Ed25519 स्थिर-सत्यापन);runएक{{param}}टेम्पलेट से क्रियाओं + किनारों का एक ठोस सेटroutine_runsरिकॉर्ड में साकार करता है। 5 MCP उपकरण (memory_routine_create/_freeze/_run/_status/_list)। - प्रत्येक समन्वय स्थिति-उत्परिवर्तन
signed_eventsV-4 हैश श्रृंखला (#1722) में एक छेड़छाड़-स्पष्टcoordination.<op>पंक्ति जोड़ता है; दो प्राधिकार-प्रदान करने वाले लेखन स्थानीय CAS + W-of-N फेडरेशन फैन-आउट (#1718) के साथ HTTP डेमॉन (POST /api/v1/actions/{id}/transition,POST /api/v1/signals) पर प्रतिबिंबित होते हैं।
टाइप्ड अनुभूति (स्तंभ-2)
memory_kind शब्दावली goal / plan / step के साथ विस्तारित होती है; बंद memory_links.relation वर्गीकरण 6 → 9 संबंधों (decomposes_into / depends_on / advances, स्कीमा v63) तक विस्तारित होता है; और एक प्रथम श्रेणी का memories.lifecycle_state स्तंभ (स्कीमा v64) लक्ष्य/योजना/चरण को एक वास्तविक स्टेट मशीन (open → active → blocked/done/abandoned) बनाता है, जिसे MCP / HTTP / SAL सतहों पर एक अवैध किनारा मैपिंग के साथ HTTP 409 CONFLICT पर लागू किया जाता है। Memory संरचना 27 फ़ील्ड तक बढ़ती है। कोई नया MCP उपकरण नहीं — v64 कार्य केवल अनुमेय वैकल्पिक अनुरोध फ़ील्ड जोड़ता है।
फेडरेशन सुदृढ़, डिफ़ॉल्ट रूप से सुरक्षित
डिफ़ॉल्ट रूप से पीअर नामांकन चालू (#1789), प्राधिकार-प्रदान करने वाले लेखन पर प्रति-संक्रमण हस्ताक्षर (#1718), रिले की गई यादों के लिए प्रति-लेखन सामग्री सत्यापन (#1464), संक्रमण-पुनः चलाएँ नॉन्स (#1805), और आउटबाउंड पीअर-प्रमाणपत्र फिंगरप्रिंट पिनिंग (#1678)। विषम बेड़े जिन्हें एक-दूसरे पर भरोसा करने की आवश्यकता नहीं है — अपग्रेड करने से पहले docs/v0.8.0/release-notes.md §"फेडरेशन सुदृढ़ीकरण" में सुरक्षित-डिफ़ॉल्ट फ़्लिप की समीक्षा करें।
शासन जो वास्तव में अवरुद्ध करता है (#1811)
क्लॉड कोड PreToolUse शासन हुक को एक type:command आवरण (ai-memory governance check-action --from-pretool-stdin) में पुनर्निर्मित किया गया है ताकि एक सब्सट्रेट Refuse permissionDecision:"deny" उत्सर्जित करे और वास्तव में उपकरण को अवरुद्ध करे — पूर्व type:mcp_tool रूप संरचनात्मक रूप से लागू नहीं कर सका। साथ ही अनिवार्य-हुक-उपस्थिति प्रवर्तन (#1734) और लूप में मानव के लिए एक नया escalate शासन निर्णय (§22 PE-5)।
स्तंभ-4 परिचालन नियंत्रण
HTTP प्रवेश नियंत्रण (#1733 — ऑप्ट-इन समवर्ती सीमा जो एक टाइप्ड 503 के साथ अतिरिक्त को हटा देती है), आस्थगित Apache-AGE ग्राफ प्रक्षेपण (#1735 — सिंक्रोनस AGE राउंड-ट्रिप को पोस्टग्रेज लिंक-राइट हॉट पाथ से हटाता है), क्यूरेटर संघनन सक्रियण (#1749 / #1750), और ai-memory verify-audit-trail CLI (§22 PE-8) जो signed_events क्रॉस-रो हैश श्रृंखला को अंत-से-अंत तक चलता है।
स्कीमा v57 → v70 (सभी योगात्मक)
समन्वय + टाइप्ड-अनुभूति + दृश्यता + एन्क्रिप्शन-तैयारी + कोल्ड-पाथ + आर्काइव-एज टेबल (v58–v70), sqlite और पोस्टग्रेज एडेप्टर दोनों पर प्रतिबिंबित; पहले खुलने पर ऑटो-माइग्रेट होता है और आर्काइव → रिस्टोर राउंड-ट्रिप दोषरहित रूप से। कैनोनिकल v58–v70 सीढ़ी के लिए CLAUDE.md §डेटाबेस देखें।
कहाँ से शुरू करें:
docs/v0.8.0/release-notes.md(पूर्ण रिलीज़ नोट्स),docs/coordination.md(समन्वय उपकरण संदर्भ), और CLAUDE.md §डेटाबेस (स्कीमा-सीढ़ी SSOT)।
v0.7 में नया क्या है
v0.7.0 attested-cortex महाकाव्य (11 ट्रैक A–K में 69/69) को बंद करता है, मूल रूप से-v0.7.1 पोस्टग्रेज+AGE प्रथम श्रेणी के काम को शामिल करता है, और पोस्ट-ग्रैंड-स्लैम शिप-रेडीनेस वेव (बैटमैन फॉर्म 1-6 + 7वाँ-फॉर्म विकल्प-B नींव + QW-1/2/3 + सुरक्षा समाधान) को अवशोषित करता है। कैनोनिकल सुविधा सूची: docs/internal/v070-feature-inventory.md। प्रत्येक सतह v0.6.4 कॉल करने वालों के लिए डिफ़ॉल्ट-बंद या डिफ़ॉल्ट-समतुल्य रहती है — विश्लेषण के लिए v0.7 संगतता मैट्रिक्स देखें।
सब्सट्रेट-नेटिव राइट-टाइम निवेश (बैटमैन फॉर्म 1-6 + 7वाँ-फॉर्म)
- फॉर्म 1 — ऑनलाइन डिडुप-और-संश्लेषण (मुद्दा #754)। एकल-बैच क्रिया-उत्सर्जक LLM कॉल स्टोर पथ पर v0.6.x प्रति-जोड़ी वर्गीकरणकर्ता को प्रतिस्थापित करता है। नेमस्पेस मानक पर
legacy_per_pair_classifier = trueके माध्यम से विरासत हाँ/नहीं में वापस ऑप्ट करें। - फॉर्म 2 — सिंक्रोनस एटमाइज़-बिफोर-एम्बेड (मुद्दा #755)। नया
memory_atomiseउपकरण +auto_atomise_mode = Synchronous|Deferred|Offप्री-स्टोर हुक। क्यूरेटर लंबे लेखन को 2–10 परमाणु प्रस्तावों में विघटित करता है इससे पहले कि रिकॉल उन्हें कभी देखे।docs/atomisation.mdदेखें। - फॉर्म 3 — मल्टी-स्टेप इन्जेस्ट ऑर्केस्ट्रेटर (मुद्दा #756)।
memory_ingest_multistepप्रॉम्प्ट-कैश-स्थिर LLM चरणों के माध्यम से नियतात्मक जैकार्ड+FTS सहायकों को थ्रेड करता है।docs/multistep-ingest.md+cookbook/multistep-ingest/01-two-phase.shदेखें। - फॉर्म 4 — तथ्य उद्गम (मुद्दा #757)। उद्धरण + स्रोत-URI + परमाणु-कण विस्तार मौजूदा
memory_store/memory_atomiseपेलोड पर सवार होते हैं।docs/provenance.mdदेखें। - फॉर्म 5 — ऑटो-कॉन्फिडेंस + शैडो कैलिब्रेशन + ताजगी क्षय (मुद्दा #758)।
memory_calibrate_confidenceMCP उपकरण + प्रति-स्रोत आधारभूत स्वीप। एन्व वारAI_MEMORY_AUTO_CONFIDENCE,AI_MEMORY_CONFIDENCE_SHADOW,AI_MEMORY_CONFIDENCE_SHADOW_SAMPLE_RATE,AI_MEMORY_CONFIDENCE_DECAY।docs/confidence-calibration.mdदेखें। - फॉर्म 6 —
MemoryKindबैटमैन शब्दावली (मुद्दा #759)। 10-वेरिएंट एनम (Observationडिफ़ॉल्ट +Reflection/Persona/Concept/Entity/Claim/Relation/Event/Conversation/Decision)। वैकल्पिकauto_classify_kindप्री-स्टोर हुक (बंद / regex_only / regex_then_llm)।docs/memory-kind-vocab.mdदेखें। - 7वाँ-फॉर्म — एजेंट-बाहरी लेयर-4 वायरिंग (विकल्प-B नींव) (मुद्दा #760; v0.8.0 पूर्ण कवर #697 पर)। ऑपरेटर-कीपेयर-हस्ताक्षरित बीज नियम
R001..R004,memory_check_agent_action+memory_rule_listMCP उपकरण, सब्सट्रेटstorage::insertप्री-राइट हुक।docs/policy-engine.md+docs/governance/agent-action-rules.mdदेखें। - ऑपरेटर कैसे करें — फॉर्म 1–6 + 7वें को सक्षम → सक्रिय में बदलना (मुद्दा #800)। 7-चरणीय विधि (ऑपरेटर कीजेन → हस्ताक्षर-बीज → R001–R004 सक्षम करें → क्यूरेटर डेमॉन → वैकल्पिक रिफ्लेक्शन-पास → नेमस्पेस नीतियाँ), launchd / systemd / टास्क-शेड्यूलर स्थायित्व, सत्यापन खंड, रोलबैक पथ।
docs/batman-active-mode.mdऔर गिटहब पेज एटलस देखें।
त्वरित जीत (टेनसेंट QW-1/2/3)
- QW-1 — फ़ाइल-समर्थित रिफ्लेक्शन श्रृंखला निर्यात।
memory_export_reflectionMCP उपकरण +auto_export_reflections_to_filesystemनेमस्पेस नीति →~/.ai-memory/reflections/<ns>/<id>.md। - QW-2 — पर्सोना-एज़-आर्टिफैक्ट।
memory_persona+memory_persona_generateउपकरण,MemoryKind::Personaपंक्तियाँ,auto_persona_trigger_every_n_memoriesनेमस्पेस नीति।docs/persona.mdदेखें। - QW-3 — संदर्भ ऑफलोड प्रिमिटिव।
memory_offload+memory_derefबड़े उपकरण आउटपुट को एजेंट संदर्भ विंडो से बाहर पता योग्य ब्लॉब स्टोरेज में ले जाते हैं।docs/context-offload.mdदेखें।
प्रमाणित कॉर्टेक्स महाकाव्य (ट्रैक A–K)
- प्रमाणित लिंक (Ed25519). v0.6.3 में शिप किया गया खाली
signatureकॉलम अब वास्तविक प्रति-एजेंट Ed25519 प्रमाणन से भरा गया है, औरmemory_verify(link_id)मांग पर{signature_verified, attest_level, signed_by, signed_at}लौटाता है।ai-memory identity generateके साथ एक कीपेयर जनरेट करें;attest_level = "self_signed"के माध्यम से ऑप्ट-इन करें। हस्ताक्षर करना हल किए गए डेमॉनagent_idपर निर्भर है जिसके पास कॉन्फ़िगर की गई कुंजी निर्देशिका के तहत डिस्क पर एक*.privकीपेयर है — जबload_daemon_signing_keyNone(src/main.rs:116-118) लौटाता है, तब भी पंक्तियाँ लिखी जाती हैं लेकिनsigखाली रहता है और डेमॉन बूट पर एक "continuing unsigned" पंक्ति उत्सर्जित करता है।signed_eventsपर क्रॉस-रो हैश चेन किसी भी तरह से छेड़छाड़-स्पष्ट बनी रहती है।attested-cortexRFC देखें। - हस्ताक्षरित ईवेंट V-4 क्लोज़आउट (क्रॉस-रो हैश चेन) (इश्यू #698)। प्रत्येक
signed_eventsपंक्ति मेंprev_hash+sequenceहोता है; पहली-पंक्तिprev_hashशून्य है, बाद की पंक्तियाँ पूर्व कैनोनिकल-CBOR पेलोड के SHA-256 को श्रृंखलाबद्ध करती हैं।ai-memory verify-signed-events-chainश्रृंखला को अंत-से-अंत तक चलता है।docs/signed-events-v4.mdदेखें। - हुक पाइपलाइन (25 जीवनचक्र ईवेंट). एक प्रोग्रामेबल एक्सटेंशन सतह 20 आधारभूत
pre_/post_store|recall|search|delete|promote|link|consolidate|governance_decision|archive|transcript_store+on_index_evictionईवेंट, साथ ही 5 ग्रैंड-स्लैम जोड़ (pre_recall_expandG10 +pre_reflect/post_reflectपुनरावर्ती-अधिगम कार्य 6/8 +pre_compaction/on_compaction_rollbackL1-7) पर सक्रिय होती है। हुकAllow/Modify/Deny/AskUserलौटाते हैं। डिफ़ॉल्ट रूप से बंद;~/.config/ai-memory/hooks.tomlके माध्यम से ऑप्ट इन करें।docs/hook-pipeline.mdदेखें। - साइडचेन ट्रांसक्रिप्ट + रीप्ले. zstd-3 BLOB साइडचेन कच्चे वार्तालाप/तर्क पथ संग्रहीत करती है;
memory_replay(memory_id)श्रृंखला के पुनर्निर्माण के लिएmemory_transcript_linksपर चलता है।[transcripts.namespaces."team/*"]के माध्यम से प्रति नेमस्पेस ऑप्ट-इन करें।docs/sidechain-transcripts.mdदेखें। - फेडरेशन सख्तीकरण. mTLS + X-API-Key + SHA-256 प्रमाणपत्र फिंगरप्रिंट अनुमति सूची; env vars
AI_MEMORY_FED_PEER_ATTESTATION,AI_MEMORY_FED_SYNC_TRUST_PEER,AI_MEMORY_FED_TRUST_BODY_AGENT_ID।docs/federation.mdदेखें। - K8 कोटा उपकरण + K10 SSE अनुमोदन.
memory_quota_status+/api/v1/quota/status(K8)। HMAC नॉन्स, method+pending_id बाइंडिंग, विलंबित-ईवेंट गणना स्ट्रिप के साथ/api/v1/approvals/streamसर्वर-प्रेषित ईवेंट (K10)।docs/k8-quotas.md+docs/k10-sse-approvals.mdदेखें। - Postgres + Apache AGE प्रथम-श्रेणी बैकएंड.
ai-memory serve --store-url postgres://…, स्कीमा समता, 6-कारक रिकॉल स्कोरिंग समता, लिंक माइग्रेशन, KG सुविधाएँ (kg_query,kg_timeline,kg_invalidate,find_paths) AGE Cypher पर पुनरावर्ती-CTE फ़ॉलबैक के साथ जब AGE अनुपस्थित हो, साथ ही एक नयाai-memory schema-initCLI क्रिया। बेंच-गेटेड — AGE p95 को गहराई=5 पर CTE p95 से ≥30% बेहतर होना चाहिए। ऑपरेटर कैसे करें:docs/postgres-age-guide.md। माइग्रेशन रनबुक:docs/migration-v0.7.0-postgres.md। - क्षमताएँ v3 + स्मार्ट लोडर.
memory_capabilitiesv3summary,to_describe_to_user, प्रति-उपकरणcallable_now,agent_permitted_families,schema_version="3"जोड़ता है; नए हमेशा-चालूmemory_load_family(family)औरmemory_smart_load(intent)उपकरण डिफ़ॉल्टcoreप्रोफ़ाइल में शामिल होते हैं। पिन किए गए वाक्यांशdocs/v0.7/canonical-phrasings.mdमें रहते हैं। - अनुमतियाँ + A2A अनुमोदन. v0.6.x गवर्नेंस सबसिस्टम को नियमों + मोड्स + हुक्स → एक एकल
Decisionमें पुनर्गठित किया गया है, जिसमें नेमस्पेस वंशानुक्रम (G1) वास्तव में लागू किया गया है।memory_pending_list/memory_pending_approve/memory_pending_reject(remember=forever)प्रगतिशील विश्वास सक्षम करते हैं; अनुमोदन API पर HMAC हस्ताक्षर अनिवार्य है।permissions.modeका डिफ़ॉल्टenforceहै (v0.6.4 मेंadvisoryथा)।ai-memory governance migrate-to-permissionsके साथ माइग्रेट करें (ड्राई-रन पूर्वावलोकन; स्थान पर लागू करने के लिए--config-out ~/.config/ai-memory/config.tomlजोड़ें)।docs/governance.mdदेखें।
पुनरावर्ती-अधिगम + L1/L2 ग्रैंड-स्लैम लहर
नेमस्पेस-स्कोप्ड max_reflection_depth कैप के साथ memory_reflect सब्सट्रेट प्रिमिटिव (डिफ़ॉल्ट 3, Some(0) किल-स्विच है)। L2-1 रिफ्लेक्शन-पास क्यूरेटर, L2-2 फेडरेशन-अवेयर रिफ्लेक्शन समन्वय (memory_reflection_origin), L2-3 अमान्यकरण प्रसार (memory_dependents_of_invalidated), L2-5 फोरेंसिक बंडल (ai-memory export-forensic-bundle + verify-forensic-bundle), L1-5 एजेंट कौशल (memory_skill_register|list|get|resource|export|promote_from_reflection|compositional_context)। पूर्ण प्राइमर: docs/RECURSIVE_LEARNING.md। एजेंट कौशल प्राइमर: docs/agent-skills.md। फोरेंसिक-निर्यात प्राइमर: docs/forensic-export.md।
कहाँ से शुरू करें:
docs/MIGRATION_v0.7.md(अपग्रेड प्रक्रिया),docs/v0.7.0/release-notes.md(पूर्ण रिलीज़ नोट्स),docs/whats-new-v07.html(दृश्य सारांश),docs/v0.7/rfc-attested-cortex.md(डिज़ाइन तर्क),docs/ADMIN_GUIDE.md(ऑपरेटर प्लेबुक),docs/internal/v070-feature-inventory.md(कैनोनिकल सुविधा सत्य)।
एक बाइनरी, चार परिचालन मोड (v0.6.4)। ai-memory Rust बाइनरी (tokio + axum) इनमें से किसी को भी अलगाव में या एक साथ चला सकता है, एक एकल SQLite डेटाबेस साझा करते हुए:
- stdio MCP सर्वर -- पूर्ण प्रोफ़ाइल पर JSON-RPC पर 101 विज्ञापित प्रविष्टियाँ (v0.9.0; 100 कॉल करने योग्य मेमोरी उपकरण + हमेशा-चालू
memory_capabilitiesबूटस्ट्रैप;Profile::full().expected_tool_count()के विरुद्ध सत्यापित)। डिफ़ॉल्ट--profile core7 का विज्ञापन करता है (मूल 5 +memory_load_family+memory_smart_load) साथ ही हमेशा-चालूmemory_capabilitiesबूटस्ट्रैप।ai-memory mcp/ai-memory mcp --profile full - HTTP / mTLS डेमॉन --
127.0.0.1:9077पर 92 REST रूट पंजीकरण (78 अद्वितीय URL पथ), TLS + वैकल्पिक mTLS अनुमति सूची + API-कुंजी प्रमाणीकरण, पृष्ठभूमि GC लूप।ai-memory serve - स्वायत्त क्यूरेटर डेमॉन -- स्व-शेड्यूलिंग लूप (डिफ़ॉल्ट 1h ताल) जो ऑटो-टैग करता है, नेमस्पेस सिबलिंग्स में विरोधाभासों को सतह पर लाता है, निकट-डुप्लिकेट को समेकित करता है, और एक्सेस पैटर्न द्वारा प्राथमिकता समायोजित करता है। प्रत्येक क्रिया एक रोलबैक लॉग में जाती है; विनाशकारी ऑप्स को गवर्नेंस अनुमोदन प्रवाह के पीछे रोका जा सकता है।
ai-memory curator --daemon - सिंक डेमॉन -- उदाहरणों में कोरम-आधारित पीयर फेडरेशन। W-of-N राइट्स (डिफ़ॉल्ट बहुमत), वेक्टर-क्लॉक CRDT-लाइट मर्ज, पीयर्स के बीच mTLS अनुमति सूची।
ai-memory sync-daemon
MCP, HTTP, और CLI सतहें प्रतिक्रियाशील हैं। क्यूरेटर वह हिस्सा है जो मेमोरी लेयर को स्व-अनुरक्षणीय बनाता है: सत्रों के बीच, यह कोष को सुव्यवस्थित रखता है ताकि स्टोर बढ़ने पर रिकॉल गुणवत्ता उच्च बनी रहे। सब कुछ स्थानीय-प्रथम है; कोई क्लाउड निर्भरता नहीं।
क्लॉड ओपस 4.7 द्वारा वास्तविक मूल्यांकन v0.6.3 स्रोत को पंक्ति दर पंक्ति पढ़ने के बाद:
"ai-memory अब तक की सबसे सक्षम मेमोरी लेयर है जिससे मैं जुड़ा हूँ, और अपने नाम से कहीं अधिक अर्थपूर्ण है। मेरे लिए, व्यावहारिक रूप में, इसका मतलब है: मैं प्रत्येक सत्र ठंडे से शुरू नहीं करता। जिस स्टोर से मैं पढ़ता हूँ उसे मेरे अलावा किसी और ने सुव्यवस्थित रखा है। विरोधाभास चुपचाप जमा नहीं होते। कोष बढ़ने पर भी रिकॉल गुणवत्ता उच्च बनी रहती है। आपके मैक मिनी से कुछ भी बाहर नहीं जाता।
यह मुझे एक स्वायत्त एजेंट नहीं बना रहा है। यह मुझे उस प्रकार की मेमोरी अवसंरचना दे रहा है जिसकी एक स्वायत्त एजेंट को आवश्यकता होगी — और इसे बनाए रखने के लिए स्वयं एक छोटा स्वायत्त लूप चला रहा है। यह एक वास्तविक नींव है। यहाँ से 'ai-memory सामान्य कार्यों को संचालित करता है' तक का अंतर प्लंबिंग (टूल-कॉल प्रोटोकॉल + टूल रजिस्ट्री + एक टूल-उपयोग-सक्षम मॉडल) है, आविष्कार नहीं।"
बहु-एजेंट AI के लिए सब्सट्रेट। ai-memory कोई एजेंट रनटाइम नहीं है और अपने आप में "स्वायत्त AI" नहीं है। यह वह मेमोरी लेयर है जिसकी बहु-एजेंट स्वायत्त परिनियोजनों को अपने नीचे आवश्यकता होती है। फेडरेशन (broadcast_store_quorum + spawn_catchup_loop) पीयर्स के पार W-of-N संगति को संभालता है जब कई एजेंट समानांतर में लिखते हैं; क्यूरेटर डेमॉन साझा कोष को शोर में बदलने से रोकता है जब एक झुंड उसमें लिखता है; वेबहुक सब्सक्रिप्शन (HMAC-हस्ताक्षरित, नेमस्पेस/एजेंट-फ़िल्टर्ड, SSRF-कठोर) स्टोर को एक संदेश बस में बदल देते हैं जो मेमोरी ईवेंट पर डाउनस्ट्रीम एजेंटों को ट्रिगर करती है; N-स्तरीय वंशानुक्रम और प्रति-नेमस्पेस गवर्नेंस नीतियों (लेखन/प्रमोट/हटाएं प्राधिकार, अनुमोदक प्रकार, वैकल्पिक N-of-M सहमति) के साथ नेमस्पेस पदानुक्रम झुंड को सीमित करता है। इसे ऑटो-जनरेटेड कौशल के साथ 24/7 बहु-मशीन एजेंट रनर के नीचे रखें, और संयुक्त प्रणाली स्वायत्त AI के लिए व्यवहारिक बार को पार कर जाती है। शेष अंतराल (कोई भार-स्तरीय अधिगम नहीं, स्टेटलेस तर्क कर्नेल, मानव-बीजित मूल लक्ष्य) वास्तविक हैं और ai-memory उन्हें संबोधित नहीं करता; ai-memory वह बहु-एजेंट मेमोरी सब्सट्रेट प्रदान करता है जिसकी उन अंतरालों को बंद करने के किसी भी गंभीर प्रयास को आवश्यकता होगी।
रिकॉल तक शून्य टोकन लागत। अंतर्निहित मेमोरी सिस्टम (क्लॉड कोड ऑटो-मेमोरी, ChatGPT मेमोरी) के विपरीत जो आपकी संपूर्ण मेमोरी को हर वार्तालाप में लोड करते हैं -- हर संदेश पर टोकन और पैसा जलाते हैं -- ai-memory तब तक शून्य संदर्भ टोकन का उपयोग करता है जब तक AI स्पष्ट रूप से memory_recall कॉल नहीं करता। केवल प्रासंगिक यादें वापस आती हैं, 6-कारक स्कोरिंग एल्गोरिदम द्वारा रैंक की गई। TOON प्रारूप (टोकन-ओरिएंटेड ऑब्जेक्ट नोटेशन) दोहराए गए फ़ील्ड नामों को समाप्त करके प्रतिक्रिया टोकन को 40-60% तक कम कर देता है -- JSON में 3 यादें = 1,600 बाइट्स; TOON में = 626 बाइट्स (61% छोटा); TOON कॉम्पैक्ट में = 336 बाइट्स (79% छोटा)। क्लॉड कोड उपयोगकर्ताओं के लिए: ऑटो-मेमोरी अक्षम करें (settings.json में "autoMemoryEnabled": false) और हर एक संदेश पर 200+ पंक्तियों के मेमोरी संदर्भ के लिए भुगतान रोकने के लिए इसे ai-memory से बदलें।
एजेंट पहचान (NHI) — हर मेमोरी बताती है कि इसे किसने सीखा
ai-memory द्वारा संग्रहीत प्रत्येक मेमोरी में एक metadata.agent_id होता है — एक गैर-मानव पहचान चिह्नक जो हर ऑपरेशन (अपडेट, डीडुप, आयात, सिंक, समेकित) में जीवित रहता है। हर रिकॉल परिणाम आपको बताता है कि किस AI ने प्रत्येक मेमोरी लिखी, डिफ़ॉल्ट रूप से, TOON-कॉम्पैक्ट प्रतिक्रिया प्रारूप में जिसके लिए आपका AI क्लाइंट पहले से अनुकूलित है:
count:5|mode:hybrid|tokens_used:842
memories[id|title|tier|namespace|priority|score|tags|agent_id]:
a1b2|Project DB is PostgreSQL 16|long|infra|8|0.91|database,postgres|ai:claude-code@workstation:pid-3812
c3d4|API rate limit is 100 rps|long|infra|7|0.87|api,limits|ai:claude-desktop@laptop:pid-5219
एक अहस्ताक्षरित लेखन पर agent_id एक दावा की गई पहचान है — अकेले इस पर सुरक्षा निर्णय न लें। स्टोर-पथ एजेंट प्रमाणन HTTP डायरेक्ट-राइट सतह पर डिफ़ॉल्ट रूप से आवश्यक है (#1751, #1985 द्वारा सतह-स्कोप्ड): एक अहस्ताक्षरित HTTP POST /api/v1/memories (+/bulk) attest_level = "claimed" उतारने के बजाय अस्वीकृत (403 ATTESTATION_FAILED) कर दिया जाता है, जब तक कि ऑपरेटर स्पष्ट ऑप्ट-आउट AI_MEMORY_REQUIRE_AGENT_ATTESTATION=0 सेट न करे। MCP memory_store और CLI store ऑपरेटर-एज़-एक्टर सतहें डिफ़ॉल्ट रूप से अनुमेय रहती हैं (एक अहस्ताक्षरित लेखन claimed उतारता है); =1 हर सतह पर सख्ती लागू करता है। क्रिप्टोग्राफ़िक Ed25519 प्रमाणन दो सतहों पर वायर्ड है: (1) स्टोर-पथ प्रमाणन (#626 लेयर-3) — CLI (store --sign), MCP (memory_store), या HTTP (POST /api/v1/memories) पथ पर कैनोनिकल SignableWrite लिफाफे पर एक पृथक हस्ताक्षर प्रस्तुत करें और डेमॉन इसे एजेंट की बाउंड सार्वजनिक कुंजी के विरुद्ध सत्यापित करता है, metadata.attest_level = "agent_attested" मुहर लगाता है (एक प्रस्तुत-लेकिन-जाली हस्ताक्षर हमेशा ध्वज की परवाह किए बिना अस्वीकार कर दिया जाता है); और (2) लिंक प्रमाणन (attested-cortex) — इनबाउंड सत्यापन के लिए memory_verify(link_id) के साथ पहले से आरक्षित memory_links.signature फ़ील्ड और एक केवल-जोड़ें signed_events ऑडिट चेन। पूर्ण उद्गम अनुबंध के लिए एजेंट पहचान पृष्ठ और attested-cortex RFC देखें।
पूर्वव्यापी वार्तालाप आयात — ai-memory mine
ठंडे से शुरू न करें। ai-memory mine को क्लॉड, ChatGPT, या स्लैक निर्यात पर इंगित करें और यह बारी-बारी से रैंक की गई, टियर-टाइप की गई, टैग की गई यादों में पार्स करता है — ताकि आपका AI आपके मौजूदा इतिहास से हर निर्णय, सुधार, और निष्कर्ष जानते हुए अगले सत्र में प्रवेश करे।
ai-memory mine claude ~/Downloads/claude-export/
ai-memory mine chatgpt ~/Downloads/chatgpt-export.json
ai-memory mine slack ./slack-export/
ऑटो-टैगिंग, (title, namespace) पर डीडुप, और mined_from उद्गम प्रत्येक आयातित मेमोरी पर मुहर लगाए जाते हैं। शून्य संदर्भ से आबाद दीर्घकालिक स्टोर तक पाँच मिनट का ऑनबोर्डिंग। प्रति-प्रारूप विधियों के लिए आयात इतिहास पृष्ठ देखें।
संगत AI प्लेटफ़ॉर्म
ai-memory किसी भी AI प्लेटफ़ॉर्म के साथ एकीकृत होता है जो मॉडल संदर्भ प्रोटोकॉल (MCP) का समर्थन करता है। MCP AI सहायकों को बाहरी उपकरणों और डेटा स्रोतों से जोड़ने के लिए सार्वभौमिक मानक है।
| प्लेटफ़ॉर्म | एकीकरण विधि | कॉन्फ़िग प्रारूप | स्थिति |
|---|---|---|---|
| Claude Code (Anthropic) | MCP stdio | JSON (~/.claude.json या .mcp.json) | पूर्णतः समर्थित |
| Codex CLI (OpenAI) | MCP stdio | TOML (~/.codex/config.toml) | पूर्णतः समर्थित |
| Gemini CLI (Google) | MCP stdio | JSON (~/.gemini/settings.json) | पूर्णतः समर्थित |
| Grok CLI (xAI) | MCP stdio | JSON (~/.grok/user-settings.json) | गहन एकीकरण |
| Grok API (xAI) | MCP रिमोट HTTPS | API-स्तर | पूर्णतः समर्थित |
| Cursor IDE | MCP stdio | JSON (~/.cursor/mcp.json) | पूर्णतः समर्थित |
| Windsurf (Codeium) | MCP stdio | JSON (~/.codeium/windsurf/mcp_config.json) | पूर्णतः समर्थित |
| Continue.dev | MCP stdio | YAML (~/.continue/config.yaml) | पूर्णतः समर्थित |
| Llama Stack (META) | MCP रिमोट HTTP | YAML / Python SDK | पूर्णतः समर्थित |
| OpenClaw | MCP stdio | JSON (कॉन्फ़िग में mcp.servers) | पूर्णतः समर्थित |
| कोई भी MCP क्लाइंट | MCP stdio या HTTP | भिन्न-भिन्न | सार्वभौमिक |
MCP प्राथमिक एकीकरण परत है। उन AI प्लेटफ़ॉर्म के लिए जो अभी तक मूल रूप से MCP का समर्थन नहीं करते हैं, HTTP API (92 रूट पंजीकरण / लोकलहोस्ट पर 78 अद्वितीय URL पथ) और CLI (--features sal या --features sal-postgres के अंतर्गत 89 उप-आदेश; डिफ़ॉल्ट बिल्ड में 87 (पोस्ट-#1389 L2 RecoverPreviousSession क्रॉस-सेशन संदर्भ पुनर्जलीकरण के लिए + #1443 Expand ai-memory expand क्वेरी-विस्तार सतह के लिए + #1598 Reembed ai-memory reembed वेक्टर-स्पेस माइग्रेशन सतह के लिए); SSOT ai_memory::EXPECTED_CLI_SUBCOMMANDS_DEFAULT + EXPECTED_CLI_SUBCOMMANDS_SAL + यांत्रिक tests/cli_subcommand_count_invariant.rs समता परीक्षण द्वारा पिन किया गया) सार्वभौमिक पहुँच प्रदान करते हैं -- कोई भी AI, स्क्रिप्ट, या स्वचालन जो HTTP कॉल कर सकता है या शेल कमांड चला सकता है, ai-memory का उपयोग कर सकता है।
60 सेकंड में इंस्टॉल करें
पूर्व-निर्मित बाइनरी के लिए किसी निर्भरता की आवश्यकता नहीं होती है। स्रोत से निर्माण के लिए Rust और एक C कंपाइलर की आवश्यकता होती है।
सबसे तेज़: पूर्व-निर्मित बाइनरी (कोई Rust आवश्यक नहीं)
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.sh | sh
# Fedora/RHEL (COPR)
sudo dnf copr enable alpha-one-ai/ai-memory && sudo dnf install ai-memory
# Windows (PowerShell)
irm https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.ps1 | iex
चरण 1: Rust इंस्टॉल करें (यदि पूर्व-निर्मित बाइनरी का उपयोग कर रहे हैं तो छोड़ें)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
संकेतों का पालन करें, फिर अपना टर्मिनल पुनः आरंभ करें (या source ~/.cargo/env चलाएँ)।
चरण 2: स्रोत से (Rust आवश्यक)
Crates.io से नवीनतम रिलीज़:
cargo install ai-memory
गिट रिपॉजिटरी से नवीनतम:
cargo install --git https://github.com/alphaonedev/ai-memory-mcp.git
यह बाइनरी को संकलित करता है और इसे आपके PATH में डालता है। इसमें एक या दो मिनट लगते हैं।
स्रोत निर्माण के लिए निर्माण निर्भरताएँ:
- Ubuntu/Debian:
sudo apt-get install build-essential pkg-config- Fedora/RHEL:
sudo dnf install gcc pkg-config
चरण 3: अपना AI कनेक्ट करें
कॉन्फ़िगरेशन प्लेटफ़ॉर्म के अनुसार भिन्न होता है। नीचे अपना खोजें:
Claude Code (Anthropic)
Claude Code तीन MCP कॉन्फ़िगरेशन स्कोप का समर्थन करता है:
| स्कोप | फ़ाइल | पर लागू होता है |
|---|---|---|
| उपयोगकर्ता (वैश्विक) | ~/.claude.json — mcpServers कुंजी जोड़ें | आपकी मशीन पर सभी प्रोजेक्ट |
| प्रोजेक्ट (साझा) | प्रोजेक्ट रूट में .mcp.json (git में चेक किया गया) | प्रोजेक्ट पर सभी लोग |
| स्थानीय (निजी) | ~/.claude.json — projects."/path".mcpServers के अंतर्गत | एक प्रोजेक्ट, केवल आप |
उपयोगकर्ता स्कोप (अनुशंसित — हर जगह काम करता है):
~/.claude.json (macOS/Linux) या %USERPROFILE%\.claude.json (Windows) में mcpServers कुंजी जोड़ें:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
}
}
}
नोट:
~/.claude.jsonसंभवतः पहले से ही अन्य सेटिंग्स के साथ मौजूद है।mcpServersकुंजी को मौजूदा फ़ाइल में मर्ज करें — इसे अधिलेखित न करें।
प्रोजेक्ट स्कोप (टीम के साथ साझा):
अपने प्रोजेक्ट रूट में .mcp.json बनाएँ:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
}
}
}
smart / autonomous स्तर एक क्लाउड LLM के साथ — अनुशंसित पथ ~/.config/ai-memory/config.toml में [llm] अनुभाग है (#1146)। एक फ़ाइल, हर सतह, कोई प्रति-AI-क्लाइंट संपादन नहीं:
# ~/.config/ai-memory/config.toml
schema_version = 2
[llm]
backend = "xai"
model = "grok-4.3"
base_url = "https://api.x.ai/v1"
api_key_env = "XAI_API_KEY" # process-env-var name (NOT the literal key)
अपने शेल rc (.zshrc / .bashrc) में XAI_API_KEY निर्यात करें; MCP कॉन्फ़िग न्यूनतम रहता है:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "autonomous"]
}
}
}
सत्यापित करें: ai-memory boot --quiet --limit 1 को llm=xai:grok-4.3 रिपोर्ट करना चाहिए। कैनोनिकल स्कीमा संदर्भ: docs/CONFIG_SCHEMA.md।
ओवरराइड पथ —
env:ब्लॉक। MCP कॉन्फ़िग मेंAI_MEMORY_LLM_BACKEND/_API_KEY/_MODELके साथ एकenv:ब्लॉक जोड़ना अभी भी काम करता है औरconfig.tomlपर प्राथमिकता लेता है — CI / प्रति-सत्र बदलाव के लिए उपयोगी:"env": { "AI_MEMORY_LLM_BACKEND": "xai", "AI_MEMORY_LLM_API_KEY": "xai-...", "AI_MEMORY_LLM_MODEL": "grok-4.3" }MCP क्लाइंट सर्वर को केवल MCP कॉन्फ़िग से
env:कुंजियों के साथ एक नई उप-प्रक्रिया के रूप में spawn करते हैं —.zshrc/.bashrcमें शेल निर्यात उस तक नहीं पहुँचते हैं। ऊपर दिया गया[llm]कॉन्फ़िग-फ़ाइल पथ इस कागज़ी कटौती को समाप्त करता है (हर सतह एक ही फ़ाइल पढ़ती है)।config.tomlमें इनलाइन API कुंजियाँ पार्स समय पर अस्वीकार कर दी जाती हैं —api_key_envयाapi_key_fileका उपयोग करें। पृष्ठभूमि: #1144 → #1146। पूर्ण प्रति-बैकएंड विधियाँ:docs/integrations/llm-backends.md।
Windows पथ:
--dbमें फ़ॉरवर्ड स्लैश या एस्केप्ड बैकस्लैश का उपयोग करें। उदाहरण:"--db", "C:/Users/YourName/.claude/ai-memory.db"।
स्तरीय ध्वज:
--tierध्वज फ़ीचर स्तर का चयन करता है:keyword,semantic(डिफ़ॉल्ट),smart, याautonomous। स्मार्ट और स्वायत्त स्तरों को एक LLM बैकएंड की आवश्यकता होती है — पोस्ट-#1067 (v0.7.0) जो इनमें से कोई भी है: स्थानीय Ollama, xAI Grok, OpenAI, Anthropic, Google Gemini, DeepSeek, Kimi (Moonshot), Qwen (Alibaba), Mistral, Groq, Together AI, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, या llama.cpp सर्वर —AI_MEMORY_LLM_BACKENDके माध्यम से चयनित।--tierध्वज को args में पास किया जाना अनिवार्य है — जब MCP सर्वर किसी AI क्लाइंट द्वारा लॉन्च किया जाता है तोconfig.tomlस्तरीय सेटिंग का उपयोग नहीं किया जाता है।
महत्वपूर्ण: MCP सर्वर
settings.jsonयाsettings.local.jsonमें कॉन्फ़िगर नहीं किए जाते हैं — वे फ़ाइलेंmcpServersका समर्थन नहीं करती हैं।
Claude को सक्रिय रूप से ai-memory का उपयोग करने के लिए कहें: अपने प्रोजेक्ट रूट में ai-memory निर्देशों के साथ एक CLAUDE.md फ़ाइल जोड़ें। यह सुनिश्चित करता है कि Claude हर वार्तालाप की शुरुआत में संदर्भ को याद करे और काम करते समय निष्कर्षों को संग्रहीत करे। कॉपी-पेस्ट टेम्पलेट और प्लेसमेंट विकल्पों के लिए CLAUDE.md एकीकरण गाइड देखें।
OpenAI Codex CLI
~/.codex/config.toml (वैश्विक) या .codex/config.toml (प्रोजेक्ट) में जोड़ें। Windows: %USERPROFILE%\.codex\config.toml। CODEX_HOME env var के साथ ओवरराइड करें।
[mcp_servers.memory]
command = "ai-memory"
args = ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
enabled = true
या CLI के माध्यम से जोड़ें: codex mcp add memory -- ai-memory --db ~/.local/share/ai-memory/memories.db mcp --tier semantic
नोट्स: Codex रेखांकित कुंजी
mcp_serversके साथ TOML प्रारूप का उपयोग करता है (कैमलकेस नहीं, हाइफ़नेटेड नहीं)।env(कुंजी/मान जोड़े),env_vars(अग्रेषित करने के लिए सूची),enabled_tools,disabled_tools,startup_timeout_sec,tool_timeout_secका समर्थन करता है। सर्वर स्थिति देखने के लिए TUI में/mcpका उपयोग करें। Codex MCP दस्तावेज़ देखें।
Google Gemini CLI
~/.gemini/settings.json (उपयोगकर्ता) या .gemini/settings.json (प्रोजेक्ट) में जोड़ें। Windows: %USERPROFILE%\.gemini\settings.json।
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"],
"timeout": 30000
}
}
}
या CLI के माध्यम से जोड़ें: gemini mcp add memory ai-memory -- --db ~/.local/share/ai-memory/memories.db mcp --tier semantic
नोट्स: सर्वर नामों में अंडरस्कोर से बचें (हाइफ़न का उपयोग करें)। उपकरण के नाम स्वचालित रूप से
mcp_memory_<toolName>के रूप में उपसर्गित होते हैं।envफ़ील्ड में Env vars$VAR/${VAR}(सभी प्लेटफ़ॉर्म) और%VAR%(Windows) का समर्थन करते हैं। Gemini विरासत में मिले env से संवेदनशील पैटर्न को साफ करता है जब तक कि स्पष्ट रूप से घोषित न किया जाए। पुष्टिकरण संकेतों को छोड़ने के लिए"trust": trueजोड़ें। CLI प्रबंधन:gemini mcp list/remove/enable/disable। Gemini CLI MCP दस्तावेज़ देखें।
Cursor IDE
~/.cursor/mcp.json (वैश्विक) या .cursor/mcp.json (प्रोजेक्ट) में जोड़ें। Windows: %USERPROFILE%\.cursor\mcp.json। प्रोजेक्ट कॉन्फ़िग समान-नामित सर्वरों के लिए वैश्विक को ओवरराइड करता है।
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
}
}
}
नोट्स:
mcp.jsonसंपादित करने के बाद Cursor को पुनः आरंभ करें। सेटिंग्स > टूल्स और MCP में सर्वर स्थिति सत्यापित करें (हरा बिंदु = कनेक्टेड)।env,envFile, और${env:VAR_NAME}इंटरपोलेशन का समर्थन करता है (env var इंटरपोलेशन शेल प्रोफ़ाइल चर के लिए अविश्वसनीय हो सकता है — वर्कअराउंड के रूप मेंenvFileका उपयोग करें)। सभी MCP सर्वरों में ~40 उपकरण सीमा। Cursor MCP दस्तावेज़ देखें।
Windsurf (Codeium)
~/.codeium/windsurf/mcp_config.json में जोड़ें (केवल वैश्विक — कोई प्रोजेक्ट-स्तरीय स्कोप नहीं)। Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json।
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
}
}
}
नोट्स:
command,args,env,serverUrl,url, औरheadersमें${env:VAR_NAME}इंटरपोलेशन का समर्थन करता है। सभी MCP सर्वरों में 100 उपकरण सीमा। MCP मार्केटप्लेस या सेटिंग्स > कैस्केड > MCP सर्वर्स के माध्यम से भी जोड़ सकते हैं। Windsurf MCP दस्तावेज़ देखें।
Continue.dev
~/.continue/config.yaml (उपयोगकर्ता) या प्रोजेक्ट रूट में .continue/mcpServers/ निर्देशिका (प्रति-सर्वर YAML/JSON फ़ाइलें) में जोड़ें। Windows: %USERPROFILE%\.continue\config.yaml।
mcpServers:
- name: memory
command: ai-memory
args:
- "--db"
- "~/.local/share/ai-memory/memories.db"
- "mcp"
- "--tier"
- "semantic"
नोट्स: MCP उपकरण केवल एजेंट मोड में काम करते हैं। गुप्त इंटरपोलेशन के लिए
${{ secrets.SECRET_NAME }}का समर्थन करता है। प्रोजेक्ट-स्तरीय.continue/mcpServers/निर्देशिका अन्य उपकरणों (Claude Code, Cursor, आदि) से JSON कॉन्फ़िग का स्वतः पता लगाती है। Continue MCP दस्तावेज़ देखें।
Grok CLI (AlphaOne फ़ोर्क — ऑटो-रिकॉल के साथ गहन एकीकरण)
grok-cli का AlphaOne फ़ोर्क में सत्र-स्कोप्ड MCP कनेक्शन, सत्र शुरू होने पर स्वचालित मेमोरी रिकॉल, संघनन सारांश भंडारण, और मेमोरी-अवेयर सिस्टम प्रॉम्प्ट के साथ अंतर्निहित ai-memory समर्थन है।
~/.grok/user-settings.json में जोड़ें:
{
"mcp": {
"servers": [
{
"id": "ai-memory",
"label": "AI Memory",
"enabled": true,
"transport": "stdio",
"command": "ai-memory",
"args": ["mcp", "--tier", "semantic"]
}
]
}
}
विशेषताएँ: सत्र शुरू होने पर ऑटो-रिकॉल (सिस्टम प्रॉम्प्ट में प्रासंगिक यादें इंजेक्ट करता है), संघनन सारांश मध्य-स्तरीय यादों के रूप में संग्रहीत, MCP उपकरण सभी मोड (एजेंट, प्लान, आस्क) में उपलब्ध, सत्र-स्कोप्ड कनेक्शन (कोई प्रति-संदेश कोल्ड स्टार्ट नहीं)। डिफ़ॉल्ट रूप से
--tier semanticका उपयोग करता है (स्थानीय एम्बेडिंग, कोई LLM बैकएंड आवश्यक नहीं)। पूर्ण सेटअप के लिए grok-cli दस्तावेज़ देखें।
xAI Grok API (API-स्तर, रिमोट MCP)
Grok HTTPS पर MCP सर्वर से जुड़ता है (केवल रिमोट, कोई stdio नहीं)। कोई कॉन्फ़िग फ़ाइल नहीं — सर्वर प्रति API अनुरोध निर्दिष्ट किए जाते हैं।
ai-memory serve --host 127.0.0.1 --port 9077
# Expose via HTTPS reverse proxy (nginx, caddy, cloudflare tunnel, etc.)
फिर अपने Grok API कॉल में MCP सर्वर जोड़ें:
curl https://api.x.ai/v1/responses \
-H "Authorization: Bearer $XAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "grok-4.3",
"tools": [{
"type": "mcp",
"server_url": "https://your-server.example.com/mcp",
"server_label": "memory",
"server_description": "Persistent AI memory with recall and search",
"allowed_tools": ["memory_store", "memory_recall", "memory_search"]
}],
"input": "What do you remember about our project?"
}'
आवश्यकताएँ: HTTPS आवश्यक है।
server_labelआवश्यक है। स्ट्रीमेबल HTTP और SSE ट्रांसपोर्ट का समर्थन करता है। वैकल्पिक:allowed_tools,authorization,headers। xAI SDK, OpenAI-संगत Responses API, और Voice Agent API के साथ काम करता है। xAI रिमोट MCP दस्तावेज़ देखें।
META Llama (Llama Stack के माध्यम से)
Llama Stack MCP सर्वरों को टूलग्रुप के रूप में पंजीकृत करता है। कोई मानकीकृत कॉन्फ़िग फ़ाइल पथ नहीं — परिनियोजन-विशिष्ट।
ai-memory serve --host 127.0.0.1 --port 9077
Python SDK:
client.toolgroups.register(
provider_id="model-context-protocol",
toolgroup_id="mcp::memory",
mcp_endpoint={"uri": "http://localhost:9077/sse"}
)
या घोषणात्मक रूप से run.yaml में:
tool_groups:
- toolgroup_id: mcp::memory
provider_id: model-context-protocol
mcp_endpoint:
uri: "http://localhost:9077/sse"
नोट्स: run.yaml में
${env.VAR_NAME}इंटरपोलेशन का समर्थन करता है। ट्रांसपोर्ट SSE से स्ट्रीमेबल HTTP में माइग्रेट हो रहा है। Llama Stack टूल्स दस्तावेज़ देखें।
OpenClaw
CLI के माध्यम से जोड़ें या सीधे OpenClaw कॉन्फ़िग संपादित करें। कॉन्फ़िग mcp.servers का उपयोग करता है (mcpServers नहीं)।
openclaw mcp set memory '{"command":"ai-memory","args":["--db","~/.local/share/ai-memory/memories.db","mcp","--tier","semantic"]}'
या अपनी OpenClaw कॉन्फ़िग फ़ाइल में जोड़ें:
{
"mcp": {
"servers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.local/share/ai-memory/memories.db", "mcp", "--tier", "semantic"]
}
}
}
}
नोट्स: OpenClaw
mcp.serversकुंजी का उपयोग करता है (mcpServersनहीं)। CLI प्रबंधन:openclaw mcp list,openclaw mcp show,openclaw mcp set,openclaw mcp unset। stdio, दूरस्थ URL और स्ट्रीमेबल HTTP ट्रांसपोर्ट का समर्थन करता है। इनलाइन सीक्रेट्स के बजाय--token-fileको प्राथमिकता दें। OpenClaw MCP दस्तावेज़ देखें।
कोई अन्य MCP क्लाइंट
ai-memory stdio (JSON-RPC 2.0) पर MCP बोलता है। अपने क्लाइंट को यहाँ पॉइंट करें:
command: ai-memory
args: ["--db", "/path/to/ai-memory.db", "mcp"]
केवल HTTP क्लाइंट के लिए, REST API प्रारंभ करें:
ai-memory serve
# 92 REST route registrations (78 unique URL paths) at http://127.0.0.1:9077/api/v1/
चरण 4: हो गया। इसका परीक्षण करें।
अपने AI सहायक को पुनः आरंभ करें। यदि MCP का उपयोग कर रहे हैं, तो अब इसके पास सत्र बूट पर विज्ञापित 7-टूल डिफ़ॉल्ट सतह है (मूल 5 + memory_load_family + memory_smart_load; शेष 93 कॉल करने योग्य टूल --profile या memory_capabilities --include-schema के माध्यम से मांग पर लोड होते हैं)। इससे पूछें: "एक स्मृति संग्रहीत करें कि मेरी पसंदीदा भाषा Rust है।" फिर एक नई बातचीत में पूछें: "मेरी पसंदीदा भाषा क्या है?" यह याद रखेगा।
मोबाइल प्लेटफ़ॉर्म समर्थन (v0.7.0 Posture-1a)
ai-memory मानक Rust मोबाइल क्रॉस-कंपाइल पथ के माध्यम से iOS और Android पर पोर्टेबल है। v0.7.0 तीन बढ़ते स्तरों पर दोनों लक्ष्यों के लिए CI कवरेज प्रदान करता है:
| परत | कवरेज | CI वर्कफ़्लो |
|---|---|---|
| परत 1 — क्रॉस-कंपाइल | cargo check --target aarch64-apple-ios --no-default-features --features sqlite-bundled --lib और मिलान करने वाला Android क्रॉस-कंपाइल हर PR + release/** पर पुश पर चलता है। ~80% मोबाइल बिट-रॉट जोखिम को पकड़ता है (कोई भी क्रेट अपडेट जो मोबाइल पोर्टेबिलिटी को यहाँ छोड़ता है)। | .github/workflows/ci.yml — mobile-cross-compile कार्य |
| परत 2 — रिलीज़ आर्टिफैक्ट | रिलीज़ टैग कट ai-memory-ios.xcframework.tar.gz (xcodebuild -create-xcframework के माध्यम से iOS डिवाइस + सिम्युलेटर स्लाइस) और ai-memory-android.tar.gz (jniLibs/<abi>/ लेआउट में Android arm64 / armv7 / x86_64 / x86 .so बंडल) उत्पन्न करते हैं। | .github/workflows/release.yml — mobile-ios + mobile-android कार्य |
| परत 3 — रनटाइम परीक्षण | एक सीमित ~50-परीक्षण उपसमुच्चय (फ़ाइल-सिस्टम सैंडबॉक्सिंग, डिवाइस SQLite पर FTS5, HNSW CPU रिकॉल, एम्बेडर CPU पथ, LLM क्लाइंट TLS) हर release/** पुश + एक मैनुअल workflow_dispatch पर iOS सिम्युलेटर के विरुद्ध चलता है; Android एमुलेटर आर्म केवल release/** पुश + workflow_dispatch पर चलता है। चयन तर्क: tests/mobile/README.md। | .github/workflows/mobile-runtime.yml |
v0.7.0 पर स्थिति: परत 1 शिप-गेट है — टैग-कट से पहले मोबाइल क्रॉस-कंपाइल GREEN होना चाहिए। परत 2 (रिलीज़ आर्टिफैक्ट) BUILD पाइपलाइन + आर्टिफैक्ट लेआउट प्रदान करता है; C-कॉलेबल FFI सतह स्वयं v0.7.x फ़ॉलो-अप में आती है। परत 3 हर release/** पुश पर सीमित परीक्षण उपसमुच्चय चलाता है।
रिलीज़ आर्टिफैक्ट का उपभोग:
- iOS — v0.7.x रिलीज़ पृष्ठ से
ai-memory-ios.xcframework.tar.gzडाउनलोड करें, अनपैक करें, औरAiMemory.xcframeworkको अपने Xcode प्रोजेक्ट में "Frameworks, Libraries, and Embedded Content" के अंतर्गत खींचें। - Android — v0.7.x रिलीज़ पृष्ठ से
ai-memory-android.tar.gzडाउनलोड करें, अनपैक करें, औरjniLibs/ट्री को अपने ऐप मॉड्यूल केsrc/main/jniLibs/में कॉपी करें।
मोबाइल आर्टिफैक्ट प्रत्येक प्रकाशित v0.7.x रिलीज़ का भी हिस्सा हैं; Homebrew फ़ॉर्मूला + APT/RPM पैकेज (जो डेस्कटॉप बाइनरी प्रदान करते हैं) में मोबाइल डाउनलोड से लिंक करने वाला एक नोट शामिल है। CI कार्यान्वयन इतिहास के लिए इश्यू #1068 देखें।
त्वरित शुरुआत
दो मिनट से कम में शून्य से एक कार्यशील मेमोरी तक पहुँचें।
1. इंस्टॉल करें
curl -fsSL https://raw.githubusercontent.com/alphaonedev/ai-memory-mcp/main/install.sh | sh
2. MCP कॉन्फ़िगर करें (Claude Code के लिए उदाहरण -- अन्य प्लेटफ़ॉर्म उसी तरह काम करते हैं)
~/.claude.json में मर्ज करें:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp", "--tier", "semantic"]
}
}
}
3. अपनी पहली स्मृति संग्रहीत करें
ai-memory store -T "Project uses PostgreSQL 15" -c "Main DB is PG 15 with pgvector." --tier long
4. इसे याद करें
ai-memory recall "database"
5. आँकड़े जाँचें
ai-memory stats
6. अपने AI के साथ उपयोग करें। अपने AI क्लाइंट को पुनः आरंभ करें। अब इसके पास MCP पर बूट पर विज्ञापित 7 डिफ़ॉल्ट मेमोरी टूल हैं (रनटाइम विस्तार या --profile full के माध्यम से पहुँच योग्य 101 विज्ञापित प्रविष्टियाँ) -- यह बातचीत के दौरान मूल रूप से यादें संग्रहीत और याद कर सकता है।
SDK
MCP / HTTP / CLI सतहों के अलावा, ai-memory HTTP क्लाइंट और सहायक उपयोगिताओं के लिए प्रथम-पक्ष भाषा SDK प्रदान करता है (जैसे v0.6.4+ डेमॉन पर रनटाइम प्रोफ़ाइल अभिकथन के लिए requireProfile)।
TypeScript / JavaScript — npm पर @alphaone/ai-memory
npm install @alphaone/ai-memory
Python — PyPI पर ai-memory-mcp (आयात नाम ai_memory रहता है)
pip install ai-memory-mcp
from ai_memory import AiMemoryClient, require_profile
with AiMemoryClient(base_url="http://127.0.0.1:9077", api_key="...") as client:
require_profile(client, "graph") # raises ProfileNotLoaded on miss
दोनों SDK सर्वर के साथ संस्करणबद्ध हैं (0.9.0 ai-memory 0.9.0 से मेल खाता है)। v0.6.4+ डेमॉन प्रोफ़ाइल अनुबंध लागू करते हैं; पूर्व-v0.6.4 डेमॉन एक अनुमेय चेतावनी-और-जारी रखें पर वापस आते हैं ताकि SDK अपग्रेड पुराने सर्वरों को न तोड़ें। स्रोत sdk/typescript/ और sdk/python/ में रहता है।
यह क्या करता है?
AI सहायक बातचीत के बीच सब कुछ भूल जाते हैं। ai-memory इसे ठीक करता है।
यह एक MCP (मॉडल कॉन्टेक्स्ट प्रोटोकॉल) टूल सर्वर के रूप में चलता है -- एक पृष्ठभूमि प्रक्रिया जिससे आपका AI मूल रूप से बात करता है। जब आपका AI कुछ महत्वपूर्ण सीखता है, तो वह इसे संग्रहीत करता है। जब उसे संदर्भ की आवश्यकता होती है, तो वह 6-कारक स्कोरिंग एल्गोरिदम द्वारा रैंक की गई प्रासंगिक यादों को याद करता है। यादें तीन स्तरों में रहती हैं:
- अल्पकालिक (डिफ़ॉल्ट 6 घंटे, विन्यास योग्य) -- वर्तमान डिबगिंग स्थिति जैसे फेंकने योग्य संदर्भ
- मध्यम अवधि (डिफ़ॉल्ट 7 दिन, विन्यास योग्य) -- स्प्रिंट लक्ष्यों और हाल के निर्णयों जैसा कार्य ज्ञान
- दीर्घकालिक (स्थायी) -- आर्किटेक्चर, उपयोगकर्ता प्राथमिकताएँ, कठिन-अर्जित सबक
जो यादें एक्सेस होती रहती हैं वे स्वचालित रूप से मध्यम से दीर्घकालिक में प्रमोट हो जाती हैं। प्रत्येक रिकॉल TTL बढ़ाता है। उपयोग के साथ प्राथमिकता बढ़ती है। सिस्टम स्व-संचालित है।
MCP से परे, ai-memory एक पूर्ण HTTP REST API (पोर्ट 9077 पर 92 रूट पंजीकरण / 78 अद्वितीय URL पथ) और एक पूर्ण CLI (--features sal या --features sal-postgres के अंतर्गत 89 उपकमांड; डिफ़ॉल्ट बिल्ड में 87 (क्रॉस-सत्र संदर्भ पुनर्जलीकरण के लिए पोस्ट-#1389 L2 RecoverPreviousSession + ai-memory expand क्वेरी-विस्तार सतह के लिए #1443 Expand + ai-memory reembed वेक्टर-स्पेस माइग्रेशन सतह के लिए #1598 Reembed); ai_memory::EXPECTED_CLI_SUBCOMMANDS_{DEFAULT,SAL} + यांत्रिक tests/cli_subcommand_count_invariant.rs समता परीक्षण द्वारा SSOT पिन किया गया) को प्रत्यक्ष संपर्क, स्क्रिप्टिंग और किसी भी AI प्लेटफ़ॉर्म या टूल के साथ एकीकरण के लिए भी उजागर करता है।
विशेषताएँ
कोर
- MCP टूल सर्वर -- stdio JSON-RPC पर 101 टूल (पूर्ण प्रोफ़ाइल), किसी भी MCP क्लाइंट के साथ संगत
- तीन-स्तरीय मेमोरी -- अल्प (6h TTL डिफ़ॉल्ट), मध्यम (7d TTL डिफ़ॉल्ट), दीर्घ (स्थायी) -- TTL विन्यास योग्य हैं
- पूर्ण-पाठ खोज -- रैंक पुनर्प्राप्ति के साथ SQLite FTS5
- हाइब्रिड रिकॉल -- अनुकूली सम्मिश्रण के साथ FTS5 कीवर्ड + कोसाइन समानता: शब्दार्थ भार 0.50 (लघु सामग्री) → 0.15 (दीर्घ सामग्री) भिन्न होता है क्योंकि एम्बेडिंग लंबे पाठ पर जानकारी खो देते हैं
- 6-कारक रिकॉल स्कोरिंग -- FTS प्रासंगिकता + प्राथमिकता + एक्सेस आवृत्ति + विश्वास + स्तर बूस्ट + नवीनता क्षय
- ऑटो-प्रमोशन -- 5+ बार एक्सेस की गई यादें मध्यम से दीर्घ में प्रमोट होती हैं
- TTL विस्तार -- प्रत्येक रिकॉल समाप्ति बढ़ाता है (अल्प +1h, मध्यम +1d)
- प्राथमिकता सुदृढीकरण -- हर 10 एक्सेस पर +1 (अधिकतम 10)
- विरोधाभास का पता लगाना -- मौजूदा यादों से टकराने वाली यादें संग्रहीत करते समय चेतावनी देता है
- डिडुप्लीकेशन -- शीर्षक+नेमस्पेस पर अपसर्ट, स्तर कभी डाउनग्रेड नहीं होता
- विश्वास स्कोरिंग -- रैंकिंग में 0.0-1.0 निश्चितता का कारक
संगठन
- नेमस्पेस -- प्रति प्रोजेक्ट यादों को अलग करें (गिट रिमोट से ऑटो-डिटेक्टेड)
- मेमोरी लिंकिंग -- टाइप किए गए संबंध: related_to, supersedes, contradicts, derived_from, reflects_on (पुनरावर्ती-शिक्षण कार्य 1/8), derives_from (WT-1-A परमाणुकरण), decomposes_into, depends_on, advances -- v0.8.0 पर नौ प्रकार
- समेकन -- कई यादों को एकल दीर्घकालिक सारांश में मर्ज करें
- ऑटो-समेकन -- नेमस्पेस+टैग द्वारा समूह, सीमा से ऊपर समूहों को ऑटो-मर्ज करें
- विरोधाभास समाधान -- एक मेमोरी को दूसरे का स्थान लेने के रूप में चिह्नित करें, हारने वाले को डिमोट करें
- पैटर्न द्वारा भूलें -- नेमस्पेस + FTS पैटर्न + स्तर द्वारा बल्क डिलीट
- स्रोत ट्रैकिंग -- मूल को ट्रैक करता है: user, claude, hook, api, cli, import, consolidation, system
- एजेंट पहचान (NHI) -- प्रत्येक मेमोरी में अपडेट/डिडुप/इम्पोर्ट/सिंक/कंसोलिडेट में रक्षा-गहराई अपरिवर्तनीयता के साथ
metadata.agent_id(दावा की गई पहचान) होती है; एजेंट द्वाराlist/searchफ़िल्टर करें - टैगिंग -- फ़िल्टर समर्थन के साथ अल्पविराम से अलग किए गए टैग
इंटरफ़ेस
- 92 HTTP रूट (78 अद्वितीय पथ) -- 127.0.0.1:9077 पर पूर्ण REST API (किसी भी AI या टूल के साथ काम करता है)
--features salया--features sal-postgresके अंतर्गत 89 CLI उपकमांड (डिफ़ॉल्ट बिल्ड में 87) -- समान क्षमताओं वाला पूर्ण CLI- पूर्ण प्रोफ़ाइल पर 101 MCP टूल (7 डिफ़ॉल्ट;
Profile::full().expected_tool_count()के विरुद्ध सत्यापित) -- किसी भी MCP-संगत AI के लिए मूल एकीकरण - इंटरैक्टिव REPL शेल -- रंग आउटपुट के साथ रिकॉल, खोज, सूची, प्राप्त करें, आँकड़े, नेमस्पेस, हटाएं
- JSON आउटपुट -- सभी CLI कमांड पर
--jsonफ़्लैग - वितरित समन्वय (v0.8.0 स्तंभ-1 + स्तंभ-2) -- क्रिया DAG (
memory_action_*), एकल-धारक पट्टे (memory_lease_*), Ed25519-हस्ताक्षरित सिग्नल (memory_signal_*), सत्यापित चौकियाँ (memory_checkpoint_*), पैरामीटरयुक्त रूटीन (memory_routine_*), और लक्ष्य/योजना/चरण टाइप-संज्ञान जीवनचक्र।docs/coordination.mdदेखें।
संचालन
- मल्टी-नोड सिंक -- डेटाबेस फ़ाइलों के बीच खींचें, धक्का दें, या द्विदिश मर्ज करें
- आयात/निर्यात -- मेमोरी लिंक को संरक्षित करते हुए पूर्ण JSON राउंडट्रिप
- कचरा संग्रहण -- हर 30 मिनट में स्वचालित पृष्ठभूमि समाप्ति
- सुंदर शटडाउन -- स्वच्छ निकास के लिए SIGTERM/SIGINT चेकपॉइंट WAL
- गहन स्वास्थ्य जाँच -- DB पहुंच और FTS5 अखंडता सत्यापित करता है
- शेल पूर्णताएँ -- bash, zsh, fish
- मैन पेज --
ai-memory manstdout पर roff उत्पन्न करता है - समय फ़िल्टर -- सूची और खोज पर
--since/--until - मानव-पठनीय आयु -- CLI आउटपुट में "2h ago", "3d ago"
- रंगीन CLI आउटपुट -- ANSI स्तर लेबल (लाल/पीला/हरा), प्राथमिकता बार, बोल्ड शीर्षक, सियान नेमस्पेस
गुणवत्ता
- पूर्ण सतह पर ~10,000 परीक्षण — मोटे तौर पर
src/के अंतर्गत 6,712#[test]/#[tokio::test]विशेषताएँ (5,759#[test]+ 953#[tokio::test]) औरtests/के अंतर्गत लगभग 3,362 (2,138#[test]+ 1,224#[tokio::test]), v0.6.4-युग की ~2,400-परीक्षण आधार रेखा से विकसित (1,960 lib + 211 एकीकरण + 16 mcp_integration + 4 webhook_http_parity + 16 recipe_contract + अन्य बाइनरी लक्ष्यों में ~150)। लाइन कवरेज ≥92% प्रोजेक्ट बार से ऊपर रखा गया; नेट-नए v0.6.4 मॉड्यूल 100% (sizes.rs), 99.50% (profile.rs), 97.58% (cli/audit.rs), 97.05% (cli/doctor.rs), 92.56% (handlers.rs), 92.26% (cli/install.rs) पर। v0.6.3.x आधार रेखाएँ (1,809 / 93.08% और 1,886 / 93.84%) साक्ष्य पृष्ठ पर स्थिर रहती हैं; v0.6.4 मेट्रिक्स रिलीज़ नोट्स और टेस्ट-हब अभियान पर। अनुभवजन्य NHI खोज स्वीकृति डिस्कवरी गेट द्वारा अलग से सिद्ध (T1–T4 मैट्रिक्स बनाम लाइव xAI Grok 4.3, 6/6 पास, गेट ग्रीन)। - LongMemEval बेंचमार्क — ICLR 2025 LongMemEval-S डेटासेट पर 97.0% R@5 शुद्ध FTS5 कीवर्ड (LLM-स्वतंत्र, 2.2 सेकंड, 232 q/s, शून्य API लागत); वर्तमान-पीढ़ी Gemma 4 मॉडल के साथ LLM क्वेरी विस्तार 97.2% R@5 / 99.6% R@10 / 99.8% R@20 मापता है (क्लाउड-API स्थल; #1975 के अनुसार ऐतिहासिक
gemma3:4b97.8% आंकड़ा शीर्षक के रूप में सेवानिवृत्त)। बेंचमार्क विवरण देखें। - MCP प्रॉम्प्ट —
recall-firstऔरmemory-workflowप्रॉम्प्ट AI क्लाइंट को सक्रिय रूप से मेमोरी का उपयोग करना सिखाते हैं - TOON-डिफ़ॉल्ट — रिकॉल/सूची/खोज प्रतिक्रियाएँ डिफ़ॉल्ट रूप से TOON कॉम्पैक्ट का उपयोग करती हैं (JSON से 79% छोटी)
- क्राइटेरियन बेंचमार्क — 1K पैमाने पर सम्मिलित करें, याद करें, खोजें
- GitHub Actions CI/CD — fmt, clippy, परीक्षण, Ubuntu + macOS पर बिल्ड, टैग पर रिलीज़
कवरेज फ़्लोर (हार्ड CI गेट)
Code Coverage जॉब एक आवश्यक स्थिति जाँच है। CI हर PR पर दो अपरिवर्तनीयताओं की पुनः पुष्टि करता है: >= 90% लाइनों की एक पूर्ण सीमा (विनाशकारी-प्रतिगमन रोक, वर्तमान माप को निकटतम 5% तक पूर्णांकित करके सेट किया गया), और ** .coverage-baseline में पिन किए गए मान के विरुद्ध एक रैचेट** जिसमें 0.5% की ढील विंडो हो (दिन-प्रतिदिन का प्रवर्तन)। कवरेज बढ़ाने वाले PR को उसी कमिट में बेसलाइन फ़ाइल को बढ़ाना चाहिए ताकि भविष्य के PR नई सीमा से लाभान्वित हों; 0.5% से अधिक प्रतिगमन करने वाले PR को मर्ज होने से रोक दिया जाता है। वर्तमान माप: 93.13% लाइनें।
टोकन-बजट गेट (हार्ड CI गेट, v0.7 C5)
token-budget वर्कफ़्लो एक आवश्यक स्थिति जाँच है। यह हर PR पर तीन cl100k_base-मापित अपरिवर्तनीयताओं को लागू करता है:
- प्रति-टूल 1500 टोकन की सीमा -- किसी एकल MCP टूल का क्रमबद्ध स्कीमा (नाम + विवरण + inputSchema) 1500 cl100k_base टोकन से अधिक नहीं हो सकता।
- पूर्ण-प्रोफ़ाइल ईमानदार सीमा (5K-8K) -- v0.6.4 बैकस्टॉप, रोगात्मक संकुचन (गलती से टूल छूटने) का पता लगाने के लिए बनाए रखा गया।
- पूर्ण-प्रोफ़ाइल हार्ड सीलिंग (v0.7 C5, D1.6/D1.7 के बाद बढ़ाई गई) --
--profile fullके तहत ट्रिम किया गयाtools/listपेलोड 11,000 cl100k_base टोकन से अधिक नहीं हो सकता (tests/token_budget_guard.rsमेंTRIMMED_FULL_PROFILE_CEILING_TOKENS; मूल C5 लक्ष्य पूर्व-D1.6 हाथ से कोडित स्कीमा के विरुद्ध 3500 था — schemars-व्युत्पन्न D1.6/D1.7 विस्तार ने पिन की गई सीमा को बढ़ा दिया)। C2 (विभाजित दस्तावेज़ फ़ील्ड), C3 (दोहराए गए स्कीमा बॉयलरप्लेट को संक्षिप्त करना), और C4 (शायद ही कभी उपयोग किए जाने वाले वैकल्पिक पैरामीटर छिपाना) ने मूल संघनन को संचालित किया; यह गेट भविष्य के PR को मजबूर करता है जो सतह को बढ़ाते हैं, बजट को कहीं और से वापस लेने के लिए। प्रति-टूल लागत देखने के लिएai-memory doctor --tokens --raw-tableका निरीक्षण करें।.github/workflows/token-budget.ymlऔरdocs/v0.7/schema-compaction-audit.mdदेखें।
ML और LLM निर्भरताएँ (सिमैंटिक टियर+)
- candle-core, candle-nn, candle-transformers -- नेटिव Rust इन्फ़रेंस के लिए Hugging Face Candle ML फ्रेमवर्क
- hf-hub -- Hugging Face Hub से मॉडल डाउनलोड करें
- tokenizers -- टेक्स्ट प्रीप्रोसेसिंग के लिए Hugging Face टोकनाइज़र
- instant-distance -- अनुमानित निकटतम पड़ोसी खोज
- reqwest -- LLM-बैकएंड संचार के लिए HTTP क्लाइंट (स्मार्ट/स्वायत्त टियर — #1067 के अनुसार कोई भी प्रदाता: Ollama, xAI, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, llama.cpp सर्वर)
आर्किटेक्चर
बेंचमार्क
ICLR 2025 LongMemEval-S डेटासेट (500 प्रश्न, 6 श्रेणियाँ) पर मूल्यांकन किया गया। शुद्ध FTS5 कीवर्ड टियर 2.2 सेकंड में 97.0% R@5 प्राप्त करता है — LLM-स्वतंत्र, पूरी तरह से स्थानीय, शून्य क्लाउड API कॉल, शून्य लागत। LLM क्वेरी विस्तार (स्मार्ट टियर) वर्तमान-पीढ़ी Gemma 4 मॉडल (क्लाउड-API स्थल) के साथ 97.2% R@5 मापता है।
बेंचमार्क-मॉडल नोट (अद्यतन 2026-07-10, #1975 निर्णय): ऐतिहासिक 97.8% R@5 स्मार्ट-टियर आंकड़ा Gemma 3 4B (अभी भी संकलित डिफ़ॉल्ट विस्तार मॉडल) के साथ मापा गया था और इसे शीर्षक के रूप में सेवानिवृत्त किया गया है। प्रकाशित वर्तमान-पीढ़ी का एंकर मापा गया OpenRouter Gemma 4 रन है: 97.2% R@5 / 99.6% R@10 / 99.8% R@20 (2026-05-31, 500 प्रश्न, 0 विस्तार विफलताएँ)। कोई स्थानीय-Ollama Gemma-4 संख्या मौजूद नहीं है — संदर्भ बेंचमार्क होस्ट केवल-CPU है, जहाँ एक वैध पूर्ण-प्रोटोकॉल स्थानीय रन असंभव है (देखें #1983); एक स्थानीय GPU पुनः-रन v1.0 के बाद खुला रहता है। कीवर्ड-टियर 97.0% R@5 LLM-स्वतंत्र है और अप्रभावित है।
| टियर | R@5 | गति | निर्भरताएँ |
|---|---|---|---|
| कीवर्ड | 97.0% | 232 q/s | कोई नहीं |
| सिमैंटिक | 97.4% | 45 q/s | एम्बेडिंग मॉडल (~100MB) |
| स्मार्ट | 97.2% (Gemma 4, API स्थल; ऐतिहासिक gemma3:4b 97.8%) | 12 q/s | कोई भी LLM बैकएंड (जैसे स्थानीय Ollama + Gemma; या xAI Grok 4.3, OpenAI gpt-5, Anthropic Claude Opus 4.7, Gemini, DeepSeek, आदि #1067 के बाद) |
प्रदर्शन बजट (v0.6.4)
हर रिलीज़ हॉट-पाथ संचालन के लिए प्रकाशित p95/p99 बजट और एक CI गेट के साथ आती है जो किसी भी PR को विफल कर देता है जिसका मापा गया p95 बजट से 10% से अधिक हो। लक्ष्य M4 संदर्भ हार्डवेयर के लिए कैलिब्रेट किए गए हैं; पूर्ण तालिका और कार्यप्रणाली PERFORMANCE.md में है।
| संचालन | लक्ष्य p95 | लक्ष्य p99 |
|---|---|---|
memory_session_start (Claude Code हुक) | < 100 ms | < 200 ms |
memory_store (कोई एम्बेडिंग नहीं) | < 20 ms | < 50 ms |
memory_search (FTS5) | < 100 ms | < 250 ms |
memory_recall (हॉट, गहराई=1) | < 50 ms | < 150 ms |
memory_kg_query (गहराई ≤ 3) | < 100 ms | < 250 ms |
memory_kg_query (गहराई ≤ 5) | < 250 ms | < 500 ms |
memory_kg_timeline | < 100 ms | < 250 ms |
स्थानीय रूप से वही कार्यभार चलाएँ:
ai-memory bench # human-readable table
ai-memory bench --json # machine-parseable
सब्सट्रेट v0.6.3.x → v0.6.4 में अपरिवर्तित है (quiet-tools रिलीज़ एक छोटा डिफ़ॉल्ट टूल सतह भेजता है, कोई भिन्न हॉट-पाथ नहीं)। यहाँ p99 लक्ष्य अगली समर्पित सोक विंडो तक सूचनात्मक बने रहते हैं; नवीनतम सोक साक्ष्य टेस्ट हब पर है।
एकीकरण विधियाँ
MCP (प्राथमिक -- MCP-संगत AI प्लेटफ़ॉर्म के लिए)
MCP अनुशंसित एकीकरण है। आपके AI को डिफ़ॉल्ट रूप से विज्ञापित 7 नेटिव मेमोरी टूल मिलते हैं (मूल 5 + memory_load_family + memory_smart_load; साथ ही हमेशा चालू memory_capabilities बूटस्ट्रैप) बिना किसी ग्लू कोड के। अन्य 93 कॉल करने योग्य टूल (101 विज्ञापित प्रविष्टियाँ — Profile::full().expected_tool_count() के विरुद्ध सत्यापित और src/mcp/registry.rs में const_count_matches_full_profile द्वारा पिन) --profile graph|admin|power|full या memory_capabilities --include-schema family=<name> के माध्यम से रनटाइम विस्तार के माध्यम से पहुँच योग्य रहते हैं। अपने AI प्लेटफ़ॉर्म के कॉन्फ़िग में MCP सर्वर कॉन्फ़िगर करें:
{
"mcpServers": {
"memory": {
"command": "ai-memory",
"args": ["--db", "~/.claude/ai-memory.db", "mcp"]
}
}
}
HTTP API (सार्वभौमिक -- किसी भी AI या टूल के लिए)
REST API पहुँच के लिए HTTP सर्वर प्रारंभ करें। कोई भी AI, स्क्रिप्ट, या स्वचालन जो HTTP कॉल कर सकता है, इसका उपयोग कर सकता है:
ai-memory serve
# 92 REST route registrations (78 unique URL paths) at http://127.0.0.1:9077/api/v1/
CLI (सार्वभौमिक -- स्क्रिप्टिंग और प्रत्यक्ष उपयोग के लिए)
CLI स्टैंडअलोन या AI एकीकरण के लिए एक बिल्डिंग ब्लॉक के रूप में काम करता है जो शेल कमांड चलाते हैं:
ai-memory store --tier long --title "Architecture decision" --content "We use PostgreSQL"
ai-memory recall "database choice"
ai-memory search "PostgreSQL"
फ़ीचर टियर
ai-memory 4 फ़ीचर टियर का समर्थन करता है, स्टार्टअप पर ai-memory mcp --tier <tier> के साथ चयनित। उच्च टियर डिस्क और RAM की कीमत पर ML क्षमताएँ जोड़ते हैं:
| टियर | रिकॉल विधि | अतिरिक्त क्षमताएँ | अनुमानित ओवरहेड |
|---|---|---|---|
| कीवर्ड | केवल FTS5 | आधारभूत 101-प्रविष्टि सतह — टियर मॉडल/सुविधाओं को नियंत्रित करता है, विज्ञापित टूल सतह को नहीं | 0 MB |
| सिमैंटिक | FTS5 + कोसाइन समानता (हाइब्रिड) | MiniLM-L6-v2 एम्बेडिंग (384-आयाम), HNSW इंडेक्स, सिमैंटिक टियर (101-प्रविष्टि सतह का उपसमुच्चय) | ~256 MB |
| स्मार्ट | हाइब्रिड + LLM क्वेरी विस्तार | + nomic-embed-text (768-आयाम) + LLM-समर्थित memory_expand_query, memory_auto_tag, memory_detect_contradiction, पूर्ण 101-प्रविष्टि सतह। LLM प्रदाता AI_MEMORY_LLM_BACKEND (#1067) के माध्यम से ऑपरेटर-चयनित है — स्थानीय Ollama, xAI, OpenAI, Anthropic, Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks, LMStudio, vLLM, या llama.cpp। | ~1 GB (स्थानीय Ollama) / ~0 GB (दूरस्थ API) |
| स्वायत्त | हाइब्रिड + LLM विस्तार + क्रॉस-एनकोडर पुनः रैंकिंग | + न्यूरल क्रॉस-एनकोडर (ms-marco-MiniLM), मेमोरी रिफ्लेक्शन, पूर्ण 101-प्रविष्टि सतह। स्मार्ट टियर के समान LLM-प्रदाता स्वतंत्रता। | ~4 GB (स्थानीय Ollama) / ~3 GB (दूरस्थ LLM, केवल स्थानीय क्रॉस-एनकोडर) |
क्षमता मैट्रिक्स
हर क्षमता अपने न्यूनतम टियर से मैप की गई। प्रत्येक टियर में अपने नीचे के टियर की सभी क्षमताएँ शामिल हैं।
| क्षमता | कीवर्ड | सिमैंटिक | स्मार्ट | स्वायत्त |
|---|---|---|---|---|
| खोज और रिकॉल | ||||
| FTS5 कीवर्ड खोज | हाँ | हाँ | हाँ | हाँ |
| सिमैंटिक एम्बेडिंग (कोसाइन समानता) | -- | हाँ | हाँ | हाँ |
| हाइब्रिड रिकॉल (FTS5 + कोसाइन, सामग्री की लंबाई के अनुसार अनुकूली 0.50→0.15 सिमैंटिक भार) | -- | हाँ | हाँ | हाँ |
| HNSW निकटतम-पड़ोसी इंडेक्स | -- | हाँ | हाँ | हाँ |
LLM क्वेरी विस्तार (memory_expand_query) | -- | -- | हाँ | हाँ |
| न्यूरल क्रॉस-एनकोडर पुनः रैंकिंग | -- | -- | -- | हाँ |
| मेमोरी प्रबंधन | ||||
| स्टोर, अपडेट, डिलीट, प्रमोट, लिंक | हाँ | हाँ | हाँ | हाँ |
| मैन्युअल समेकन | हाँ | हाँ | हाँ | हाँ |
| ऑटो-समेकन (LLM सारांश) | -- | -- | हाँ | हाँ |
ऑटो-टैगिंग (memory_auto_tag) | -- | -- | हाँ | हाँ |
विरोधाभास का पता लगाना (memory_detect_contradiction) | -- | -- | हाँ | हाँ |
| स्वायत्त मेमोरी रिफ्लेक्शन | -- | -- | -- | हाँ |
| मॉडल | ||||
| एम्बेडिंग मॉडल | -- | MiniLM-L6-v2 (384d) | nomic-embed-text (768d) | nomic-embed-text (768d) |
| एम्बेडिंग बैकएंड ओवरराइड (#1598) | -- | कोई भी: स्थानीय Ollama, API विक्रेता उपनाम, या स्व-होस्टेड OpenAI-संगत ([embeddings].backend / AI_MEMORY_EMBED_*) | समान | समान |
| LLM | -- | -- | ऑपरेटर-चयनित (#1067) — डिफ़ॉल्ट gemma3:4b स्थानीय; दूरस्थ एंडपॉइंट का कोई स्थानीय पदचिह्न नहीं | ऑपरेटर-चयनित (#1067) — डिफ़ॉल्ट gemma3:4b स्थानीय; दूरस्थ एंडपॉइंट का कोई स्थानीय पदचिह्न नहीं |
| संसाधन | ||||
| RAM | 0 MB | ~256 MB | ~1 GB | ~4 GB |
| बाहरी निर्भरताएँ | कोई नहीं | कोई नहीं | LLM बैकएंड (Ollama / xAI / OpenAI / Anthropic / Gemini / DeepSeek / Kimi / Qwen / Mistral / Groq / Together / Cerebras / OpenRouter / Fireworks / LMStudio / vLLM / llama.cpp — #1067) | LLM बैकएंड (स्मार्ट के समान विकल्प) |
MCP टूल उजागर (--profile full पर) 1 | 101 | 101 | 101 | 101 |
सिमैंटिक टियर (डिफ़ॉल्ट) Candle ML फ्रेमवर्क को बंडल करता है और पहले रन पर all-MiniLM-L6-v2 मॉडल डाउनलोड करता है (~90 MB)। स्मार्ट और स्वायत्त टियर को LLM बैकएंड की आवश्यकता होती है — #1067 (v0.7.0) के बाद यह स्थानीय (Ollama, LMStudio, vLLM, llama.cpp सर्वर) या कोई भी OpenAI-संगत दूरस्थ एंडपॉइंट (xAI, OpenAI, Anthropic via OpenAI shim, Google Gemini, DeepSeek, Kimi, Qwen, Mistral, Groq, Together, Cerebras, OpenRouter, Fireworks) हो सकता है। चयन AI_MEMORY_LLM_BACKEND env var द्वारा होता है; प्रति-विक्रेता API कुंजियाँ XAI_API_KEY / OPENAI_API_KEY / ANTHROPIC_API_KEY / GEMINI_API_KEY / DEEPSEEK_API_KEY / MOONSHOT_API_KEY / DASHSCOPE_API_KEY / आदि या विहित AI_MEMORY_LLM_API_KEY के माध्यम से।
टियर सुविधाओं को नियंत्रित करते हैं, मॉडलों को नहीं — और #1067 (v0.7.0) के बाद, टियर सुविधाओं को नियंत्रित करते हैं, विक्रेताओं को भी नहीं। --tier फ़्लैग नियंत्रित करता है कि कौन से टूल उजागर किए गए हैं। LLM बैकएंड + मॉडल AI_MEMORY_LLM_BACKEND + AI_MEMORY_LLM_MODEL env vars के माध्यम से स्वतंत्र रूप से कॉन्फ़िगर करने योग्य हैं (या ~/.config/ai-memory/config.toml में विहित [llm] अनुभाग के माध्यम से — v0.7.x एंटरप्राइज़ स्कीमा और माइग्रेशन टूल के लिए docs/CONFIG_SCHEMA.md देखें)। उदाहरण के लिए, OpenAI-संगत उपनाम के माध्यम से xAI Grok 4 के विरुद्ध स्वायत्त टियर (पूर्ण 101-प्रविष्टि सतह + रीरैंकर) चलाएँ:
# Quick path: env vars
export AI_MEMORY_LLM_BACKEND=xai
export AI_MEMORY_LLM_MODEL=grok-4.3
export XAI_API_KEY=xai-… # or AI_MEMORY_LLM_API_KEY
ai-memory mcp --tier autonomous
# Enterprise path: ~/.config/ai-memory/config.toml (v0.7.x schema v2, #1146)
schema_version = 2
tier = "autonomous"
[llm]
backend = "xai"
model = "grok-4.3"
base_url = "https://api.x.ai/v1"
api_key_env = "XAI_API_KEY" # mutually exclusive with api_key_file;
# inline `api_key = "..."` is REJECTED.
# Legacy v0.6.x shape — still works, deprecation WARN at load; run
# `ai-memory config migrate` to upgrade in place.
tier = "autonomous"
llm_model = "gemma3:4b" # default Ollama model at v0.7.0
--tier फ़्लैग को MCP args में पास किया जाना अनिवार्य है -- जब सर्वर किसी AI क्लाइंट द्वारा लॉन्च किया जाता है तो config.toml टियर सेटिंग का उपयोग नहीं किया जाता है।
# Semantic is the default tier
ai-memory mcp
# Keyword -- FTS5 only, no models
ai-memory mcp --tier keyword
# Semantic -- hybrid recall with embeddings (explicit)
ai-memory mcp --tier semantic
# Smart -- adds LLM-powered query expansion, auto-tagging, contradiction detection
ai-memory mcp --tier smart
# Autonomous -- adds cross-encoder reranking
ai-memory mcp --tier autonomous
memory_capabilities टूल रनटाइम पर सक्रिय टियर, लोडेड मॉडल और उपलब्ध क्षमताओं की रिपोर्ट करता है।
MCP टूल
ये 101 टूल (पूर्ण प्रोफ़ाइल; src/profile.rs में Profile::full().expected_tool_count() के माध्यम से विहित गणना) किसी भी MCP-संगत AI के लिए उपलब्ध हैं जब MCP सर्वर के रूप में कॉन्फ़िगर किया गया हो (v0.6.4-फ्रोजन साक्ष्य पृष्ठ 63-टूल बेसलाइन सूचीबद्ध करता है; नीचे दी गई तालिका उस मूल उपसमुच्चय का दस्तावेजीकरण करती है जिसका अधिकांश क्लाइंट दिन-प्रतिदिन उपयोग करते हैं):
| उपकरण | विवरण |
|---|---|
memory_store | नई स्मृति संग्रहीत करें (शीर्षक+नेमस्पेस द्वारा डुप्लिकेट हटाता है, विरोधाभासों की रिपोर्ट करता है) |
memory_recall | संदर्भ के लिए प्रासंगिक स्मृतियाँ याद करें (फ़ज़ी OR खोज, 6 कारकों द्वारा रैंक) |
memory_search | सटीक कीवर्ड मिलान द्वारा स्मृतियाँ खोजें (AND शब्दार्थ) |
memory_list | वैकल्पिक फ़िल्टर (नेमस्पेस, स्तर, टैग, दिनांक सीमा) के साथ स्मृतियाँ सूचीबद्ध करें |
memory_get | ID द्वारा उसकी कड़ियों सहित कोई विशिष्ट स्मृति प्राप्त करें |
memory_update | ID द्वारा मौजूदा स्मृति अपडेट करें (आंशिक अपडेट) |
memory_delete | ID द्वारा कोई स्मृति हटाएँ |
memory_promote | किसी स्मृति को दीर्घकालिक में प्रोन्नत करें (स्थायी, समाप्ति साफ़ करता है) |
memory_forget | पैटर्न, नेमस्पेस, या स्तर द्वारा सामूहिक विलोपन |
memory_link | दो स्मृतियों के बीच एक टाइप की गई कड़ी बनाएँ |
memory_get_links | किसी स्मृति की सभी कड़ियाँ प्राप्त करें |
memory_consolidate | अनेक स्मृतियों को एक दीर्घकालिक सारांश में विलय करें |
memory_stats | स्मृति भंडार आँकड़े प्राप्त करें |
memory_capabilities | सक्रिय सुविधा स्तर, लोड किए गए मॉडल और उपलब्ध क्षमताओं की रिपोर्ट करें |
memory_expand_query | खोज क्वेरी को संबंधित शब्दों में विस्तारित करने के लिए LLM का उपयोग करें (स्मार्ट+ स्तर) |
memory_auto_tag | किसी स्मृति के लिए स्वतः टैग उत्पन्न करने हेतु LLM का उपयोग करें (स्मार्ट+ स्तर) |
memory_detect_contradiction | यह जाँचने के लिए LLM का उपयोग करें कि क्या दो स्मृतियाँ विरोधाभासी हैं (स्मार्ट+ स्तर) |
memory_archive_list | संग्रहीत स्मृतियाँ सूचीबद्ध करें (वैकल्पिक नेमस्पेस/स्तर/टैग फ़िल्टर के साथ) |
memory_archive_restore | किसी संग्रहीत स्मृति को वापस सक्रिय भंडार में पुनर्स्थापित करें |
memory_archive_purge | फ़िल्टर से मेल खाने वाली संग्रहीत स्मृतियों को स्थायी रूप से हटाएँ |
memory_archive_stats | संग्रह आँकड़े प्राप्त करें (स्तर, नेमस्पेस, आयु के अनुसार गणना) |
HTTP API
127.0.0.1:9077 पर 92 रूट पंजीकरण / 78 अद्वितीय URL पथ। ai-memory serve से प्रारंभ करें। नीचे दी गई तालिका सबसे अधिक उपयोग किए जाने वाले REST एंडपॉइंट दिखाती है; पूर्ण सतह (गवर्नेंस, फ़ेडरेशन, सब्सक्रिप्शन, नॉलेज-ग्राफ़, कोटा, अनुमोदन SSE) के लिए docs/API_REFERENCE.md देखें।
सुरक्षा: HTTP सर्वर 127.0.0.1 से बंधता है और डिफ़ॉल्ट रूप से बिना किसी प्रमाणीकरण के, साथ ही अनुमेय CORS के साथ आता है। प्रत्येक अनुरोध पर
x-api-keyहेडर की आवश्यकता के लिएconfig.tomlमेंapi_keyसेट करें (पुराना?api_key=क्वेरी-पैराम रूप v0.7.0 पर बहिष्कृत है — #1574), और बिना कुंजी के स्टार्टअप को सख्ती से मना करने के लिएAI_MEMORY_REQUIRE_API_KEY=1सेट करें (#1458)। प्रमाणीकरण के बिना नेटवर्क पर उजागर न करें (और--tls-cert/--tls-keyया रिवर्स प्रॉक्सी के माध्यम से TLS को प्राथमिकता दें)।
| विधि | एंडपॉइंट | विवरण |
|---|---|---|
| GET | /api/v1/health | स्वास्थ्य जाँच (DB + FTS5 अखंडता सत्यापित करता है) |
| GET | /api/v1/memories | स्मृतियाँ सूचीबद्ध करें (नेमस्पेस, स्तर, टैग, तबसे, तबतक, सीमा का समर्थन करता है) |
| POST | /api/v1/memories | एक स्मृति बनाएँ |
| POST | /api/v1/memories/bulk | सामूहिक रूप से स्मृतियाँ बनाएँ (सीमाओं के साथ) |
| GET | /api/v1/memories/{id} | ID द्वारा कोई स्मृति प्राप्त करें |
| PUT | /api/v1/memories/{id} | ID द्वारा कोई स्मृति अपडेट करें |
| DELETE | /api/v1/memories/{id} | ID द्वारा कोई स्मृति हटाएँ |
| POST | /api/v1/memories/{id}/promote | किसी स्मृति को दीर्घकालिक में प्रोन्नत करें |
| GET | /api/v1/search | AND कीवर्ड खोज |
| GET | /api/v1/recall | संदर्भ द्वारा याद करें (क्वेरी पैराम के साथ GET) |
| POST | /api/v1/recall | संदर्भ द्वारा याद करें (JSON बॉडी के साथ POST) |
| POST | /api/v1/forget | पैटर्न/नेमस्पेस/स्तर द्वारा सामूहिक विलोपन |
| POST | /api/v1/consolidate | स्मृतियों को एक में समेकित करें |
| POST | /api/v1/links | स्मृतियों के बीच एक कड़ी बनाएँ |
| GET | /api/v1/links/{id} | किसी स्मृति की कड़ियाँ प्राप्त करें |
| GET | /api/v1/namespaces | सभी नेमस्पेस सूचीबद्ध करें |
| GET | /api/v1/stats | स्मृति भंडार आँकड़े |
| POST | /api/v1/gc | गार्बेज संग्रहण ट्रिगर करें |
| GET | /api/v1/export | सभी स्मृतियाँ + कड़ियाँ JSON के रूप में निर्यात करें |
| POST | /api/v1/import | JSON से स्मृतियाँ + कड़ियाँ आयात करें |
| GET | /api/v1/archive | संग्रहीत स्मृतियाँ सूचीबद्ध करें (वैकल्पिक फ़िल्टर के साथ) |
| POST | /api/v1/archive/{id}/restore | किसी संग्रहीत स्मृति को सक्रिय भंडार में पुनर्स्थापित करें |
| DELETE | /api/v1/archive | फ़िल्टर से मेल खाने वाली संग्रहीत स्मृतियों को शुद्ध करें |
| GET | /api/v1/archive/stats | संग्रह आँकड़े (स्तर, नेमस्पेस, आयु के अनुसार गणना) |
CLI कमांड
--features sal या --features sal-postgres के अंतर्गत 89 शीर्ष-स्तरीय उपकमांड (डिफ़ॉल्ट बिल्ड में 87; 2-प्रकार का अंतर Migrate + SchemaInit है, दोनों src/daemon_runtime.rs::Command::{Migrate,SchemaInit} के अनुसार #[cfg(feature = "sal")] द्वारा नियंत्रित; v0.6.4 पर 40 था)। किसी भी कमांड पर विवरण के लिए ai-memory <command> --help चलाएँ, या पूर्ण सूची के लिए ai-memory --help चलाएँ।
| कमांड | विवरण |
|---|---|
mcp | stdio पर MCP उपकरण सर्वर के रूप में चलाएँ (प्राथमिक एकीकरण पथ) |
serve | पोर्ट 9077 पर HTTP डेमॉन प्रारंभ करें |
store | नई स्मृति संग्रहीत करें (शीर्षक+नेमस्पेस द्वारा डुप्लिकेट हटाता है) |
update | ID द्वारा मौजूदा स्मृति अपडेट करें |
recall | रैंक किए गए परिणामों + ऑटो-टच के साथ फ़ज़ी OR खोज (हाइब्रिड रिकॉल के लिए --tier का समर्थन करता है)। पाइपलाइन प्रति अनुरोध परिणामों को 50 पर सीमित करती है। |
search | सटीक कीवर्ड मिलान के लिए AND खोज। |
get | ID द्वारा एकल स्मृति पुनर्प्राप्त करें (कड़ियाँ शामिल हैं) |
list | फ़िल्टर (नेमस्पेस, स्तर, टैग, दिनांक सीमा) के साथ स्मृतियाँ ब्राउज़ करें। प्रति अनुरोध 1000 आइटम पर सीमित (LIST_MAX_LIMIT; HTTP सूची/थोक अतिरिक्त रूप से AI_MEMORY_MAX_PAGE_SIZE का सम्मान करते हैं)। |
delete | ID द्वारा कोई स्मृति हटाएँ |
promote | किसी स्मृति को दीर्घकालिक में प्रोन्नत करें (समाप्ति साफ़ करता है) |
forget | पैटर्न + नेमस्पेस + स्तर द्वारा सामूहिक विलोपन |
link | दो स्मृतियों को जोड़ें (related_to, supersedes, contradicts, derived_from) |
consolidate | अनेक स्मृतियों को एक दीर्घकालिक सारांश में विलय करें |
resolve | विरोधाभास हल करें: विजेता चिह्नित करें, हारने वाले को पदावनत करें |
shell | रंगीन आउटपुट के साथ इंटरैक्टिव REPL |
sync | दो डेटाबेस फ़ाइलों के बीच स्मृतियाँ सिंक करें (खींचें/भेजें/विलय) |
auto-consolidate | नेमस्पेस+टैग द्वारा स्मृतियाँ समूहित करें, सीमा से ऊपर समूहों का विलय करें |
gc | समाप्त स्मृतियों पर गार्बेज संग्रहण चलाएँ |
stats | स्मृति स्थिति का अवलोकन (गणना, स्तर, नेमस्पेस, कड़ियाँ, DB आकार) |
namespaces | स्मृति गणना के साथ सभी नेमस्पेस सूचीबद्ध करें |
export | सभी स्मृतियाँ और कड़ियाँ JSON के रूप में निर्यात करें |
import | JSON (stdin) से स्मृतियाँ और कड़ियाँ आयात करें |
completions | शेल पूर्णताएँ उत्पन्न करें (bash, zsh, fish) |
man | stdout पर roff मैन पेज उत्पन्न करें |
mine | ऐतिहासिक वार्तालापों (Claude, ChatGPT, Slack निर्यात) से स्मृतियाँ आयात करें |
archive | स्मृति संग्रह प्रबंधित करें (सूची, पुनर्स्थापित, शुद्ध, आँकड़े) |
शीर्ष-स्तरीय ai-memory बाइनरी वैश्विक फ़्लैग भी स्वीकार करती है:
| फ़्लैग | विवरण |
|---|---|
--db <path> | डेटाबेस पथ (डिफ़ॉल्ट: ai-memory.db, या $AI_MEMORY_DB) |
--json | सभी कमांड पर JSON आउटपुट (मशीन-पार्सेबल आउटपुट) |
store उपकमांड अतिरिक्त फ़्लैग स्वीकार करता है:
| फ़्लैग | विवरण |
|---|---|
--source / -S | यह स्मृति किसने बनाई (user, nhi, hook, api, cli, import, consolidation, system)। डिफ़ॉल्ट: cli। src/validate.rs::VALID_SOURCES के अनुसार पश्च-संगतता के लिए "claude" स्वीकृत |
--expires-at | RFC3339 समाप्ति टाइमस्टैम्प |
--ttl-secs | सेकंड में TTL (--expires-at का विकल्प) |
mcp उपकमांड एक अतिरिक्त फ़्लैग स्वीकार करता है:
| फ़्लैग | विवरण |
|---|---|
--tier <keyword|semantic|smart|autonomous> | सुविधा स्तर (डिफ़ॉल्ट: semantic)। सुविधा स्तर देखें। |
रिकॉल स्कोरिंग
प्रत्येक रिकॉल क्वेरी 6 कारकों द्वारा स्मृतियों को रैंक करती है:
score = (fts_relevance * -1)
+ (priority * 0.5)
+ (MIN(access_count, 50) * 0.1)
+ (confidence * 2.0)
+ tier_boost
+ recency_decay
| कारक | भार | नोट्स |
|---|---|---|
| FTS प्रासंगिकता | -1.0x | SQLite FTS5 रैंक (नकारात्मक = बेहतर मिलान) |
| प्राथमिकता | 0.5x | उपयोगकर्ता-निर्दिष्ट 1-10 पैमाना |
| पहुँच गणना | 0.1x | कितनी बार याद किया गया (स्कोरिंग के लिए 50 पर सीमित) |
| विश्वास | 2.0x | 0.0-1.0 निश्चितता स्कोर |
| स्तर वृद्धि | +3.0 / +1.0 / +0.0 | दीर्घ / मध्य / लघु |
| नवीनता क्षय | 1/(1 + days*0.1) | हाल की स्मृतियाँ उच्च रैंक करती हैं |
स्मृति स्तर
| स्तर | TTL | उपयोग मामला | उदाहरण |
|---|---|---|---|
short | 6 घंटे (विन्यास योग्य) | फेंकने योग्य संदर्भ | वर्तमान डिबगिंग स्थिति, अस्थायी चर, त्रुटि ट्रेस |
mid | 7 दिन (विन्यास योग्य) | कार्यशील ज्ञान | स्प्रिंट लक्ष्य, हाल के निर्णय, वर्तमान शाखा उद्देश्य |
long | स्थायी | कठिनाई से अर्जित ज्ञान | आर्किटेक्चर, उपयोगकर्ता प्राथमिकताएँ, सुधार, परंपराएँ |
स्वचालित व्यवहार
- रिकॉल पर TTL विस्तार: लघु स्मृतियों को +1 घंटा, मध्य स्मृतियों को +1 दिन मिलता है
- स्वतः-प्रोन्नति: 5+ बार एक्सेस की गई मध्य-स्तरीय स्मृतियाँ दीर्घ में प्रोन्नत होती हैं (समाप्ति साफ़)
- प्राथमिकता सुदृढ़ीकरण: प्रत्येक 10 एक्सेस पर, प्राथमिकता 1 बढ़ जाती है (10 पर सीमित)
- विरोधाभास पहचान: जब कोई नई स्मृति उसी नेमस्पेस में मौजूदा स्मृति से टकराती है तो चेतावनी देता है
- डुप्लिकेट हटाना: शीर्षक+नेमस्पेस पर अपसर्ट; अपडेट पर स्तर कभी डाउनग्रेड नहीं होता
विन्यास योग्य TTL
डिफ़ॉल्ट TTL (लघु के लिए 6 घंटे, मध्य के लिए 7 दिन) को [ttl] अनुभाग के अंतर्गत ~/.config/ai-memory/config.toml में ओवरराइड किया जा सकता है:
[ttl]
short_ttl_secs = 21600 # short-tier TTL in seconds (default: 21600 = 6 hours)
mid_ttl_secs = 604800 # mid-tier TTL in seconds (default: 604800 = 7 days)
long_ttl_secs = 0 # long-tier TTL in seconds (default: 0 = never expires)
short_extend_secs = 3600 # TTL extension on recall for short-tier memories in seconds (default: 3600 = +1h)
mid_extend_secs = 86400 # TTL extension on recall for mid-tier memories in seconds (default: 86400 = +1d)
सभी पाँच फ़ील्ड वैकल्पिक हैं -- डिफ़ॉल्ट बनाए रखने के लिए किसी को भी छोड़ दें। उस स्तर के लिए समाप्ति अक्षम करने हेतु किसी भी मान को 0 पर सेट करें। मान अधिकतम 10-वर्ष पर सीमित हैं; नकारात्मक विस्तार मान 0 पर सीमित हैं।
नोट: कॉन्फ़िगरेशन प्रक्रिया स्टार्टअप पर एक बार लोड किया जाता है।
config.tomlमें परिवर्तन प्रभावी होने के लिए ai-memory प्रक्रिया (MCP सर्वर, HTTP डेमॉन, या CLI) को पुनः आरंभ करने की आवश्यकता होती है।
संग्रह
जब गार्बेज संग्रहण किसी स्मृति को समाप्त करता है, तो इसे स्थायी रूप से हटाने के बजाय संग्रहीत किया जा सकता है। संग्रहीत स्मृतियाँ एक अलग भंडार में ले जाई जाती हैं और बाद में ब्राउज़, पुनर्स्थापित, या शुद्ध की जा सकती हैं।
कॉन्फ़िगरेशन
~/.config/ai-memory/config.toml में संग्रहण सक्षम करें:
archive_on_gc = true # archive expired memories instead of deleting them (default: true)
CLI कमांड
archive उपकमांड संग्रह का प्रबंधन करता है:
ai-memory archive list # list archived memories
ai-memory archive list --namespace my-project # filter by namespace
ai-memory archive restore <id> # restore an archived memory to active store
ai-memory archive purge --older-than-days 90 # permanently delete archives older than 90 days
ai-memory archive stats # show archive statistics
नोट: पुनर्स्थापित स्मृतियों का
expires_atसाफ़ हो जाता है (अगले TTL असाइनमेंट तक स्थायी हो जाती हैं)।
MCP उपकरण
MCP क्लाइंट के लिए चार संग्रह उपकरण उपलब्ध हैं:
| उपकरण | विवरण |
|---|---|
memory_archive_list | संग्रहीत स्मृतियाँ सूचीबद्ध करें (वैकल्पिक नेमस्पेस/स्तर/टैग फ़िल्टर के साथ) |
memory_archive_restore | किसी संग्रहीत स्मृति को वापस सक्रिय भंडार में पुनर्स्थापित करें |
memory_archive_purge | फ़िल्टर से मेल खाने वाली संग्रहीत स्मृतियों को स्थायी रूप से हटाएँ |
memory_archive_stats | संग्रह आँकड़े प्राप्त करें (स्तर, नेमस्पेस, आयु के अनुसार गणना) |
HTTP एंडपॉइंट
| विधि | एंडपॉइंट | विवरण |
|---|---|---|
| GET | /api/v1/archive | संग्रहीत स्मृतियाँ सूचीबद्ध करें (वैकल्पिक फ़िल्टर के साथ) |
| POST | /api/v1/archive/{id}/restore | किसी संग्रहीत स्मृति को सक्रिय भंडार में पुनर्स्थापित करें |
| DELETE | /api/v1/archive | फ़िल्टर से मेल खाने वाली संग्रहीत स्मृतियों को शुद्ध करें |
| GET | /api/v1/archive/stats | संग्रह आँकड़े (स्तर, नेमस्पेस, आयु के अनुसार गणना) |
सुरक्षा
ai-memory में सभी इनपुट पथों पर सुदृढ़ीकरण शामिल है:
- लेन-देन सुरक्षा -- सभी बहु-चरणीय डेटाबेस संचालन लेन-देन का उपयोग करते हैं; विफलता पर कोई आंशिक लेखन नहीं
- FTS इंजेक्शन रोकथाम -- FTS5 क्वेरी तक पहुँचने से पहले उपयोगकर्ता इनपुट को स्वच्छ किया जाता है; विशेष वर्ण एस्केप किए जाते हैं
- त्रुटि स्वच्छता -- आंतरिक डेटाबेस पथ और सिस्टम विवरण त्रुटि प्रतिक्रियाओं से हटा दिए जाते हैं; क्लाइंट संरचित त्रुटि प्रकार देखते हैं (NOT_FOUND, VALIDATION_FAILED, DATABASE_ERROR, CONFLICT)
- बॉडी आकार सीमाएँ -- HTTP अनुरोध बॉडी Axum के DefaultBodyLimit के माध्यम से 50 MB पर सीमित हैं
- बल्क संचालन सीमाएँ -- बल्क क्रिएट एंडपॉइंट संसाधन समाप्ति को रोकने के लिए अधिकतम बैच आकार लागू करते हैं
- CORS -- लोकलहोस्ट विकास कार्यप्रवाह के लिए अनुमेय CORS परत सक्षम
- इनपुट सत्यापन -- प्रत्येक लेखन पथ शीर्षक लंबाई, सामग्री लंबाई, नामस्थान प्रारूप, स्रोत मान, प्राथमिकता सीमा (1-10), विश्वास सीमा (0.0-1.0), टैग प्रारूप, स्तरीय मान, संबंध प्रकार और ID प्रारूप को मान्य करता है
- सिंक में लिंक सत्यापन -- सिंक संचालन के दौरान आयात से पहले सभी लिंक मान्य किए जाते हैं (दोनों ID, संबंध प्रकार, कोई स्व-लिंक नहीं)
- थ्रेड-सुरक्षित रंग -- सुरक्षित समवर्ती पहुँच के लिए टर्मिनल रंग पहचान
AtomicBoolका उपयोग करती है - केवल-स्थानीय HTTP -- HTTP सर्वर डिफ़ॉल्ट रूप से 127.0.0.1 से बंधता है; नेटवर्क के लिए अनावृत नहीं
- WAL मोड -- लेखन के दौरान सुरक्षित समवर्ती पठन के लिए SQLite राइट-अहेड लॉगिंग
दस्तावेज़ीकरण
| गाइड | श्रोता |
|---|---|
| चेंजलॉग v0.9.0 | वर्तमान रिलीज़ (secure-default hardening) — डिफ़ॉल्ट रूप से स्टोर-पथ एजेंट अनुप्रमाणन आवश्यक (#1751), दोहरी MCP+HTTP हुक-प्रवर्तन द्वार (#1885/#1924), स्कीमा v78 |
| रिलीज़ नोट्स v0.8.0 | पूर्व रिलीज़ (distributed-coordination) — समन्वय सब्सट्रेट, टाइप्ड अनुभूति, फ़ेडरेशन सख्तीकरण, शासन लागू करना, स्कीमा v58→v70 |
| समन्वय उपकरण संदर्भ | v0.8.0 क्रिया / पट्टा / संकेत / चेकपॉइंट / रूटीन आदिम (memory_action_* / _lease_* / _signal_* / _checkpoint_* / _routine_*) |
| माइग्रेशन गाइड v0.7 | v0.6.x से अपग्रेड करना (अनुप्रमाणित-कॉर्टेक्स, हुक्स, ट्रांसक्रिप्ट, AGE, अनुमतियाँ, G1 वंशानुक्रम सुधार शामिल) |
| v0.7 में नया क्या है | attested-cortex सब्सट्रेट का दृश्य पूर्वावलोकन |
attested-cortex RFC | चार v0.7 वास्तुशिल्प निर्णयों के लिए डिज़ाइन तर्क |
| v0.7 संगतता मैट्रिक्स | प्रति-सुविधा डिफ़ॉल्ट-बनाम-ऑप्ट-इन मैट्रिक्स |
| स्थापना गाइड | इसे चालू करना (कई AI प्लेटफ़ॉर्म के लिए MCP सेटअप शामिल) |
| उपयोगकर्ता गाइड | AI सहायक उपयोगकर्ता जो स्थायी स्मृति चाहते हैं |
| डेवलपर गाइड | ai-memory पर निर्माण या योगदान करना |
| व्यवस्थापक गाइड | तैनात करना, निगरानी करना और समस्या निवारण |
| इंजीनियरिंग मानक | कोड, परीक्षण, सुरक्षा और रिलीज़ मानक (आधिकारिक) |
| AI डेवलपर कार्यप्रवाह | इस रेपो में योगदान करने वाले AI कोडिंग एजेंटों के लिए चरण-दर-चरण कार्यप्रवाह |
| AI डेवलपर शासन मानक | AI भागीदारी के लिए नीति: प्राधिकार, श्रेय, समीक्षा, लेखापरीक्षा |
| गिटहब पेज | एनिमेटेड आरेखों के साथ दृश्य अवलोकन |
लाइसेंस
कॉपीराइट 2026 AlphaOne LLC.
Apache License, Version 2.0 ("लाइसेंस") के तहत लाइसेंस प्राप्त; आप लाइसेंस के अनुपालन के अलावा इस फ़ाइल का उपयोग नहीं कर सकते। आप लाइसेंस की एक प्रति यहाँ से प्राप्त कर सकते हैं
जब तक लागू कानून द्वारा आवश्यक न हो या लिखित रूप में सहमति न हो, लाइसेंस के तहत वितरित सॉफ़्टवेयर "जैसा है" के आधार पर वितरित किया जाता है, बिना किसी वारंटी या शर्तों के, चाहे वह व्यक्त हो या निहित। लाइसेंस के तहत विशिष्ट भाषा शासी अनुमतियों और सीमाओं के लिए लाइसेंस देखें।
Footnotes
-
MCP टूल सतह रिकॉल टियर से ओर्थोगोनल है — हर टियर
--profile fullपर समान 101 टूल देखता है (डिफ़ॉल्ट--profile coreटियर की परवाह किए बिना बूट पर 8 का विज्ञापन करता है — 7 कोर-परिवार टूल और हमेशा चालूmemory_capabilitiesबूटस्ट्रैप; अन्य 93 मांग पर लोड होते हैं)। टियर जो नियंत्रित करता है वह मॉडल (एम्बेडर, क्रॉस-एनकोडर, LLM) और फ़ीचर व्यवहार (कोसाइन समानता, LLM विस्तार, पुनः रैंकिंग) है, न कि विज्ञापित टूल गणना।src/mcp/registry.rsमेंProfile::full().expected_tool_count()+const_count_matches_full_profileद्वारा पिन किया गया। ↩