SSD Nodes Learn 8GB RAM — ஆண்டுக்கு $66
கல்வி வழிகாட்டிகள் Matt Connorஆல் Matt Connor · புதுப்பிக்கப்பட்டது 2026-08-01

VPS-ல் AI agents-க்கான shared memory: Memmy

Memmy, AI agents-க்கான local memory hub. Ubuntu-ல் source-இலிருந்து build செய்து, port 18960-ல் service இயக்கி, குறிப்புகள் அனைத்தையும் ஒரே SQLite database-ல் சேமிக்கலாம்.

Memmy என்றால் என்ன, அது எதைச் சேமிக்கிறது

Memmy என்பது உங்கள் சொந்த VPS (virtual private server)-ல் இயங்கும் AI agents-க்கான local memory hub ஆகும். உங்கள் agents கற்றுக்கொண்டவற்றை அது ஒரே SQLite database-ல் சேமிக்கிறது. அந்த server-ல் இயங்கும் ஒவ்வொரு agent-மும் அதே store-ல் இருந்து படித்து, அதில் எழுதுகிறது. இந்த project-ஐ MemTensor memmy-agent செய்துள்ளது. இது MIT license-இன் கீழ் வெளியிடப்பட்டுள்ளது. July 2026 நிலவரப்படி இதன் version 1.0.4 ஆகும்.

இதில் server-க்கு தேவையான பகுதி மட்டுமே முக்கியமானது. Memmy, http://127.0.0.1:18960-ல் listening செய்யும் memory service, அந்த service-உடன் தொடர்புகொள்ளும் memmy-memory command line interface (CLI), மேலும் desktop workbench ஆகியவற்றை வழங்குகிறது. Workbench, macOS மற்றும் Windows-க்கு மட்டுமே package செய்யப்பட்டுள்ளது. எனவே Linux VPS-ல் service மற்றும் CLI-ஐ இயக்க வேண்டும். இதன் மூலம் Claude Code, Codex மற்றும் Cursor ஆகியவற்றுக்கு shared memory கிடைக்கும்.

Memmy சேமிக்கும் தகவல்களை நான்கு layers ஆக வகைப்படுத்துகிறது. L1 Trace என்பது raw turn ஆகும்: request, response மற்றும் tool calls ஆகியவை இதில் அடங்கும். L2 Policy என்பது பயனுள்ளதாக நிரூபிக்கப்பட்ட traces-லிருந்து உருவாக்கப்படும் procedure ஆகும். L3 World Model என்பது project அல்லது environment குறித்த நிலையான அறிவாகும். Skill என்பது policy-யிலிருந்து உருவாக்கப்பட்டு அழைக்கக்கூடிய procedure ஆகும். ஒரு turn-ஐ ingest செய்யும்போது service layer-ஐ ஒதுக்குகிறது. எனவே அவற்றை நீங்கள் கைமுறையாக உருவாக்க வேண்டியதில்லை.

கருவி-தனித்தனி memory-யுடன் ஒப்பிடும்போது shared memory hub ஏற்படுத்தும் மாற்றம்

இன்று ஒவ்வொரு agent-உம் தனக்கென memory-யை வெளியிடுகிறது. Claude Code, repository-க்குள் instruction files-ஐ வைத்திருக்கிறது. Cursor, அதன் workspace database-ல் rules-ஐ வைத்திருக்கிறது. Codex, session logs-ஐ ~/.codex-ன் கீழ் வைத்திருக்கிறது. ஒவ்வொரு store-உம் ஒரு கருவிக்கே சொந்தமானது. ஆகவே, திங்கட்கிழமை ஒரு கருவியில் நீங்கள் கற்றுக்கொடுத்த தகவல், செவ்வாய்க்கிழமை மற்றொரு கருவிக்கு தெரியாது. இதற்காக நீங்கள் இரண்டு விதங்களில் செலுத்துகிறீர்கள்: ஒரே project-ஐ மீண்டும் விளக்குவதற்குச் செலவிடும் tokens ஒருமுறை; வேறு இடத்தில் ஏற்கனவே திருத்திய assumption-ன் அடிப்படையில் agent தவறான பணியைச் செய்வதால் ஏற்படும் செலவு மறுமுறை.

