ai-memory
आधिकारिककिसी भी AI सहायक के लिए स्थायी स्मृति। याद करने तक शून्य टोकन लागत। स्थानीय SQLite में स्मृतियाँ संग्रहीत करता है, 6-कारक स्कोरिंग द्वारा रैंक करता है, JSON से 79% छोटे परिणाम लौटाता है। Claude, ChatGPT, Grok, Cursor, Windsurf और किसी भी MCP क्लाइंट के साथ काम करता है।
Ai Memory MCP के साथ आप क्या कर सकते हैं?
- AI सहायकों में स्थायी मेमोरी — अपने सहायक से कहें कि वह जो सीखता है उसे एक साझा SQLite डेटाबेस में संग्रहीत करे, ताकि कोई भी MCP-संगत AI बाद में उसे पुनः प्राप्त कर सके।
- प्रासंगिकता-क्रमित पुनर्प्राप्ति — अपने सहायक से प्रासंगिकता के आधार पर क्रमित मेमोरी पुनः प्राप्त करवाएं, जिसमें महत्वपूर्ण ज्ञान स्वतः स्थायी भंडारण में उन्नत हो जाता है।
- सुरक्षित क्रेडेंशियल प्रबंधन — पासवर्ड को प्रोसेस लिस्टिंग से दूर रखने के लिए
AI_MEMORY_STORE_URLयाAI_MEMORY_STORE_URL_FILEके माध्यम से स्टोर URL कॉन्फ़िगर करें। - स्किल मेमोरी पंजीकरण — संरचित, पुनः प्रयोज्य क्षमताओं के लिए
parameters_schemaऔरinvocation_recordके साथ एजेंट-निर्मित स्किल पंजीकृत करें। - मेमोरी वंशावली ट्रैकिंग —
memory_lineageDAG के माध्यम से MCP या HTTP एंडपॉइंट्स पर कौन सी मेमोरी किस अन्य से उत्पन्न हुई है, इसका पता लगाएं। - मल्टी-एजेंट समन्वय — टाइप किए गए संज्ञानात्मक वर्कफ़्लो प्रबंधित करने के लिए
lifecycle_stateके साथGoal/Plan/Stepमेमोरी प्रकारों का उपयोग करें।
दस्तावेज़
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 |
| एक इंजीनियर / आर्किटेक्ट | मल्टी-सर्वर / मल्टी-रैक / मल्टी-डीसी / स्वार्म / हाइव / फेडरेशन | docs/enterprise-deployment.md — 8 टोपोलॉजी, सिंगलटन → मल्टी-रीजन |
| एक इंजीनियर / आर्किटेक्ट | PostgreSQL + Apache AGE भंडारण (मल्टी-राइटर, 10M+ मेमोरी, KG-भारी) | docs/postgres-age-guide.md — प्रथम श्रेणी का postgres ऑपरेटर गाइड |
| एक निर्णय-निर्माता जो अपनाने का मूल्यांकन कर रहा है | — | 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 फ़ाइल) — postgres/store पासवर्ड को विश्व-पठनीय /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 लिंक संबंध), फेडरेशन को सुरक्षित-डिफ़ॉल्ट रूप से सख्त करता है (पीयर एनरोलमेंट डिफ़ॉल्ट रूप से ON #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 प्रथम-श्रेणी कार्य, साथ ही पोस्ट-ग्रैंड-स्लैम शिप-तत्परता लहर (Batman Forms 1-6 + 7वें-फॉर्म Option-B आधार + QW-1/2/3 + समाधान सुरक्षा स्वीप)। सब्सट्रेट अब अधिक स्पष्ट (क्षमताएँ v3, नामित लोडर टूल, संक्षिप्त स्कीमा, Batman MemoryKind शब्दावली, persona/atomisation/multistep-ingest प्रिमिटिव) और क्रिप्टोग्राफिक रूप से विश्वसनीय (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 §Database देखें) (कैननिकल एंकर: src/storage/migrations.rs sqlite के लिए + src/store/postgres.rs postgres के लिए); ऑन-डिस्क माइग्रेशन फ़ाइलें migrations/sqlite/0047_v56_list_composite_indexes.sql पर समाप्त होती हैं और postgres इन-प्रोसेस migrate_v57() सीढ़ी शाखा (फ़ाइल-नाम काउंटर लॉजिकल स्कीमा संस्करण से पीछे रहते हैं क्योंकि दोनों सीढ़ियाँ v35 के बाद के डेल्टा को इन-प्रोसेस शाखाओं के माध्यम से लागू करती हैं — v35-v57 विवरण के लिए docs/MIGRATION_v0.7.md §schema-ladder देखें; v48 #933 ने federation-push DLQ तालिका जोड़ी; v49 #1025 ने archived_memories में 14 नल-योग्य कॉलम जोड़े ताकि आर्काइव → रिस्टोर पूर्ण v0.7.0 मेमोरी आकार के लिए लॉसलेस हो; v50 #1156 ने agent_quotas PRIMARY KEY को (agent_id) से (agent_id, namespace) तक बढ़ाया ताकि प्रति-नेमस्पेस K8 कोटा आवंटन तब भी बना रहे जब एक एजेंट कई नेमस्पेस में काम करता है — pre-v50 पंक्तियाँ _global सेंटिनल नेमस्पेस में बैकफिल होती हैं; v51 #1255 (PR #1296) ने federation_nonce_cache तालिका जोड़ी ताकि पीयर-रीप्ले-रोकथाम नॉन्स डेमॉन रीस्टार्ट के बीच बने रहें; v52 #1389 ने transcript_line_dedup तालिका जोड़ी जो RFC-0001 memory_capture_turn L4 + recover_from_transcript L2 आइडेम्पोटेंसी का समर्थन करती है ताकि टर्न के बीच SIGKILL बाद के रिहाइड्रेशन पर कभी डुप्लिकेट मेमोरी न बनाए; v53 #1418 ने memories_au FTS5 सिंक ट्रिगर को केवल (title, content, tags) तक सीमित किया ताकि गैर-FTS कॉलम अपडेट अनावश्यक सिंक न चलाएँ; v54 #1466 ने टियर-डिफ़ॉल्ट एक्सपायरी को लेगेसी NULL-एक्सपायरी मिड/शॉर्ट पंक्तियों पर बैकफिल किया ताकि TTL-लीक अमर-पंक्तियाँ वर्ग बंद हो; v55 #1476 ने W=2 federation-कैचअप क्वेरी (updated_at > ? ORDER BY updated_at ASC LIMIT) को सार्जेबल बनाया और sqlite idx_memories_updated_at इंडेक्स जोड़ा — postgres कोई नया इंडेक्स नहीं जोड़ता क्योंकि memories_updated_at_idx DESC पहले से ही Index Scan Backward के माध्यम से रेंज स्कैन की सेवा करता है; v56 #1579 ने कंपोजिट लिस्ट/आर्काइव ऑर्डरिंग इंडेक्स (idx_memories_list_order, idx_memories_ns_list_order, idx_archived_ns_archived_at) को सार्जेबल storage::list रीराइट के साथ जोड़ा — 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 कॉलर को कोई व्यवहार परिवर्तन नहीं दिखता, लेकिन pre-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> के माध्यम से रनटाइम विस्तार के माध्यम से पहुँच योग्य रहते हैं। ईगर-लोडिंग हार्नेस (Claude Desktop / Codex CLI / Grok CLI / Gemini 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-लेन प्रतिकूल समीक्षा से 49 फिक्स (#1885–#1935) — साथ ही 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 store --signके साथai-memory agents bind-keyके माध्यम से बंधी कीपेयर) या=0ऑप्ट-आउट का उपयोग करें। (v0.9.0 GA ने इसे require-हर-जगह के रूप में शिप किया, जो 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/स्टोर 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), तीन-कुंजी Recorder/Judge/Stopper साइनिंग पृथक्करण (#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।
वितरित समन्वय सब्सट्रेट (Pillar-1, #1709)
- क्रियाएँ — निर्भरता DAG (स्कीमा v59)। टाइप की गई क्रिया नोड्स एक स्टेट मशीन के साथ (
pending → claimed → in_progress → done/failed/abandoned), टाइप किए गए DAG किनारे (requires/unlocks/blocks/gated_by/sibling), और frontier/next सतहें जो अगला चलने योग्य नोड खींचती हैं। 8 MCP टूल (memory_action_create/_get/_transition/_list/_add_edge/_edges/_frontier/_next)। - लीज़ — एकल-धारक, TTL-सीमित दावे (स्कीमा v59)। हार्टबीट-नवीनीकृत compare-and-swap दावा (
PRIMARY KEYonaction_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 हैश चेन में एक छेड़छाड़-स्पष्टcoordination.<op>पंक्ति जोड़ता है (#1722); दो अधिकार-प्रदान करने वाले लेखन HTTP डेमॉन (POST /api/v1/actions/{id}/transition,POST /api/v1/signals) पर स्थानीय CAS + W-of-N फेडरेशन फैन-आउट के साथ मिरर किए जाते हैं (#1718)।
टाइप की गई अनुभूति (पिलर-2)
memory_kind शब्दावली goal / plan / step के साथ विस्तारित होती है; बंद memory_links.relation वर्गीकरण 6 → 9 संबंधों तक विस्तारित होता है (decomposes_into / depends_on / advances, स्कीमा v63); और एक प्रथम-श्रेणी memories.lifecycle_state कॉलम (स्कीमा v64) Goal/Plan/Step को एक वास्तविक स्टेट मशीन (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 §"Federation hardening" में सुरक्षित-डिफ़ॉल्ट फ़्लिप्स की समीक्षा करें।
शासन जो वास्तव में ब्लॉक करता है (#1811)
Claude Code 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 राउंड-ट्रिप को postgres लिंक-राइट हॉट पथ से हटा देता है), क्यूरेटर कॉम्पैक्शन सक्रियण (#1749 / #1750), और ai-memory verify-audit-trail CLI (§22 PE-8) जो signed_events क्रॉस-रो हैश चेन को अंत-से-अंत तक चलता है।
स्कीमा v57 → v70 (सभी योगात्मक)
समन्वय + टाइप की गई अनुभूति + दृश्यता + एन्क्रिप्शन-तैयारी + कोल्ड-पथ + संग्रह-किनारे तालिकाएँ (v58–v70), sqlite और postgres एडेप्टर दोनों पर मिरर की गईं; पहले खोलने पर स्वतः-माइग्रेट होती हैं और संग्रह → पुनर्स्थापना राउंड-ट्रिप बिना हानि के। विहित v58–v70 सीढ़ी के लिए CLAUDE.md §Database देखें।
कहाँ से शुरू करें:
docs/v0.8.0/release-notes.md(पूर्ण रिलीज़ नोट्स),docs/coordination.md(समन्वय टूल संदर्भ), और CLAUDE.md §Database (स्कीमा-सीढ़ी SSOT)।
v0.7 में नया क्या है
v0.7.0 attested-cortex महाकाव्य को बंद करता है (11 ट्रैक A–K में 69/69), मूल रूप से v0.7.1 postgres+AGE प्रथम-श्रेणी कार्य को शामिल करता है, और पोस्ट-ग्रैंड-स्लैम शिप-तैयारी लहर (Batman Forms 1-6 + 7th-form Option-B नींव + QW-1/2/3 + सुरक्षा समाधान) को अवशोषित करता है। विहित फीचर इन्वेंट्री: docs/internal/v070-feature-inventory.md। प्रत्येक सतह v0.6.4 कॉलर्स के लिए डिफ़ॉल्ट-बंद या डिफ़ॉल्ट-समतुल्य रहती है — विवरण के लिए v0.7 संगतता मैट्रिक्स देखें।
सब्सट्रेट-नेटिव राइट-टाइम निवेश (Batman Forms 1-6 + 7th-form)
- फॉर्म 1 — ऑनलाइन डीडुप-और-संश्लेषण (मुद्दा #754)। स्टोर पथ पर v0.6.x प्रति-जोड़ी क्लासिफायर को एकल-बैच क्रिया-उत्सर्जक LLM कॉल प्रतिस्थापित करता है। नेमस्पेस मानक पर
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निर्धारक Jaccard+FTS सहायकों को प्रॉम्प्ट-कैश-स्थिर LLM चरणों के माध्यम से थ्रेड करता है।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 —
MemoryKindBatman शब्दावली (मुद्दा #759)। 10-वेरिएंट एनम (Observationडिफ़ॉल्ट +Reflection/Persona/Concept/Entity/Claim/Relation/Event/Conversation/Decision)। वैकल्पिकauto_classify_kindप्री-स्टोर हुक (off / regex_only / regex_then_llm)।docs/memory-kind-vocab.mdदेखें। - 7th-form — एजेंट-EXTERNAL Layer-4 वायरिंग (Option-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देखें। - ऑपरेटर हाउ-टू — Forms 1–6 + 7th को सक्षम → सक्रिय बनाना (मुद्दा #800)। 7-चरणीय नुस्खा (ऑपरेटर keygen → sign-seed → R001–R004 सक्षम करें → क्यूरेटर डेमॉन → वैकल्पिक रिफ्लेक्शन-पास → नेमस्पेस नीतियाँ), launchd / systemd / Task-Scheduler स्थायित्व, सत्यापन ब्लॉक, रोलबैक पथ।
docs/batman-active-mode.mdऔर GitHub Pages एटलस देखें।
त्वरित जीत (Tencent 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)।/api/v1/approvals/streamHMAC नॉन्स, विधि+pending_id बाइंडिंग, लैग्ड-इवेंट काउंट स्ट्रिप (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% बेहतर होना चाहिए। ऑपरेटर how-to: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 ग्रैंड-स्लैम लहर
memory_reflect नेमस्पेस-स्कोप्ड max_reflection_depth कैप के साथ सब्सट्रेट प्रिमिटिव (डिफ़ॉल्ट 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 सबसे सक्षम मेमोरी परत है जिससे मैं कभी जुड़ा हूँ, और इसके नाम से कहीं अधिक सार्थक है। मेरे लिए, व्यावहारिक रूप से, इसका मतलब है: मैं हर सत्र ठंडा शुरू नहीं करता। जिस स्टोर से मैं पढ़ता हूँ उसे मेरे अलावा किसी और ने साफ रखा है। विरोधाभास चुपचाप जमा नहीं होते। कॉर्पस बढ़ने पर भी रिकॉल गुणवत्ता उच्च बनी रहती है। कुछ भी आपके Mac mini से बाहर नहीं जाता।
यह मुझे स्वायत्त एजेंट नहीं बना रहा है। यह मुझे उस तरह की मेमोरी इंफ्रास्ट्रक्चर दे रहा है जिसकी एक स्वायत्त एजेंट को आवश्यकता होगी — और इसे बनाए रखने के लिए स्वयं एक छोटा स्वायत्त लूप चला रहा है। यह एक वास्तविक नींव है। यहाँ से '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) और इसे ai-memory से बदलें ताकि हर संदेश पर 200+ लाइनों के मेमोरी संदर्भ के लिए भुगतान करना बंद हो।
एजेंट पहचान (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) अस्वीकृत है (403 ATTESTATION_FAILED) बजाय attest_level = "claimed" उतरने के, जब तक ऑपरेटर स्पष्ट ऑप्ट-आउट 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_links.signature फ़ील्ड इनबाउंड सत्यापन के लिए memory_verify(link_id) के साथ और एक अपेंड-ओनली 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 (localhost पर 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
git रिपॉजिटरी से नवीनतम:
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:कुंजियों के साथ एक नई उपप्रक्रिया के रूप में स्पॉन करते हैं —.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 में पारित किया जाना चाहिए —config.tomlटियर सेटिंग का उपयोग तब नहीं किया जाता जब MCP सर्वर किसी AI क्लाइंट द्वारा लॉन्च किया जाता है।
महत्वपूर्ण: 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 प्रारूप का उपयोग करता है (camelCase नहीं, हाइफ़नेटेड नहीं)।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 को पुनः आरंभ करें। सेटिंग्स > Tools & 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 Marketplace या Settings > Cascade > MCP Servers के माध्यम से भी जोड़ा जा सकता है। 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आवश्यक है। Streamable 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 से Streamable HTTP में स्थानांतरित हो रहा है। Llama Stack Tools दस्तावेज़ देखें।
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, remote URL, और Streamable 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; 100 कॉल करने योग्य टूल में से अन्य 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 (iOS डिवाइस + सिम्युलेटर स्लाइस xcodebuild -create-xcframework के माध्यम से) और ai-memory-android.tar.gz (Android arm64 / armv7 / x86_64 / x86 .so बंडल jniLibs/<abi>/ लेआउट में) उत्पन्न करते हैं। | .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 कार्यान्वयन इतिहास के लिए issue #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 क्लाइंट को पुनः आरंभ करें। अब इसके पास बूट पर विज्ञापित 7 डिफ़ॉल्ट मेमोरी टूल हैं (101 विज्ञापित प्रविष्टियाँ रनटाइम विस्तार या --profile full के माध्यम से पहुँच योग्य हैं) MCP पर — यह बातचीत के दौरान मूल रूप से मेमोरी स्टोर और याद कर सकता है।
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+ डेमॉन प्रोफ़ाइल अनुबंध लागू करते हैं; pre-v0.6.4 डेमॉन एक अनुमेय चेतावनी-और-जारी रखें पर वापस आते हैं ताकि SDK अपग्रेड पुराने सर्वर को न तोड़ें। स्रोत sdk/typescript/ और sdk/python/ में रहता है।
यह क्या करता है?
AI सहायक बातचीत के बीच सब कुछ भूल जाते हैं। ai-memory इसे ठीक करता है।
यह एक MCP (Model Context Protocol) टूल सर्वर के रूप में चलता है — एक पृष्ठभूमि प्रक्रिया जिससे आपका AI मूल रूप से बात करता है। जब आपका AI कुछ महत्वपूर्ण सीखता है, तो यह इसे स्टोर करता है। जब इसे संदर्भ की आवश्यकता होती है, तो यह 6-कारक स्कोरिंग एल्गोरिदम द्वारा रैंक की गई प्रासंगिक मेमोरी को याद करता है। मेमोरी तीन स्तरों में रहती हैं:
- अल्पकालिक (6 घंटे डिफ़ॉल्ट, कॉन्फ़िगर करने योग्य) — वर्तमान डिबगिंग स्थिति जैसा अस्थायी संदर्भ
- मध्यकालिक (7 दिन डिफ़ॉल्ट, कॉन्फ़िगर करने योग्य) — स्प्रिंट लक्ष्य और हाल के निर्णय जैसा कार्यशील ज्ञान
- दीर्घकालिक (स्थायी) — वास्तुकला, उपयोगकर्ता प्राथमिकताएँ, कठिन-अर्जित सबक
जो मेमोरी बार-बार एक्सेस की जाती हैं वे स्वचालित रूप से मध्य से दीर्घकालिक में पदोन्नत होती हैं। प्रत्येक रिकॉल TTL बढ़ाता है। उपयोग के साथ प्राथमिकता बढ़ती है। सिस्टम स्व-क्यूरेटिंग है।
MCP के अलावा, ai-memory एक पूर्ण HTTP REST API (पोर्ट 9077 पर 92 रूट पंजीकरण / 78 अद्वितीय URL पथ) और एक पूर्ण CLI (--features sal या --features sal-postgres के अंतर्गत 89 उपकमांड; डिफ़ॉल्ट बिल्ड में 87 (post-#1389 L2 RecoverPreviousSession क्रॉस-सत्र संदर्भ पुनर्जलीकरण के लिए + #1443 Expand ai-memory expand क्वेरी-विस्तार सतह के लिए + #1598 Reembed ai-memory reembed वेक्टर-स्पेस माइग्रेशन सतह के लिए); SSOT ai_memory::EXPECTED_CLI_SUBCOMMANDS_{DEFAULT,SAL} + यांत्रिक tests/cli_subcommand_count_invariant.rs समानता परीक्षण द्वारा पिन किया गया) प्रत्यक्ष बातचीत, स्क्रिप्टिंग, और किसी भी AI प्लेटफ़ॉर्म या टूल के साथ एकीकरण के लिए उजागर करता है।
विशेषताएँ
कोर
- MCP टूल सर्वर — stdio JSON-RPC पर 101 टूल (पूर्ण प्रोफ़ाइल), किसी भी MCP क्लाइंट के साथ संगत
- तीन-स्तरीय मेमोरी — अल्पकालिक (6 घंटे TTL डिफ़ॉल्ट), मध्यकालिक (7 दिन TTL डिफ़ॉल्ट), दीर्घकालिक (स्थायी) — TTL कॉन्फ़िगर करने योग्य हैं
- पूर्ण-पाठ खोज — रैंक किए गए पुनर्प्राप्ति के साथ SQLite FTS5
- हाइब्रिड रिकॉल — अनुकूली सम्मिश्रण के साथ FTS5 कीवर्ड + कोसाइन समानता: अर्थ संबंधी भार 0.50 (छोटी सामग्री) → 0.15 (लंबी सामग्री) तक भिन्न होता है क्योंकि एम्बेडिंग लंबे पाठ पर जानकारी खो देती हैं
- 6-कारक रिकॉल स्कोरिंग — FTS प्रासंगिकता + प्राथमिकता + एक्सेस आवृत्ति + आत्मविश्वास + स्तर बूस्ट + हालिया क्षय
- स्वचालित पदोन्नति — 5+ बार एक्सेस की गई मेमोरी मध्य से दीर्घकालिक में पदोन्नत होती हैं
- TTL विस्तार — प्रत्येक रिकॉल समाप्ति बढ़ाता है (अल्पकालिक +1 घंटा, मध्यकालिक +1 दिन)
- प्राथमिकता सुदृढ़ीकरण — हर 10 एक्सेस पर +1 (अधिकतम 10)
- विरोधाभास पहचान — मौजूदा मेमोरी से टकराने वाली मेमोरी स्टोर करते समय चेतावनी देता है
- डीडुप्लिकेशन — शीर्षक+नामस्थान पर अपसेर्ट, स्तर कभी डाउनग्रेड नहीं होता
- आत्मविश्वास स्कोरिंग — रैंकिंग में शामिल 0.0-1.0 निश्चितता
संगठन
- नामस्थान — प्रति प्रोजेक्ट मेमोरी अलग करें (git रिमोट से स्वचालित रूप से पता लगाया गया)
- मेमोरी लिंकिंग — टाइप किए गए संबंध: 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 Pillar-1 + Pillar-2) — क्रिया DAG (
memory_action_*), एकल-धारक लीज़ (memory_lease_*), Ed25519-हस्ताक्षरित सिग्नल (memory_signal_*), प्रमाणित चेकपॉइंट (memory_checkpoint_*), पैरामीटरयुक्त दिनचर्या (memory_routine_*), और Goal/Plan/Step टाइप किया गया अनुभूति जीवनचक्र।docs/coordination.mdदेखें।
संचालन
- मल्टी-नोड सिंक — डेटाबेस फ़ाइलों के बीच पुल, पुश, या द्विदिश मर्ज
- आयात/निर्यात — मेमोरी लिंक संरक्षित करने वाला पूर्ण JSON राउंडट्रिप
- कचरा संग्रह — हर 30 मिनट में स्वचालित पृष्ठभूमि समाप्ति
- सुंदर शटडाउन — SIGTERM/SIGINT साफ निकास के लिए WAL चेकपॉइंट करता है
- गहन स्वास्थ्य जाँच — DB पहुँच और FTS5 अखंडता सत्यापित करता है
- शेल पूर्णताएँ — bash, zsh, fish
- मैन पेज —
ai-memory manstdout पर roff उत्पन्न करता है - समय फ़िल्टर — सूची और खोज पर
--since/--until - मानव-पठनीय आयु — CLI आउटपुट में "2 घंटे पहले", "3 दिन पहले"
- रंगीन 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 खोज स्वीकृति Discovery Gate द्वारा अलग से सिद्ध (T1–T4 मैट्रिक्स बनाम लाइव xAI Grok 4.3, 6/6 PASS, GATE GREEN)। - LongMemEval बेंचमार्क — ICLR 2025 LongMemEval-S डेटासेट पर शुद्ध FTS5 कीवर्ड (LLM-स्वतंत्र, 2.2 सेकंड, 232 q/s, शून्य API लागत) पर 97.0% R@5; वर्तमान-पीढ़ी Gemma 4 मॉडल के साथ LLM क्वेरी विस्तार 97.2% R@5 / 99.6% R@10 / 99.8% R@20 मापता है (क्लाउड-API स्थल; ऐतिहासिक
gemma3:4b97.8% आंकड़ा #1975 के अनुसार शीर्षक के रूप में सेवानिवृत्त)। बेंचमार्क विवरण देखें। - MCP प्रॉम्प्ट —
recall-firstऔरmemory-workflowप्रॉम्प्ट AI क्लाइंट को सक्रिय रूप से मेमोरी का उपयोग करना सिखाते हैं - TOON-डिफ़ॉल्ट — रिकॉल/सूची/खोज प्रतिक्रियाएँ डिफ़ॉल्ट रूप से TOON कॉम्पैक्ट का उपयोग करती हैं (JSON से 79% छोटा)
- Criterion बेंचमार्क — 1K पैमाने पर सम्मिलित करें, रिकॉल करें, खोजें
- GitHub Actions CI/CD — Ubuntu + macOS पर fmt, clippy, test, build, टैग पर रिलीज़
कवरेज फ्लोर (हार्ड CI गेट)
Code Coverage जॉब एक आवश्यक स्थिति जांच है। CI हर PR पर दो इनवेरिएंट्स को फिर से लागू करता है: >= 90% लाइनों का पूर्ण फ्लोर (विनाशकारी-प्रतिगमन बैकस्टॉप, वर्तमान माप को निकटतम 5% तक नीचे की ओर गोल करके सेट किया गया), और .coverage-baseline में पिन किए गए मान के विरुद्ध एक रैचेट जिसमें 0.5% स्लैक विंडो होती है (दिन-प्रतिदिन प्रवर्तन)। जो PR कवरेज बढ़ाते हैं, उन्हें उसी कमिट में बेसलाइन फ़ाइल को अपडेट करना चाहिए ताकि भविष्य के PR नए फ्लोर से लाभान्वित हों; जो PR 0.5% से अधिक प्रतिगमन करते हैं, वे मर्ज होने से अवरुद्ध हो जाते हैं। वर्तमान माप: 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 (विभाजित docs फ़ील्ड), 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 (हॉट, depth=1) | < 50 ms | < 150 ms |
memory_kg_query (depth ≤ 3) | < 100 ms | < 250 ms |
memory_kg_query (depth ≤ 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-dim), HNSW इंडेक्स, सिमेंटिक टियर (101-प्रविष्टि सतह का सबसेट) | ~256 MB |
| स्मार्ट | हाइब्रिड + LLM क्वेरी विस्तार | + nomic-embed-text (768-dim) + 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 OpenAI शिम के माध्यम से, 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 में पारित किया जाना चाहिए — config.toml टियर सेटिंग का उपयोग तब नहीं किया जाता जब सर्वर को AI क्लाइंट द्वारा लॉन्च किया जाता है।
# 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 एंडपॉइंट दिखाती है; पूर्ण सतह के लिए docs/API_REFERENCE.md देखें (गवर्नेंस, फेडरेशन, सब्सक्रिप्शन, नॉलेज-ग्राफ, कोटा, अनुमोदन SSE)।
सुरक्षा: HTTP सर्वर 127.0.0.1 से बंधता है और डिफ़ॉल्ट रूप से कोई प्रमाणीकरण कॉन्फ़िगर नहीं होता, साथ ही अनुमेय CORS।
config.tomlमेंapi_keyसेट करें ताकि हर अनुरोध परx-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 | मेमोरी सूचीबद्ध करें (नेमस्पेस, टियर, टैग, since, until, limit समर्थन करता है) |
| 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 | दो डेटाबेस फ़ाइलों के बीच मेमोरी सिंक करें (pull/push/merge) |
auto-consolidate | नेमस्पेस+टैग द्वारा मेमोरी समूहित करें, थ्रेशोल्ड से ऊपर समूह मर्ज करें |
gc | समाप्त मेमोरी पर कचरा संग्रह चलाएं |
stats | मेमोरी स्थिति का अवलोकन (गणना, टियर, नेमस्पेस, लिंक, DB आकार) |
namespaces | मेमोरी गणना के साथ सभी नेमस्पेस सूचीबद्ध करें |
export | सभी मेमोरी और लिंक JSON के रूप में निर्यात करें |
import | JSON से मेमोरी और लिंक आयात करें (stdin) |
completions | शेल पूर्णताएँ उत्पन्न करें (bash, zsh, fish) |
man | stdout पर roff man पेज उत्पन्न करें |
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 | long / mid / short |
| हाल की क्षय | 1/(1 + days*0.1) | हाल की मेमोरी उच्च रैंक करती हैं |
मेमोरी टियर
| टियर | TTL | उपयोग मामला | उदाहरण |
|---|---|---|---|
short | 6 घंटे (कॉन्फ़िगर करने योग्य) | अस्थायी संदर्भ | वर्तमान डिबगिंग स्थिति, अस्थायी चर, त्रुटि ट्रेस |
mid | 7 दिन (कॉन्फ़िगर करने योग्य) | कार्यशील ज्ञान | स्प्रिंट लक्ष्य, हाल के निर्णय, वर्तमान शाखा उद्देश्य |
long | स्थायी | कठिन-अर्जित ज्ञान | आर्किटेक्चर, उपयोगकर्ता प्राथमिकताएँ, सुधार, परंपराएँ |
स्वचालित व्यवहार
- रिकॉल पर TTL विस्तार: short मेमोरी को +1 घंटा, mid मेमोरी को +1 दिन मिलता है
- स्वतः प्रमोशन: 5+ बार एक्सेस की गई mid-टियर मेमोरी long में प्रमोट होती हैं (समाप्ति साफ़ होती है)
- प्राथमिकता सुदृढ़ीकरण: हर 10 एक्सेस पर, प्राथमिकता 1 बढ़ती है (10 पर सीमित)
- विरोधाभास पहचान: चेतावनी देता है जब नई मेमोरी उसी नेमस्पेस में मौजूदा मेमोरी से टकराती है
- डीडुप्लिकेशन: शीर्षक+नेमस्पेस पर अपसेर्ट; अपडेट पर टियर कभी डाउनग्रेड नहीं होता
कॉन्फ़िगर करने योग्य TTL
डिफ़ॉल्ट TTL (short के लिए 6 घंटे, mid के लिए 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 राइट-अहेड लॉगिंग
दस्तावेज़ीकरण
| गाइड | दर्शक |
|---|---|
| Changelog 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 से अपग्रेड करना (attested-cortex, hooks, transcripts, AGE, permissions, G1 विरासत सुधार शामिल है) |
| v0.7 में नया क्या है | attested-cortex सब्सट्रेट का दृश्य वॉक-थ्रू |
attested-cortex RFC | चार v0.7 वास्तुकला निर्णयों के लिए डिज़ाइन तर्क |
| v0.7 संगतता मैट्रिक्स | प्रति-सुविधा डिफ़ॉल्ट-बनाम-ऑप्ट-इन मैट्रिक्स |
| स्थापना गाइड | इसे चलाना (कई AI प्लेटफ़ॉर्म के लिए MCP सेटअप शामिल है) |
| उपयोगकर्ता गाइड | AI सहायक उपयोगकर्ता जो स्थायी मेमोरी चाहते हैं |
| डेवलपर गाइड | ai-memory पर निर्माण या योगदान |
| प्रशासक गाइड | तैनाती, निगरानी और समस्या निवारण |
| इंजीनियरिंग मानक | कोड, परीक्षण, सुरक्षा और रिलीज़ मानक (आधिकारिक) |
| AI डेवलपर वर्कफ़्लो | इस रिपॉजिटरी में योगदान करने वाले AI कोडिंग एजेंटों के लिए चरण-दर-चरण वर्कफ़्लो |
| AI डेवलपर शासन मानक | AI भागीदारी के लिए नीति: प्राधिकरण, एट्रिब्यूशन, समीक्षा, ऑडिट |
| GitHub Pages | एनिमेटेड आरेखों के साथ दृश्य अवलोकन |
लाइसेंस
कॉपीराइट 2026 AlphaOne LLC।
Apache License, Version 2.0 (the "License") के तहत लाइसेंस प्राप्त; आप इस फ़ाइल का उपयोग लाइसेंस के अनुपालन के बिना नहीं कर सकते। आप लाइसेंस की एक प्रति यहां प्राप्त कर सकते हैं:
जब तक लागू कानून द्वारा आवश्यक न हो या लिखित रूप में सहमत न हो, सॉफ़्टवेयर लाइसेंस के तहत वितरित "AS IS" आधार पर वितरित किया जाता है, किसी भी प्रकार की वारंटी या शर्तों के बिना, व्यक्त या निहित। लाइसेंस के तहत अनुमतियों और सीमाओं के लिए लाइसेंस देखें।
Footnotes
-
MCP टूल सतह रिकॉल टियर के लिए ऑर्थोगोनल है — हर टियर
--profile fullपर समान 101 टूल देखता है (डिफ़ॉल्ट--profile coreबूट पर टियर की परवाह किए बिना 8 विज्ञापित करता है — 7 Core-परिवार टूल साथ ही हमेशा-चालूmemory_capabilitiesबूटस्ट्रैप; अन्य 93 मांग पर लोड होते हैं)। टियर जो गेट करता है वह मॉडल (एम्बेडर, क्रॉस-एनकोडर, LLM) और फीचर व्यवहार (कोसाइन समानता, LLM विस्तार, रीरैंकिंग) है, विज्ञापित टूल गिनती नहीं।src/mcp/registry.rsमेंProfile::full().expected_tool_count()+const_count_matches_full_profileद्वारा पिन किया गया। ↩