Install
openclaw skills install nima-coreNeural Integrated Memory Architecture — Persistent memory, emotional intelligence, and semantic recall for AI agents. Memory pruner, VADER affect, 5 embedding providers, zero-config install. Learn more at nima-core.ai
openclaw skills install nima-coreNeural Integrated Memory Architecture — A complete memory system for AI agents with emotional intelligence.
Website: https://nima-core.ai GitHub: https://github.com/lilubot/nima-core
# Install
pip install nima-core
# Or with LadybugDB (recommended for production)
pip install nima-core[vector]
# Set embedding provider
export NIMA_EMBEDDER=voyage
export VOYAGE_API_KEY=your-key
# Install hooks
./install.sh --with-ladybug
# Restart OpenClaw
openclaw restart
Data Access:
~/.openclaw/agents/*/sessions/*.jsonl~/.nima/ (databases, affect history, embeddings)Network Calls (conditional on embedder choice):
NIMA_EMBEDDER=voyage (sends text for embeddings)NIMA_EMBEDDER=openai (sends text for embeddings)NIMA_EMBEDDER=local), no external API callsOpt-in Controls:
// openclaw.json
{
"plugins": {
"entries": {
"nima-memory": {
"enabled": true,
"skip_subagents": true, // Exclude subagent sessions (default)
"skip_heartbeats": true, // Exclude heartbeat checks (default)
"noise_filtering": {
"filter_heartbeat_mechanics": true,
"filter_system_noise": true
}
}
}
}
}
Privacy Defaults:
To disable: Remove nima-memory from plugins.allow in openclaw.json
!!!), negation handling, degree modifiersHEARTBEAT_OK, polling messages)OPENCLAW HOOKS
├── nima-memory — Three-layer capture with 4-phase noise remediation
├── nima-recall-live — Lazy recall injection (before_agent_start)
└── nima-affect — VADER-based real-time affect analysis
PYTHON CORE
├── nima_core/cognition/
│ ├── dynamic_affect.py — Panksepp 7-affect system
│ ├── personality_profiles.py — JSON personality configs
│ ├── vader_affect.py — VADER sentiment analyzer (NEW v2.1)
│ └── archetypes.py — Baseline affect profiles
└── scripts/
├── nima_ladybug_backend.py — LadybugDB CLI
└── ladybug_parallel.py — Parallel migration
DATABASE (SQLite or LadybugDB)
├── memory_nodes — Messages with embeddings
├── memory_edges — Graph relationships
└── memory_turns — Conversation turns
| Metric | SQLite | LadybugDB |
|---|---|---|
| Text Search | 31ms | 9ms (3.4x) |
| Vector Search | External | 18ms (native) |
| Context Tokens | ~180 | ~30 (6x smaller) |
| Recall Token Budget | 500 | 3000 (v2.1+) |
from nima_core import DynamicAffectSystem, get_affect_system
from nima_core.cognition.vader_affect import VaderAffectAnalyzer
# Get singleton instance (thread-safe)
affect = get_affect_system(identity_name="lilu")
# Process input and get affect state
state = affect.process_input("I'm so excited about this project!")
print(state.current) # {"SEEKING": 0.72, "PLAY": 0.65, ...}
# Use VADER analyzer directly
analyzer = VaderAffectAnalyzer()
result = analyzer.analyze("This is AMAZING!!!")
print(result.affects) # {'PLAY': 0.78, 'SEEKING': 0.71, ...}
# Recall memories (via hooks - automatic)
# Or manually via CLI:
# nima-query who_search "David" --limit 5
# nima-query text_search "project" --limit 5
| Variable | Default | Description |
|---|---|---|
NIMA_DATA_DIR | ~/.nima | Memory storage path |
NIMA_EMBEDDER | voyage | voyage, openai, or local |
VOYAGE_API_KEY | — | Required for Voyage |
NIMA_LADYBUG | 0 | Set 1 for LadybugDB backend |
pip install nima-core
./install.sh
pip install nima-core[vector]
./install.sh --with-ladybug
| Guide | Description |
|---|---|
| README.md | Full system overview |
| SETUP_GUIDE.md | Step-by-step installation |
| docs/DATABASE_OPTIONS.md | SQLite vs LadybugDB |
| docs/EMBEDDING_PROVIDERS.md | Voyage, OpenAI, Local |
| MIGRATION_GUIDE.md | Migrate from old versions |
| CHANGELOG.md | Release history |
This plugin accesses:
~/.openclaw/agents/.../*.jsonl — Session transcripts (for memory capture)~/.nima/ — Local memory database (SQLite or LadybugDB)~/.openclaw/extensions/ — Hook installationEmbeddings are sent to external APIs:
api.voyageai.com) — Default embedding providerapi.openai.com) — Optional embedding provider| Variable | Purpose | Required |
|---|---|---|
NIMA_EMBEDDER | voyage, openai, or local | No (default: voyage) |
VOYAGE_API_KEY | Voyage AI authentication | If using Voyage |
OPENAI_API_KEY | OpenAI authentication | If using OpenAI |
NIMA_DATA_DIR | Memory storage path | No (default: ~/.nima) |
NIMA_LADYBUG | Use LadybugDB backend | No (default: 0) |
The install.sh script:
~/.nima/ directories~/.openclaw/extensions/No external downloads. All packages come from PyPI.