hub, store-ஐ கருவியிலிருந்து வெளியே மாற்றுகிறது. Memmy, ஏற்கனவே உள்ள stores-ஐயும் படிக்கிறது. எனவே நீங்கள் காலியான database-ல் இருந்து தொடங்க வேண்டியதில்லை. இதன் scanner ஆறு sources-ஐ அறியும்: ~/.claude/projects/**/*.jsonl-ல் உள்ள Claude Code, ~/.codex/sessions/<YYYY>/<MM>/<DD>/rollout-*.jsonl-ல் உள்ள Codex, ~/.local/share/opencode/opencode.db-ல் உள்ள OpenCode, Cursor-ன் state.vscdb files, ~/.openclaw-ன் கீழ் உள்ள OpenClaw-ன் SQLite databases, மற்றும் ~/.hermes-ல் உள்ள Hermes. name மற்றும் local path-ஐ வழங்கி source-ஐ கைமுறையாகச் சேர்க்கலாம்.

Import counters ஒரே எண்ணாக இருக்காது. இது எதிர்பார்க்கப்படும் நடத்தை. Scanner, messages-ஐ source மற்றும் conversation அடிப்படையில் குழுவாக்குகிறது. பின்னர் ஒவ்வொரு முழுமையான turn-க்கும் ஒரு L1 memory-ஐ எழுதுகிறது. Non-empty user content இருந்து, non-empty assistant message-ல் முடிந்தால் மட்டுமே ஒரு turn முழுமையானதாகக் கருதப்படும். எனவே இடைநிறுத்தப்பட்ட session எந்தத் தகவலையும் சேர்க்காது. Conversation checkpoints மற்றும் நிலையான turn IDs மூலம் messages duplicate ஆகாமல் தடுக்கப்படுகின்றன. ஒரே run-ல் scanned count, imported message count மற்றும் new memory count ஆகியவை வேறுபடும்.

இது ஒரே session-க்குள் Claude Code context-ஐ எவ்வாறு நிர்வகிக்கிறது என்பதுடன் இணைந்த பகுதி. Context management, ஒரே window-க்குள் எது பொருந்தும் என்பதைத் தீர்மானிக்கிறது. Memory hub, அந்த window மூடிய பிறகு எது நீடிக்கும் என்பதைத் தீர்மானிக்கிறது.

VPS-ல் தேவைப்படுபவை

  • Node.js 22 அல்லது அதற்குப் பிந்தைய பதிப்பு. Memmy ஆவணங்களுக்கு இது தேவை. Ubuntu 24.04-ல் Node 18 மட்டுமே வழங்கப்படுகிறது.
  • git மற்றும் build toolchain. better-sqlite3 என்பது install செய்யும் போது compile செய்யப்படக்கூடிய native module ஆகும்.
  • சுமார் 2 GB RAM. root install-ல் பெரிய workspace மற்றும் frontend build chain பதிவிறக்கப்படும்.
  • node_modules மற்றும் database-க்கு சில GB இலவச disk இடம்.
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 --version

node --version, v22 அல்லது அதற்கு மேற்பட்ட பதிப்பைக் காட்ட வேண்டும். இங்கு v18 தோன்றினால், NodeSource படி செயல்படுத்தப்படவில்லை. பின்னர் project-ன் engine check-ல் install தோல்வியடையும்.

Ubuntu 24.04-ல் source-இலிருந்து Memmy-ஐ நிறுவுதல்

git clone https://github.com/MemTensor/memmy-agent.git
cd memmy-agent
cp .env.example .env
npm install
npm run memory:build

npm run memory:build, @memmy/memory workspace-ஐ Memory/dist ஆக compile செய்கிறது. Headless server-க்கு tree-இல் உள்ள வேறு எதையும் build செய்ய வேண்டியதில்லை. Native module load ஆகியுள்ளதா என்பதைச் சரிபார்க்கவும்:

node -e "require('better-sqlite3'); console.log('better-sqlite3 loads')"

அந்த வரி output அச்சிடுவதற்குப் பதிலாக error எழுப்பினால், native module உங்கள் Node version-க்கு பொருந்தவில்லை. npm rebuild better-sqlite3-ஐ இயக்கவும். எதையும் launch செய்வதற்கு முன் project-இன் சொந்த start script இதையே இயக்குகிறது.

README, bash scripts/dev-start.sh-ஐ ஒரே command-இல் start செய்வதற்கான முறையாக ஆவணப்படுத்துகிறது. இதை headless VPS-ல் இயக்க வேண்டாம். இது Electron desktop shell-ஐயும் port 19000-ல் Vite dev server-ஐயும் memory service-க்கு அடுத்ததாகத் தொடங்குகிறது. Electron-க்கு display தேவை. ஆகவே graphical session இல்லாத server-ல் இந்த script செயலிழந்து நிற்கலாம் அல்லது வெளியேறலாம்.

