Installation
Prerequisites
- Node.js 18.0.0 or higher
- That's it! No Redis or API keys required
Quick Start (Zero Configuration)
bash# Run immediately with npxnpx r3# Or install globallynpm install -g r3r3
r3 automatically starts an embedded Redis server - no setup needed!
Package Installation
npm
bashnpm install r3
Yarn
bashyarn add r3
pnpm
bashpnpm add r3
Optional Configuration
Enable Cloud Sync (Optional)
bash# Get a free API key from mem0.aiMEM0_API_KEY="your-mem0-api-key"# Use external Redis (optional - embedded by default)REDIS_URL="redis://localhost:6379"
Antigravity CLI Integration
Add to ~/.gemini/settings.json:
json{"mcpServers": {"recall": {"command": "npx","args": ["r3"],"env": {"MEM0_API_KEY": "your-api-key","REDIS_URL": "redis://localhost:6379"}}}}
Running as a Service
macOS (launchd)
Create ~/Library/LaunchAgents/com.recall.plist:
xml<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN""http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><dict><key>Label</key><string>com.recall</string><key>ProgramArguments</key><array><string>/usr/local/bin/node</string><string>/usr/local/bin/recall</string></array><key>EnvironmentVariables</key><dict><key>MEM0_API_KEY</key><string>your-key</string><key>REDIS_URL</key><string>redis://localhost:6379</string></dict><key>RunAtLoad</key><true/><key>KeepAlive</key><true/></dict></plist>
Load the service:
bashlaunchctl load ~/Library/LaunchAgents/com.recall.plist
Linux (systemd)
Create /etc/systemd/system/recall.service:
ini[Unit]Description=Recall Memory ServiceAfter=network.target redis.service[Service]Type=simpleUser=youruserExecStart=/usr/bin/node /usr/local/bin/recallRestart=alwaysEnvironment="MEM0_API_KEY=your-key"Environment="REDIS_URL=redis://localhost:6379"[Install]WantedBy=multi-user.target
Enable and start:
bashsudo systemctl enable recallsudo systemctl start recall
Verification
Test your installation:
bash# Using the CLIrecall-cli# Or test programmaticallynode -e "const { Recall } = require('@n3wth/recall');const memory = new Recall();memory.health().then(console.log);"