Memmy म्हणजे काय? AI एजंटसाठी लोकल मेमरी हब कसे वापरावे
तुमच्या AI एजंट्सना VPS वर सामायिक मेमरी देण्यासाठी Memmy कसे सेटअप करावे ते शिका. Ubuntu वर सोर्स कोड बिल्ड करा, पोर्ट 18960 वर सर्व्हिस सुरू करा आणि सर्व डेटा स्थानिक ठेवा.
Memmy म्हणजे काय आणि ते काय साठवते
Memmy हे AI एजंट्ससाठी एक स्थानिक मेमरी हब आहे, जे तुमच्या स्वतःच्या VPS (व्हर्च्युअल प्रायव्हेट सर्व्हर) वर चालते. हे तुमच्या एजंट्सनी काय शिकले आहे याचा एक SQLite डेटाबेस ठेवते आणि सर्व्हरवरील प्रत्येक एजंट त्याच स्टोअरमध्ये वाचतो आणि लिहितो. हा प्रकल्प MemTensor कडून memmy-agent आहे, जो MIT परवानाधारक आहे आणि जुलै 2026 पर्यंत याची आवृत्ती 1.0.4 आहे.
सर्व्हरवर याचा फक्त काही भाग महत्त्वाचा असतो. Memmy एक मेमरी सर्व्हिस पुरवते जी http://127.0.0.1:18960 वर लिसन (listen) करते, एक memmy-memory कमांड लाइन इंटरफेस (CLI) जो त्या सर्व्हिसशी संवाद साधतो आणि एक डेस्कटॉप वर्कबेंच. वर्कबेंच फक्त macOS आणि Windows साठी पॅकेज केलेले आहे, त्यामुळे Linux VPS वर तुम्ही फक्त सर्व्हिस आणि CLI चालवता. Claude Code, Codex आणि Cursor यांना सामायिक मेमरी देण्यासाठी हे पुरेसे आहे.
Memmy ते काय साठवते याचे चार स्तरांमध्ये वर्गीकरण करते. L1 Trace हा कच्चा डेटा असतो: विनंती, प्रतिसाद आणि टूल कॉल्स. L2 Policy ही ट्रेसमधून मिळवलेली प्रक्रिया आहे जी उपयुक्त ठरली आहे. L3 World Model हे प्रकल्प किंवा वातावरणाबद्दलचे स्थिर ज्ञान आहे. Skill ही पॉलिसीमधून तयार केलेली एक कॉल करण्यायोग्य प्रक्रिया आहे. जेव्हा सर्व्हिस एखादी टर्न इनजेस्ट (ingest) करते, तेव्हा ती आपोआप एक स्तर नियुक्त करते, त्यामुळे तुम्हाला ते हाताने तयार करावे लागत नाही.
शेअर मेमरी हब प्रति-साधन मेमरीच्या तुलनेत काय बदल घडवून आणते
आज प्रत्येक एजंटची स्वतःची मेमरी असते. Claude Code सूचना फाइल्स रिपॉझिटरीमध्ये ठेवते. Cursor नियम त्याच्या वर्कस्पेस डेटाबेसमध्ये ठेवते. Codex सत्र लॉग ~/.codex अंतर्गत ठेवते. प्रत्येक स्टोअर एका विशिष्ट साधनाशी संबंधित असते, त्यामुळे सोमवारी एका साधनात शिकवलेली गोष्ट मंगळवारी दुसऱ्या साधनात माहित नसते. तुम्हाला याची दुहेरी किंमत मोजावी लागते: एकदा त्याच प्रकल्पाचे पुन्हा स्पष्टीकरण देण्यात खर्च होणाऱ्या टोकन्सच्या स्वरूपात, आणि दुसरीकडे जेव्हा एजंट तुम्ही आधीच दुरुस्त केलेल्या गृहितकावर आधारित चुकीचे काम करतो तेव्हा.
एक हब स्टोअरला साधनाबाहेर हलवते. Memmy विद्यमान स्टोअर्स देखील वाचते, त्यामुळे तुम्हाला रिकाम्या डेटाबेसपासून सुरुवात करावी लागत नाही. त्याचे स्कॅनर सहा स्रोत ओळखतात: ~/.claude/projects/**/*.jsonl वरील Claude Code, ~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-*.jsonl वरील Codex, ~/.local/share/opencode/opencode.db वरील OpenCode, Cursor च्या state.vscdb फाइल्स, ~/.openclaw अंतर्गत OpenClaw चे SQLite डेटाबेस आणि ~/.hermes वरील Hermes. तुम्ही नाव आणि स्थानिक पाथ (local path) देऊन स्वतःहून एक स्रोत जोडू शकता.
इंपोर्ट काउंटर्स जुळणार नाहीत, आणि हे अपेक्षित आहे. स्कॅनर संदेशांना स्रोत आणि संवादानुसार गटबद्ध करतो, त्यानंतर प्रत्येक पूर्ण टर्नसाठी एक L1 मेमरी लिहितो. जेव्हा टर्नमध्ये वापरकर्त्याची सामग्री रिकामी नसते आणि तो एका रिकाम्या नसलेल्या असिस्टंट संदेशावर संपतो, तेव्हा तो टर्न पूर्ण मानला जातो, त्यामुळे अर्धवट राहिलेले सत्र काहीही योगदान देत नाही. संदेशांचे डुप्लिकेशन संवादाच्या चेकपॉइंट्स आणि स्थिर टर्न ID द्वारे काढले जाते. स्कॅन केलेली संख्या, इंपोर्ट केलेले संदेश आणि नवीन मेमरी संख्या एकाच रनमध्ये भिन्न असू शकतात.
हा तो भाग आहे जो Claude Code एका सत्रात संदर्भ कसा व्यवस्थापित करते याच्याशी जोडलेला आहे. संदर्भ व्यवस्थापन हे ठरवते की एका विंडोमध्ये काय बसते. मेमरी हब हे ठरवते की ती विंडो बंद झाल्यानंतर काय टिकून राहते.
VPS वर तुम्हाला काय आवश्यक आहे
- Node.js 22 किंवा त्यापेक्षा नवीन आवृत्ती. Memmy दस्तऐवजांसाठी हे आवश्यक आहे आणि Ubuntu 24.04 मध्ये Node 18 समाविष्ट आहे.
gitआणि एक बिल्ड टूलचेन, कारणbetter-sqlite3हे एक नेटिव्ह मॉड्यूल आहे जे इन्स्टॉलेशन दरम्यान कंपाईल होऊ शकते.- सुमारे 2 GB RAM. रूट इन्स्टॉल एक मोठी वर्कस्पेस आणि फ्रंटएंड बिल्ड चेन खेचते.
node_modulesआणि डेटाबेससाठी काही GB मोकळी डिस्क जागा.
sudo apt update
sudo apt install -y git build-essential python3 curl ca-certificates sqlite3
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node --versionnode --version ने v22 किंवा त्यापेक्षा जास्त आवृत्ती दर्शविली पाहिजे. येथे v18 दिसणे म्हणजे NodeSource पायरी पूर्ण झाली नाही आणि प्रकल्पाच्या इंजिन तपासणीच्या वेळी इन्स्टॉलेशन अयशस्वी होईल.
Ubuntu 24.04 वर सोर्सपासून Memmy इंस्टॉल करणे
git clone https://github.com/MemTensor/memmy-agent.git
cd memmy-agent
cp .env.example .env
npm install
npm run memory:buildnpm run memory:build हे @memmy/memory वर्कस्पेसला Memory/dist मध्ये कंपाईल करते. हेडलेस सर्व्हरसाठी ट्री मधील इतर कशाचीही बिल्ड करण्याची आवश्यकता नाही. नेटिव्ह मॉड्यूल लोड झाले आहे का ते तपासा:
node -e "require('better-sqlite3'); console.log('better-sqlite3 loads')"जर ती ओळ प्रिंट करण्याऐवजी एरर देत असेल, तर नेटिव्ह मॉड्यूल तुमच्या Node व्हर्जनशी जुळत नाही. npm rebuild better-sqlite3 रन करा, जे प्रोजेक्टची स्वतःची स्टार्ट स्क्रिप्ट कोणतीही गोष्ट लाँच करण्यापूर्वी नेमके तेच करते.
README मध्ये bash scripts/dev-start.sh चा उल्लेख एका कमांडमध्ये सुरू होणारी प्रक्रिया म्हणून केला आहे. हेडलेस VPS वर ती रन करू नका. ती मेमरी सर्व्हिसच्या सोबत पोर्ट 19000 वर Electron डेस्कटॉप शेल आणि Vite डेव्ह सर्व्हर सुरू करते, आणि Electron ला डिस्प्लेची आवश्यकता असते. त्यामुळे ग्राफिकल सेशन नसलेल्या सर्व्हरवर ही स्क्रिप्ट थांबते किंवा बंद होते.
मेमरी सर्व्हिस सुरू करा आणि ती प्रतिसाद देते का ते तपासा
npm run memory:serve:devस्त्रोतापासून (source) मेमरी सर्व्हिस चालवण्याचा हा दस्तऐवजीकरण केलेला मार्ग आहे. ती 127.0.0.1:18960 वर बाइंड होते, डेटाबेस ~/.memmy/memory-service/memory.sqlite वर ठेवते आणि ~/.memmy/config.yaml मधून कॉन्फिगरेशन वाचते. जेव्हा तुम्हाला या मूल्यांची स्पष्टपणे आवश्यकता असते, तेव्हा README मध्ये तीच मूल्ये नमूद केलेली असतात:
npm run memory:serve:dev -- \
--host 127.0.0.1 --port 18960 \
--db ~/.memmy/memory-service/memory.sqlite \
--config ~/.memmy/config.yamlदुसऱ्या शेलमधून, सर्व्हिस जिवंत आहे का ते विचारा:
curl -sS http://127.0.0.1:18960/api/v1/healthHealth हा एकमेव एंडपॉईंट आहे जो कधीही टोकन मागत नाही, म्हणूनच तो तपासणीसाठी योग्य आहे. जर curl कोड 7 आणि Failed to connect to 127.0.0.1 port 18960 संदेशासह बंद झाला, तर याचा अर्थ काहीही लिसन (listen) करत नाही. सर्व्हिस चालवणारे टर्मिनल वाचा, कारण स्टार्टअपच्या वेळी झालेला क्रॅश तिथे प्रिंट होतो आणि याचे सामान्य कारण म्हणजे नेटिव्ह SQLite मॉड्यूल लोड होण्यास अपयशी ठरणे. सर्व्हिस सुरू झाल्यावर ss -lntp | grep 18960 सॉकेटची पुष्टी करते.
बाकीचे HTTP API (ॲप्लिकेशन प्रोग्रामिंग इंटरफेस) /api/v1 अंतर्गत येतात.
POST /api/v1/memory/addमेमरी लिहिते आणिPOST /api/v1/memory/searchक्वेरी करते.GET /api/v1/memory/:idआणिDELETE /api/v1/memory/:idएक एन्ट्री वाचतात आणि काढून टाकतात.POST /api/v1/sessions/openआणिPOST /api/v1/sessions/:sessionId/closeएजंट सेशनला ब्रॅकेट करतात.POST /api/v1/turns/startआणिPOST /api/v1/turns/:turnId/completeएक टर्न रेकॉर्ड करतात.GET /api/v1/panel/overview,/api/v1/panel/analysisआणि/api/v1/panel/itemsडॅशबोर्डला फीड करतात.
Memmy पोर्ट्सचा एक ब्लॉक राखून ठेवते आणि हेडलेस मोडमध्ये तुम्ही फक्त पहिल्याचा वापर करता: मेमरीसाठी 18960, गेटवे हेल्थसाठी 18970, वेब UI आणि ॲडमिन HTTP साठी 18980, memmy serve द्वारे सुरू होणाऱ्या OpenAI-सुसंगत API साठी 18990, आणि त्यानंतर डेस्कटॉप फ्रंटएंडच्या डेव्ह सर्व्हरसाठी 19000 आणि 19010. जर तुमच्या बॉक्सवरील एखादी गोष्ट आधीच यापैकी एक पोर्ट वापरत असेल, तर त्या यादीत तपासणे आवश्यक आहे.
memmy-memory कमांड नक्की कोठून येते
सहसा पहिल्यांदा इन्स्टॉल करताना येथेच चूक होते, त्यामुळे अंदाज लावण्याऐवजी पॅकेजमधून ते वाचा. कमांडच्या नावाचा रिपॉझिटरीच्या नावाशी काहीही संबंध नाही. ते वर्कस्पेसच्या bin फील्डमधून येते जे त्यास परिभाषित करते:
node -p "JSON.stringify(require('./Memory/package.json').bin)"हे {"memmy-memory":"./dist/src/cli/index.js"} प्रिंट करते. म्हणून तयार केलेले एंट्री पॉइंट Memory/dist/src/cli/index.js आहे आणि ते फक्त npm run memory:build नंतर अस्तित्वात येते, कारण बिल्ड प्रक्रियाच dist तयार करते आणि फाइलला एक्झिक्युटेबल म्हणून चिन्हांकित करते. ते थेट चालवा:
node Memory/dist/src/cli/index.js healthजर तुम्हाला तुमच्या PATH वर छोटे नाव हवे असेल, तर त्याच फाइलची लिंक तयार करा:
sudo ln -s "$PWD/Memory/dist/src/cli/index.js" /usr/local/bin/memmy-memory
memmy-memory healthCLI डीफॉल्टनुसार http://127.0.0.1:18960 वर सेट असते आणि ते --url, --token, --config, --source आणि --user-id स्वीकारते. त्याचे सब-कमांड्स init, health, search, add, get आणि delete आहेत, याव्यतिरिक्त सेशन आणि टर्न कॉल्स आहेत जे लोक वापरण्याऐवजी एजंट्स वापरतात. memmy-memory search "deploy steps" आणि memmy-memory add "staging migrates on deploy" हे दोन कमांड्स एजंट सर्वाधिक चालवतात.
Claude Code ला Memmy शी कसे जोडावे?
Claude Code मध्ये कोणतीही मेमरी प्लगइन इंटरफेस नाही, त्यामुळे Memmy थेट त्यात जोडले जात नाही. याचे एकत्रीकरण त्यापेक्षा अधिक साधे आहे. Claude Code हे memmy-memory ला एक सामान्य शेल कमांड म्हणून चालवते आणि एक सूचना फाईल (instruction file) त्याला ती कधी चालवायची हे सांगते. Memmy च्या दस्तऐवजीकरणानुसार असलेले इंस्टॉलर तुमच्यासाठी ती फाईल तयार करते: memmy-memory init --agent हे मेमरी सूचना फाईलला संबंधित एजंटच्या रूल्स डिरेक्टरीमध्ये टाकते.
सूचना एकदा स्वतः हाताने लिहा, कारण त्यामुळे एजंटला नेमकी काय सूचना दिली आहे हे तुम्हाला समजेल. Claude Code प्रत्येक सत्राच्या सुरुवातीला प्रोजेक्ट रूटमधून CLAUDE.md वाचते, त्यामुळे खालीलप्रमाणे असलेला विभाग हेच संपूर्ण एकत्रीकरण आहे:
## Memory
Before starting a task, run `memmy-memory search "<topic>"` and read what comes back.
When a task is done, run `memmy-memory add "<what you learned>"` for anything that will matter next session.यामुळे तुम्हाला नक्की काय मिळते हे स्पष्ट असावे. हे सूचना-स्तरावरील एकत्रीकरण आहे, त्यामुळे जेव्हा मॉडेल स्वतःहून कमांड चालवण्याचा निर्णय घेते, तेव्हाच हे काम करते. या कॉलला कोणतीही गोष्ट सक्ती करत नाही. जर एखादे सत्र add शिवाय संपले, तर काहीही जतन केले जात नाही आणि पुढच्या वेळी तुम्ही शोध घेता तेव्हा केवळ रिकामे निकाल मिळतात. हा व्यवहार Claude Code च्या स्वतःच्या मेमरी फाईल्स सारखाच आहे, फक्त एक फरक आहे: स्टोअर सामायिक (shared) असल्याने, ही नोंद त्याच मशीनवरील Codex आणि Cursor पर्यंतही पोहोचते.
दुसऱ्या दिशेने कोणत्याही सेटअपची गरज नाही. Memmy चा स्कॅनर आधीच ~/.claude/projects/**/*.jsonl वाचतो, जिथे Claude Code आपल्या सत्राचे ट्रान्सक्रिप्ट्स लिहिते. ज्या सर्व्हरवर तुम्ही tmux सत्रात Claude Code चालवता, त्याच सर्व्हरवर Memmy चालवा, म्हणजे कालचे काम कोणत्याही कॉन्फिगरेशनशिवाय मेमरीमध्ये रूपांतरित होईल.
Does Memmy work as an MCP server for Claude Code?
No, and knowing the direction saves an afternoon. MCP (model context protocol) has clients and servers. Memmy is a client. It connects out to MCP servers and offers their tools to its own agent runtime. It does not publish an MCP endpoint that claude mcp add can point at. The only MCP bridge in the repository belongs to the Composio integration inside the desktop local API, and that API binds a random port on 127.0.0.1 behind its own x-memmy-mcp-token header.
The client side is configured in ~/.memmy/config.yaml, the file MEMMY_CONFIG points at, under tools.mcpServers:
tools:
mcpServers:
example:
type: stdio
command: npx
args:
- "-y"
- "your-mcp-server"
toolTimeout: 30
enabledTools:
- "*"type accepts stdio, sse and streamableHttp. A stdio server runs as a child process of Memmy, which means its command must exist on the same box and run as the same user. If you already keep MCP servers running on a VPS, those are the ones to list here.
मेमरी स्टोअर खाजगी ठेवणे
Memmy च्या मालकीची सर्व माहिती ~/.memmy अंतर्गत असते: config.yaml, वर्कस्पेस, memory-service/memory.sqlite आणि रनटाइम फाइल्स. स्कॅनिंग आणि इनजेशन स्थानिक पातळीवर होते आणि मेमरीज त्या स्थानिक SQLite फाइलमध्ये लिहिल्या जातात, त्यामुळे डीफॉल्ट स्थिती पूर्णपणे स्थानिक असते.
दोन मार्ग नेटवर्कपर्यंत पोहोचतात. MEMMY_CLOUD_SERVICE डीफॉल्टनुसार https://memmy-api.memtensor.cn वर सेट असते आणि ट्रायल टोकन्ससह अकाउंट मोडला सपोर्ट करते, त्यामुळे API key मोड कधीही त्याला कॉल करत नाही. मेमरी इम्प्रूव्हमेंट प्रोग्राम हा प्रायव्हसी सेटिंग्जमधील एक स्वतंत्र टॉगल आहे, जोपर्यंत तुम्ही तो सुरू करत नाही तोपर्यंत तो बंद असतो.
तिसरा मार्ग दुर्लक्षित राहण्याची शक्यता जास्त असते. जर तुम्ही होस्ट केलेले एम्बेडिंग प्रोव्हायडर कॉन्फिगर केले, तर प्रत्येक मेमरीचा मजकूर त्या प्रोव्हायडरकडे पाठवला जातो जेणेकरून त्याचे रूपांतर वेक्टरमध्ये करता येईल. तिथे स्थानिक स्टोरेज मदत करत नाही. तुम्ही स्वतः होस्ट केलेले एम्बेडिंग एंडपॉइंट हाच तो मार्ग बंद करण्याचा एकमेव उपाय आहे.
पोर्ट 18960 लूपबॅक ॲड्रेसवर ठेवा. यासाठी कोणत्याही फायरवॉल नियमाची आवश्यकता नाही, कारण 127.0.0.1 वर बाइंड केलेली सर्व्हिस बॉक्सच्या बाहेरून अजिबात पोहोचण्यायोग्य नसते. त्याऐवजी तुमच्या लॅपटॉपवरून SSH द्वारे तिथे पोहोचा:
ssh -N -L 18960:127.0.0.1:18960 you@your-vpsजर तुम्ही ते कधीही अधिक व्यापकपणे बाइंड केले, तर आधी एक टोकन सेट करा. कॉन्फिगमध्ये storage.token सेट करणे, किंवा MEMMY_MEMORY_TOKEN किंवा MEMORY_SERVICE_TOKEN एन्व्हायर्नमेंट व्हेरिएबल वापरणे, हेल्थ एंडपॉइंट वगळता प्रत्येक एंडपॉइंटसाठी बेअरर टोकन अनिवार्य करते. कॉन्फिग व्हॅल्यूज ${ENV_NAME} संदर्भांना सपोर्ट करतात, त्यामुळे टोकन आणि तुमच्या मॉडेलच्या API keys फाइलच्या बाहेर राहतात. ही सवय इतर सर्व ठिकाणी AI एजंट्सपासून सिक्रेट्स दूर ठेवणे यासारखीच आहे आणि भविष्यातील आवृत्तीने डीफॉल्ट बाइंड ॲड्रेस बदलल्यास डीफॉल्ट डिनाय ufw पॉलिसी ही तुमची सुरक्षा कवच आहे.
~/.memmy चा बॅकअप घ्या, त्यावर विश्वास ठेवण्यापूर्वी
memory.sqlite हा संपूर्ण डेटा स्टोअर आहे. वेक्टर्स त्याच फाईलमध्ये sqlite-vec एक्स्टेंशनद्वारे राहतात, त्यामुळे एकच फाईल बॅकअपसाठी पुरेशी आहे. सर्व्हिस डेटा लिहित असताना cp वापरून ती कॉपी केल्यास डेटाबेस खराब (torn) होऊ शकतो. SQLite च्या स्वतःच्या बॅकअप कमांडचा वापर करा:
mkdir -p ~/memmy-backup
sqlite3 ~/.memmy/memory-service/memory.sqlite ".backup '$HOME/memmy-backup/memory.sqlite'"सर्व्हिस सुरू असतानाच ही कमांड एक सुसंगत कॉपी तयार करते. ही फाईल एका ठराविक वेळापत्रकानुसार सर्व्हरवरून बाहेर पाठवा, ज्यासाठी restic वापरून ऑफ-साईट स्टोरेजवर पाठवणे उपयुक्त आहे. config.yaml गमावल्यास तुम्हाला फक्त प्रोव्हायडर सेटिंग्स पुन्हा टाईप कराव्या लागतील. memory.sqlite गमावल्यास तुमची सर्व मेमरीज नष्ट होतील आणि मशीनवर दुसरी कोणतीही प्रत उपलब्ध नसेल.
systemd अंतर्गत मेमरी सर्व्हिस चालवणे
npm run memory:serve:dev शेलमध्ये चालवल्यास शेल बंद होताच ती बंद होते. युनिट फाईल सर्व्हिसला रीबूटनंतरही सुरू ठेवते.
[Unit]
Description=Memmy memory service
After=network-online.target
[Service]
Type=simple
User=memmy
WorkingDirectory=/opt/memmy/memmy-agent
EnvironmentFile=/etc/memmy/memory.env
ExecStart=/usr/bin/npm run memory:serve:dev
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.targetटोकन युनिट फाईलमध्ये ठेवू नका. ते /etc/memmy/memory.env मध्ये ठेवा, ज्याची मालकी root कडे असावी आणि मोड 600 असावा:
MEMMY_CONFIG=/home/memmy/.memmy/config.yaml
MEMMY_MEMORY_TOKEN=replace-this-with-a-long-random-stringsudo systemctl daemon-reload
sudo systemctl enable --now memmy-memory
systemctl status memmy-memory --no-pager
curl -sS http://127.0.0.1:18960/api/v1/healthस्टेटस आउटपुटमधील status=203/EXEC चा अर्थ असा आहे की systemd ला ExecStart अजिबात चालवता आले नाही, म्हणून which npm तपासा: NodeSource इन्स्टॉलमध्ये ते /usr/bin/npm असते आणि nvm वर वापरकर्त्याच्या होम डिरेक्टरीमध्ये असते, जे systemd ला सापडणार नाही. जी युनिट सुरू होते आणि लगेच बंद होते, ती npm च्या आत अयशस्वी झाली आहे आणि journalctl -u memmy-memory -n 50 त्याचे कारण दर्शवते. याची कार्यपद्धती VPS वरील इतर कोणत्याही systemd सर्व्हिस प्रमाणेच आहे.
Memmy काय करत नाही
- Linux डेस्कटॉप बिल्ड उपलब्ध नाही. पॅकेजिंग स्क्रिप्ट्स केवळ macOS आणि Windows साठी आहेत, त्यामुळे वर्कबेंच, त्याचे ऑनबोर्डिंग विझार्ड आणि मेमरी डॅशबोर्ड सर्व्हरवर उपलब्ध नाहीत.
memory:serve:devहे TypeScript एन्ट्री पॉइंटलाtsxद्वारे चालवते, जो एक डेव्हलपमेंट पाथ आहे. रिपॉझिटरीमध्ये संकलित आउटपुटसाठीmemory:serveदेखील समाविष्ट आहे. तुमच्या चेकआउटमध्ये कोणत्या स्क्रिप्ट्स आहेत हे पाहण्यासाठी कोणतेही आर्ग्युमेंट न देताnpm runचालवा.- रिट्रीव्हल (Retrieval) त्याच्या सर्च विंडोची निर्मिती सर्वात अलीकडील 2,000 वेक्टर रो (rows) मधून करते आणि त्यानंतर त्या विंडोमध्ये Top-K सिलेक्शन लागू करते. खूप मोठ्या स्टोअरमध्ये, जुनी मेमरी या विंडोच्या बाहेर राहू शकते.
- एम्बेडिंग (Embedding) हे कॅप्चर झाल्यानंतर घडते आणि त्यात अपयश आल्यास ते एजंटच्या प्रक्रियेला थांबवण्याऐवजी रिट्राय क्यू (retry queue) मध्ये पाठवले जाते. काही क्षणांपूर्वी जोडलेली मेमरी वेक्टर सर्चद्वारे शोधण्यायोग्य नसू शकते.
- एक SQLite फाइल म्हणजे एक नोड. यामध्ये क्लस्टरिंग नाही, त्यामुळे दुसरा सर्व्हर ही एक वेगळी आणि स्वतंत्र मेमरी असते.
आवृत्ती 1.0.4 आणि जुलै 2026 पर्यंतचे अंदाजे 329 स्टार्स हे एक नवीन प्रकल्प असल्याचे दर्शवतात. फ्लॅग्स, पाथ्स आणि स्क्रिप्टची नावे रिलीजनुसार बदलू शकतात. कोठूनही कॉपी केलेल्या कमांडवर विश्वास ठेवण्याऐवजी, तुमच्या स्वतःच्या चेकआउटमधील bin फील्ड आणि npm run चे आउटपुट वाचा.
FAQ
हेल्थ चेक 'connection refused' असा प्रतिसाद का देतो?
पोर्ट 18960 वर कोणतीही सेवा सुरू नाही. Failed to connect to 127.0.0.1 port 18960 सह मिळणारा curl एक्झिट कोड 7 याचा अर्थ असा की मेमरी सर्व्हिस सुरू नाही किंवा ती सुरू होतानाच बंद झाली आहे. त्यामुळे टर्मिनल किंवा ज्या जर्नलमध्ये ती सुरू झाली होती, ते तपासा. याची दोन सामान्य कारणे आहेत: एक म्हणजे better-sqlite3 नेटिव्ह मॉड्यूल जे तुमच्या Node आवृत्तीशी जुळत नाही, जे npm rebuild better-sqlite3 वापरून दुरुस्त करता येते, आणि दुसरे म्हणजे 22 पेक्षा कमी असलेली Node आवृत्ती. सर्व्हिस सुरू झाल्यावर ss -lntp | grep 18960 वापरून सॉकेटची खात्री करा.
सोर्समधून बिल्ड केल्यानंतर memmy-memory कमांड कोठून येते?
ती रिपॉझिटरीच्या नावावरून नाही, तर @memmy/memory वर्कस्पेस पॅकेजच्या bin फील्डमधून येते. चेकआउटमध्ये node -p "JSON.stringify(require('./Memory/package.json').bin)" चालवा, ते {"memmy-memory":"./dist/src/cli/index.js"} प्रिंट करेल. ती फाईल फक्त npm run memory:build नंतर अस्तित्वात येते, कारण बिल्ड प्रक्रिया dist तयार करते आणि फाईलला एक्झिक्युटेबल म्हणून चिन्हांकित करते. ती node Memory/dist/src/cli/index.js health म्हणून चालवा किंवा लहान नावासाठी /usr/local/bin मध्ये सिमलिन (symlink) करा.
मी claude mcp add वापरून Memmy ला Claude Code मध्ये जोडू शकतो का?
नाही. Memmy हे एक MCP क्लायंट आहे, MCP सर्व्हर नाही. ते ~/.memmy/config.yaml मधील tools.mcpServers अंतर्गत सूचीबद्ध असलेल्या सर्व्हरशी कनेक्ट होते आणि त्यांची साधने स्वतःच्या रनटाइमला उपलब्ध करून देते. Claude Code हे Memmy शी उलट मार्गाने जोडले जाते; ते memmy-memory CLI ला शेल कमांड म्हणून चालवते, जे एजंटच्या रूल्स डिरेक्टरीमध्ये memmy-memory init --agent द्वारे लिहिलेल्या इंस्ट्रक्शन फाईलद्वारे नियंत्रित केले जाते.
Memmy चालवल्यामुळे माझ्या मेमरीज क्लाउड सर्व्हिसला पाठवल्या जातात का?
स्कॅनिंग आणि इंजेक्शन स्थानिक पातळीवर (locally) चालतात आणि मेमरीज तुमच्या स्वतःच्या डिस्कवरील ~/.memmy/memory-service/memory.sqlite मध्ये लिहिल्या जातात. MEMMY_CLOUD_SERVICE हे अकाउंट मोड आणि ट्रायल टोकन्ससाठी https://memmy-api.memtensor.cn कडे निर्देश करते आणि जोपर्यंत तुम्ही ते सक्षम करत नाही, तोपर्यंत मेमरी इम्प्रूव्हमेंट प्रोग्राम बंद राहतो. लक्ष ठेवण्यासारखा मार्ग म्हणजे एम्बेडिंग प्रोव्हायडर: होस्ट केलेले एम्बेडिंग मॉडेल प्रत्येक मेमरीचा मजकूर प्राप्त करते ज्याचे ते वेक्टरमध्ये रूपांतर करते, त्यामुळे जर ही बाब महत्त्वाची असेल, तर तुम्ही स्वतः चालवत असलेले एंडपॉइंट वापरा.