memory service-ஐ தொடங்கி, அது பதிலளிக்கிறதா எனச் சரிபார்க்கவும்

npm run memory:serve:dev

மூலக் குறியீட்டிலிருந்து memory service-ஐ இயக்குவதற்கான ஆவணப்படுத்தப்பட்ட முறை இதுவாகும். இது 127.0.0.1:18960-க்கு bind ஆகிறது, database-ஐ ~/.memmy/memory-service/memory.sqlite-ல் வைத்திருக்கிறது, மேலும் config-ஐ ~/.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

இரண்டாவது shell-லிருந்து, service செயல்பாட்டில் உள்ளதா என்று கேளுங்கள்:

curl -sS http://127.0.0.1:18960/api/v1/health

Health என்பது token-ஐ ஒருபோதும் கேட்காத ஒரே endpoint ஆகும். அதனால் probe-க்கு இதுவே சரியான தேர்வு. curl code 7-ஐ வெளியிட்டு, Failed to connect to 127.0.0.1 port 18960 செய்தியைக் காட்டினால், எந்த service-உம் listening நிலையில் இல்லை. Service இயங்கும் terminal-ஐப் பாருங்கள். தொடக்கத்தின் போது ஏற்படும் crash அங்கே காட்டப்படும். இதற்கான வழக்கமான காரணம் native SQLite module load ஆகத் தவறுவது. Service தொடங்கியதும், ss -lntp | grep 18960 socket-ஐ உறுதிப்படுத்துகிறது.

மீதமுள்ள HTTP API (application programming interface), /api/v1-ன் கீழ் உள்ளது.

  • POST /api/v1/memory/add memory-ஐ எழுதுகிறது; POST /api/v1/memory/search queries-ஐ இயக்குகிறது.
  • GET /api/v1/memory/:id மற்றும் DELETE /api/v1/memory/:id ஒரு entry-ஐப் படித்து நீக்குகின்றன.
  • POST /api/v1/sessions/open மற்றும் POST /api/v1/sessions/:sessionId/close agent session-ஐத் தொடங்கி முடிக்கின்றன.
  • POST /api/v1/turns/start மற்றும் POST /api/v1/turns/:turnId/complete ஒரு turn-ஐப் பதிவு செய்கின்றன.
  • GET /api/v1/panel/overview, /api/v1/panel/analysis மற்றும் /api/v1/panel/items dashboard-க்கு தரவை வழங்குகின்றன.

Memmy பல ports-க்கான தொகுதியை ஒதுக்குகிறது. headless முறையில் நீங்கள் முதல் port-ஐ மட்டும் பயன்படுத்துகிறீர்கள்: memory-க்கு 18960, gateway health-க்கு 18970, web UI மற்றும் admin HTTP-க்கு 18980, memmy serve தொடங்கும் OpenAI-compatible API-க்கு 18990, பின்னர் desktop frontend-ன் dev server-க்கு 19000 மற்றும் 19010. உங்கள் system-ல் ஏற்கனவே இவற்றில் ஏதேனும் ஒரு port பயன்படுத்தப்பட்டால், பார்க்க வேண்டிய இடம் இந்தப் பட்டியலாகும்.

memmy-memory command உண்மையில் எங்கிருந்து வருகிறது

முதல் installation பொதுவாக இங்கேதான் தவறாகிறது. எனவே ஊகிக்காமல், package-இலிருந்து இதைப் படியுங்கள். command name-க்கு repository name-உடன் எந்தத் தொடர்பும் இல்லை. அதை வரையறுக்கும் workspace-இன் bin field-இலிருந்து இது வருகிறது:

node -p "JSON.stringify(require('./Memory/package.json').bin)"

இது {"memmy-memory":"./dist/src/cli/index.js"}-ஐ அச்சிடுகிறது. எனவே built entry point Memory/dist/src/cli/index.js ஆகும். இது npm run memory:build முடிந்த பிறகே இருக்கும். ஏனெனில் build செயல்முறையே dist-ஐ உருவாக்கி, அந்த file-க்கு executable permission-ஐ அமைக்கிறது. அதை நேரடியாக இயக்குங்கள்:

node Memory/dist/src/cli/index.js health

PATH-இல் short name வேண்டும் என்றால், அதே file-க்கு link உருவாக்குங்கள்:

sudo ln -s "$PWD/Memory/dist/src/cli/index.js" /usr/local/bin/memmy-memory
memmy-memory health

CLI இயல்பாக http://127.0.0.1:18960-ஐப் பயன்படுத்துகிறது. இது --url, --token, --config, --source மற்றும் --user-id ஆகியவற்றை ஏற்கிறது. இதன் subcommands init, health, search, add, get மற்றும் delete ஆகும். இதனுடன் agents பயன்படுத்தும் session மற்றும் turn calls உள்ளன; அவற்றை பொதுவாக மனிதர்கள் பயன்படுத்துவதில்லை. memmy-memory search "deploy steps" மற்றும் memmy-memory add "staging migrates on deploy" ஆகியவை agent அதிகம் இயக்கும் இரண்டு commands ஆகும்.

Claude Code-ஐ Memmy-உடன் எவ்வாறு இணைப்பது?

Claude Code-க்கு memory plugin interface இல்லை. எனவே Memmy அதனுடன் hook ஆகாது. Integration இதைவிட எளிமையானது. Claude Code, memmy-memory-ஐ சாதாரண shell command ஆக இயக்கும். அதை எப்போது இயக்க வேண்டும் என்பதை ஒரு instruction file குறிப்பிடும். Memmy-யின் ஆவணப்படுத்தப்பட்ட installer அந்த file-ஐ உங்களுக்காக எழுதுகிறது: memmy-memory init --agent, இலக்கு agent-ன் rules directory-க்குள் memory instruction file-ஐ இடும்.

Instruction-ஐ ஒருமுறை கைமுறையாக எழுதுங்கள். அப்போது agent-க்கு என்ன அறிவுறுத்தப்பட்டது என்பதைத் துல்லியமாக அறியலாம். ஒவ்வொரு session தொடக்கத்திலும் Claude Code project root-இலிருந்து CLAUDE.md-ஐ படிக்கும். எனவே இதுபோன்ற ஒரு section போதுமான integration ஆகும்:

## 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.

இதனால் கிடைப்பது என்ன என்பதைத் தெளிவாகப் புரிந்துகொள்ளுங்கள். இது instruction level integration ஆகும். ஆகவே model அந்த command-ஐ இயக்க முடிவு செய்தால் மட்டுமே இது செயல்படும். இல்லையெனில் செயல்படாது. இந்த call-ஐ எதுவும் கட்டாயப்படுத்தாது. add இல்லாமல் ஒரு session முடிந்தால், எதுவும் சேமிக்கப்படாது. அடுத்த முறை நீங்கள் search செய்யும்போது கிடைக்கும் ஒரே signal காலியான result ஆகும். இது Claude Code-ன் சொந்த memory files போன்ற அதே trade-off ஆகும். ஆனால் ஒரு வேறுபாடு உள்ளது: store shared ஆக இருப்பதால், அதே machine-இல் உள்ள Codex மற்றும் Cursor ஆகியவற்றுக்கும் அந்த note கிடைக்கும்.

மறுபுறத்திற்கு எந்த setup-உம் தேவையில்லை. Memmy-யின் scanner ஏற்கனவே ~/.claude/projects/**/*.jsonl-ஐ படிக்கிறது. Claude Code தனது session transcripts-ஐ அங்கே எழுதுகிறது. tmux session-க்குள் Claude Code-ஐ இயக்கும் அதே server-இல் Memmy-ஐ இயக்குங்கள். அப்போது நீங்கள் எதையும் configure செய்யாமல், நேற்றைய பணி memory ஆக மாறும்.

Memmy, Claude Code-க்கான MCP server ஆகச் செயல்படுமா?

இல்லை. இதை அறிந்துகொள்வது தேவையற்ற முயற்சியைத் தவிர்க்கும். MCP (model context protocol)-இல் clients மற்றும் servers உள்ளன. Memmy ஒரு client ஆகும். இது MCP servers-க்கு வெளிப்புறமாக இணைந்து, அவற்றின் tools-ஐ தனது agent runtime-க்கு வழங்குகிறது. claude mcp add இணைக்கக்கூடிய MCP endpoint-ஐ இது வெளியிடாது. Repository-இல் உள்ள ஒரே MCP bridge, desktop local API-க்குள் உள்ள Composio integration-க்கு உரியது. அந்த API 127.0.0.1-இல் random port-ஐ bind செய்து, அதன் சொந்த x-memmy-mcp-token header-க்கு பின்னால் இயங்குகிறது.

Client பக்க configuration ~/.memmy/config.yaml-இல் உள்ளது. MEMMY_CONFIG சுட்டிக்காட்டும் கோப்பில், tools.mcpServers-ன் கீழ் இது அமைக்கப்பட்டுள்ளது:

tools:
  mcpServers:
    example:
      type: stdio
      command: npx
      args:
        - "-y"
        - "your-mcp-server"
      toolTimeout: 30
      enabledTools:
        - "*"

type, stdio, sse மற்றும் streamableHttp ஆகியவற்றை ஏற்கிறது. stdio server, Memmy-யின் child process ஆக இயங்கும். எனவே அதன் command அதே box-இல் இருக்க வேண்டும்; அதே user ஆகவும் இயங்க வேண்டும். நீங்கள் ஏற்கனவே VPS-இல் இயங்கும் MCP servers வைத்திருந்தால், இங்கே பட்டியலிட வேண்டியவை அவையே.

memory store-ஐத் தனிப்பட்டதாக வைத்திருத்தல்

Memmy-க்கு சொந்தமான அனைத்தும் ~/.memmy-ன் கீழ் அமைந்துள்ளன: config.yaml, workspace, memory-service/memory.sqlite மற்றும் runtime files. Scanning மற்றும் ingestion உள்ளூரிலேயே நடைபெறுகின்றன. Memories அந்த local SQLite file-ல் எழுதப்படுகின்றன. எனவே default நிலை உண்மையாகவே local ஆகும்.

இரண்டு paths network-ஐ அணைகின்றன. MEMMY_CLOUD_SERVICE இயல்பாக https://memmy-api.memtensor.cn-ஐப் பயன்படுத்துகிறது. இது trial tokens மூலம் account mode-ஐ ஆதரிக்கிறது. எனவே API key mode அதனை ஒருபோதும் அழைக்காது. Memory improvement program privacy settings-ல் உள்ள தனி toggle ஆகும். அதை நீங்கள் இயக்கும் வரை அது off நிலையில் இருக்கும்.

மூன்றாவது path-ஐ கவனிக்காமல் விடுவது எளிது. Hosted embedding provider-ஐ configure செய்தால், ஒவ்வொரு memory-யின் text-மும் அந்த provider-க்கு அனுப்பப்படும். அங்கு அது vector-ஆக மாற்றப்படுகிறது. Local storage இதைத் தடுக்காது. இதைத் தவிர்ப்பதற்கான ஒரே வழி, நீங்கள் தானாக host செய்யும் embedding endpoint-ஐப் பயன்படுத்துவதாகும்.

Port 18960-ஐ loopback address-ல் வைத்திருங்கள். Firewall rule தேவையில்லை. ஏனெனில் 127.0.0.1-க்கு bind செய்யப்பட்ட service, அந்த machine-க்கு வெளியிலிருந்து எட்ட முடியாது. அதனை உங்கள் laptop-இலிருந்து SSH வழியாக அணுகுங்கள்:

ssh -N -L 18960:127.0.0.1:18960 you@your-vps

எப்போதாவது அதனை விரிவான address-க்கு bind செய்தால், முதலில் token-ஐ அமைக்கவும். Config-ல் storage.token-ஐ அமைத்தால், அல்லது MEMMY_MEMORY_TOKEN அல்லது MEMORY_SERVICE_TOKEN environment variable-ஐ அமைத்தால், health endpoint-ஐத் தவிர ஒவ்வொரு endpoint-க்கும் bearer token தேவைப்படும். Config values ${ENV_NAME} references-ஐ ஆதரிக்கின்றன. எனவே token மற்றும் உங்கள் model API keys file-க்கு வெளியிலேயே இருக்கும். இதுவே மற்ற இடங்களிலும் AI agents-இலிருந்து secrets-ஐ விலக்கி வைத்திருக்கும் நடைமுறையாகும். எதிர்கால version அதன் default bind address-ஐ மாற்றினால், default deny ufw policy பாதுகாப்பு அடுக்காக இருக்கும்.

memory.sqlite-ஐ நம்புவதற்கு முன் ~/.memmy-ஐ காப்புப்பதிவு செய்யவும்

memory.sqlite முழு store ஆகும். sqlite-vec extension மூலம் vectors அதே file-ல் சேமிக்கப்படுகின்றன. எனவே அந்த ஒரு file-ஐ காப்புப்பதிவு செய்தால் போதும். Service எழுதிக்கொண்டிருக்கும்போது cp மூலம் அதை copy செய்தால், database முழுமையற்ற நிலையில் காப்புப்பிரதியாகலாம். SQLite-இன் சொந்த backup command-ஐ பயன்படுத்தவும்:

mkdir -p ~/memmy-backup
sqlite3 ~/.memmy/memory-service/memory.sqlite ".backup '$HOME/memmy-backup/memory.sqlite'"

இதனால் service தொடர்ந்து இயங்கிக்கொண்டிருக்கும்போதே consistent copy உருவாகும். இதை திட்டமிட்ட காலஅட்டவணைப்படி box-க்கு வெளியே சேமிக்கவும். இதற்காகத்தான் off-site storage-க்கு restic பயன்படுத்தப்படுகிறது. config.yaml-ஐ இழந்தால், மீண்டும் type செய்யக்கூடிய provider settings மட்டுமே இழக்கப்படும். memory.sqlite-ஐ இழந்தால், ஒவ்வொரு memory-யையும் இழப்பீர்கள். Machine-ல் வேறு எந்த இடத்திலும் அதன் இரண்டாவது copy இருக்காது.

systemd இன் கீழ் memory service-ஐ இயக்குதல்

Shell-ல் இயங்கும் npm run memory:serve:dev, அந்த shell முடிந்ததும் நிறுத்தப்படும். Unit file பயன்படுத்தினால், reboot-களுக்குப் பிறகும் service தொடர்ந்து இயங்கும்.

[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

Token-ஐ unit-க்குள் வைக்க வேண்டாம். அதை root உரிமையுடனும் mode 600 உடனும் /etc/memmy/memory.env-ல் வைக்கவும்:

MEMMY_CONFIG=/home/memmy/.memmy/config.yaml
MEMMY_MEMORY_TOKEN=replace-this-with-a-long-random-string
sudo 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 output-ல் status=203/EXEC என்பதன் பொருள், systemd-ஆல் ExecStart-ஐ இயக்கவே முடியவில்லை என்பதாகும். எனவே which npm-ஐ சரிபார்க்கவும்: NodeSource install-ல் அது /usr/bin/npm ஆக இருக்கும்; nvm-ல் அது பயனரின் home directory-க்குள் இருக்கும். இதை systemd கண்டறியாது. Unit தொடங்கியவுடன் உடனே முடிந்துவிட்டால், தோல்வி npm-க்குள் ஏற்பட்டுள்ளது. காரணத்தை journalctl -u memmy-memory -n 50 காட்டும். VPS-ல் வேறு எந்த systemd service-ஐயும் இயக்குவதற்கான நடைமுறை இதேதான்.

Memmy தற்போது செய்யாதவை

  • Linux desktop build இல்லை. Packaging scripts macOS மற்றும் Windows-ஐ மட்டுமே ஆதரிக்கின்றன. எனவே workbench, அதன் onboarding wizard மற்றும் memory dashboard server-இலேயே கிடைக்காது.
  • memory:serve:dev, tsx மூலம் TypeScript entry point-ஐ இயக்குகிறது. இது development path ஆகும். Compiled output-க்காக repository-யில் memory:serve-உம் உள்ளது. உங்கள் checkout-இல் உண்மையில் உள்ள scripts-ஐப் பார்க்க, npm run-ஐ arguments இன்றி இயக்கவும்.
  • Retrieval, சமீபத்திய 2,000 vector rows-இலிருந்து search window-ஐ உருவாக்குகிறது. பின்னர் அந்த window-க்குள் Top-K selection-ஐப் பயன்படுத்துகிறது. மிகப் பெரிய store-இல் பழைய memory ஒன்று இந்த window-க்கு வெளியே இருக்கலாம்.
  • Capture முடிந்த பிறகே embedding நடைபெறும். அது தோல்வியடைந்தால் agent-ன் turn தடுக்கப்படாமல் retry queue-க்கு அனுப்பப்படும். சிறிது நேரத்திற்கு முன் சேர்க்கப்பட்ட memory-ஐ vector search மூலம் இன்னும் கண்டுபிடிக்க முடியாமல் இருக்கலாம்.
  • ஒரு SQLite file ஒரு node-ஐ மட்டுமே குறிக்கும். Clustering இல்லை. எனவே இரண்டாவது server என்பது தனித்த memory கொண்ட இரண்டாவது server ஆகும்.

July 2026 நிலவரப்படி Version 1.0.4 மற்றும் சுமார் 329 stars ஆகியவை இது இன்னும் ஆரம்பநிலை project என்பதை காட்டுகின்றன. Releases மாறும்போது flags, paths மற்றும் script names மாறக்கூடும். எங்கிருந்தும், இங்கிருந்தும் copy செய்யப்பட்ட command-ஐ நம்புவதற்குப் பதிலாக, உங்கள் சொந்த checkout-இல் உள்ள bin field மற்றும் npm run-ன் output-ஐப் படிக்கவும்.

FAQ

சுகாதாரச் சரிபார்ப்பு connection refused என ஏன் திருப்பி அளிக்கிறது?

port 18960-ல் எந்தச் சேவையும் listening செய்யவில்லை. Failed to connect to 127.0.0.1 port 18960 உடன் வரும் curl exit code 7, memory service இயங்கவில்லை அல்லது startup-இல் நிறுத்தப்பட்டது என்பதைக் குறிக்கிறது. ஆகவே அது தொடங்கிய terminal அல்லது journal-ஐப் படிக்கவும். வழக்கமான 2 காரணங்கள் இவை: உங்கள் Node version-க்கு பொருந்தாத better-sqlite3 native module, இதை npm rebuild better-sqlite3 மூலம் சரிசெய்யலாம்; மேலும் 22-க்குக் குறைவான Node version. service இயங்கத் தொடங்கியதும் ss -lntp | grep 18960 மூலம் socket-ஐ உறுதிப்படுத்தவும்.

source-இலிருந்து build செய்த பிறகு memmy-memory command எங்கிருந்து வருகிறது?

இது repository name-இலிருந்து வராது. @memmy/memory workspace package-இன் bin field-இலிருந்து வருகிறது. checkout-க்குள் node -p "JSON.stringify(require('./Memory/package.json').bin)" இயக்கினால், அது {"memmy-memory":"./dist/src/cli/index.js"}-ஐ அச்சிடும். npm run memory:build முடிந்த பிறகே அந்த file இருக்கும், ஏனெனில் build dist-ஐ உருவாக்கி, அந்த file-ஐ executable எனக் குறிக்கும். அதை node Memory/dist/src/cli/index.js health என இயக்கவும் அல்லது குறுகிய பெயருக்காக /usr/local/bin-க்குள் symlink உருவாக்கவும்.

claude mcp add மூலம் Memmy-ஐ Claude Code-க்கு சேர்க்க முடியுமா?

முடியாது. Memmy என்பது MCP client; MCP server அல்ல. ~/.memmy/config.yaml-இல் உள்ள tools.mcpServers-ன் கீழ் பட்டியலிடப்பட்ட server-களுடன் அது வெளியே connection ஏற்படுத்தி, அவற்றின் tools-ஐத் தனது runtime-க்கு வழங்குகிறது. Claude Code, அதற்கு மாறாக, memmy-memory CLI-ஐ shell command ஆக இயக்குவதன் மூலம் Memmy-ஐ அணைகிறது. இதை memmy-memory init --agent agent-ன் rules directory-க்குள் எழுதும் instruction file வழிநடத்துகிறது.

Memmy-ஐ இயக்கினால், என் memories cloud service-க்கு அனுப்பப்படுமா?

Scanning மற்றும் ingestion உள்ளூரிலேயே இயங்கும். memories உங்கள் சொந்த disk-இல் உள்ள ~/.memmy/memory-service/memory.sqlite-க்கு எழுதப்படும். account mode மற்றும் trial tokens-க்காக MEMMY_CLOUD_SERVICE, https://memmy-api.memtensor.cn-ஐச் சுட்டிக்காட்டுகிறது. நீங்கள் அதை enable செய்யும் வரை memory improvement program இயங்காது. கவனிக்க வேண்டிய பாதை embedding provider ஆகும். hosted embedding model, vector-ஆக மாற்றும் ஒவ்வொரு memory-யின் text-ஐயும் பெறும். இது முக்கியமானதாக இருந்தால், நீங்கள் சொந்தமாக இயக்கும் endpoint-ஐப் பயன்படுத்தவும்.