名称: nima-core
描述: "Noosphere 集成记忆架构 — 为 AI 智能体提供的完整认知栈:持久记忆、情感智能、梦境巩固、群体心智、预知回忆与清醒时刻。支持 4 种嵌入提供商,LadybugDB 图数据库后端,零配置安装。nima-core.ai"
版本: 3.1.4
元数据: {"openclaw":{"emoji":"🧠","source":"https://github.com/lilubot/nima-core","homepage":"https://nima-core.ai","requires":{"bins":["python3","node"],"env":[]},"optional_env":{"NIMA_DATA_DIR":"覆盖默认数据目录 ~/.nima","NIMA_EMBEDDER":"voyage|openai|ollama|local (默认: local — 零外部调用)","VOYAGE_API_KEY":"当 NIMA_EMBEDDER=voyage 时必需","OPENAI_API_KEY":"当 NIMA_EMBEDDER=openai 时必需","NIMA_OLLAMA_MODEL":"当 NIMA_EMBEDDER=ollama 时使用的模型名称","NIMA_VOICE_TRANSCRIBER":"whisper|local (用于语音笔记)","WHISPER_MODEL":"tiny|base|small|medium|large","ANTHROPIC_API_KEY":"用于记忆修剪器的 LLM 蒸馏(仅限选择启用)"},"permissions":{"reads":["~/.nima/"],"writes":["~/.nima/","~/.openclaw/extensions/nima-*/"],"network":["voyage.ai (仅当 NIMA_EMBEDDER=voyage 时)","openai.com (仅当 NIMA_EMBEDDER=openai 时)"]},"external_calls":"所有外部 API 调用均需通过显式环境变量选择启用。默认模式使用本地嵌入,无网络调用。"}}
Noosphere 集成记忆架构 — 为 AI 智能体提供的完整认知栈:持久记忆、情感智能、梦境巩固、群体心智与预知回忆。
官网: https://nima-core.ai · GitHub: https://github.com/lilubot/nima-core
pip install nima-core && nima-core
你的机器人现在拥有了持久记忆。无需任何配置。
NIMA 已从一个记忆插件演变为完整的认知架构:
| 模块 | 功能 | 版本 |
|---|---|---|
| 记忆捕获 | 3 层捕获(输入/沉思/输出),4 阶段噪声过滤 | v2.0 |
| 语义回忆 | 向量 + 文本混合搜索,生态学评分,基于令牌预算的注入 | v2.0 |
| 动态情感 | Panksepp 7 种情感状态(寻求、愤怒、恐惧、欲望、关怀、恐慌、玩耍) | v2.1 |
| VADER 分析器 | 上下文情感分析 — 大写增强、否定、习语、程度修饰词 | v2.2 |
| 记忆修剪器 | 旧对话的 LLM 蒸馏 → 语义摘要,30 天抑制期 | v2.3 |
| 梦境巩固 | 夜间合成 — 从情景记忆中提取见解和模式 | v2.4 |
| 群体心智 | 通过共享数据库 + 可选的 Redis 发布/订阅实现多智能体记忆共享 | v2.5 |
| 预知 | 时间模式挖掘 → 预测性记忆预加载 | v2.5 |
| 清醒时刻 | 情感共鸣记忆的自发浮现 | v2.5 |
| 达尔文式记忆 | 聚类相似记忆,通过余弦相似度 + LLM 验证标记重复项 | v3.0 |
| 安装器 | 一键式设置 — LadybugDB、钩子、目录、嵌入器配置 | v3.0 |
install.sh) 实现零摩擦设置3.0.4OPENCLAW 钩子
├── nima-memory/ 捕获钩子(3 层,4 阶段噪声过滤)
│ ├── index.js 钩子入口点
│ ├── ladybug_store.py LadybugDB 存储后端
│ ├── embeddings.py 多提供商嵌入(Voyage/OpenAI/Ollama/本地)
│ ├── backfill.py 历史转录本导入
│ └── health_check.py 数据库完整性检查
├── nima-recall-live/ 回忆钩子(before_agent_start)
│ ├── lazy_recall.py 当前回忆引擎
│ └── ladybug_recall.py LadybugDB 原生回忆
├── nima-affect/ 情感钩子(message_received)
│ ├── vader-affect.js VADER 情感分析器
│ └── emotion-lexicon.js 情感关键词词典
└── shared/ 弹性包装器,错误处理
PYTHON 核心 (nima_core/)
├── cognition/
│ ├── dynamic_affect.py Panksepp 7 情感系统
│ ├── emotion_detection.py 文本情感提取
│ ├── affect_correlation.py 跨情感分析
│ ├── affect_history.py 时间情感追踪
│ ├── affect_interactions.py 情感耦合动力学
│ ├── archetypes.py 人格原型(守护者、探索者等)
│ ├── personality_profiles.py JSON 人格配置
│ └── response_modulator_v2.py 情感 → 响应调制
├── dream_consolidation.py 夜间记忆合成引擎
├── memory_pruner.py 情景记忆蒸馏 + 抑制
├── hive_mind.py 多智能体记忆共享
├── precognition.py 时间模式挖掘
├── lucid_moments.py 自发记忆浮现
├── connection_pool.py SQLite 连接池(WAL,线程安全)
├── logging_config.py 单例日志记录器
└── metrics.py 线程安全计数器/计时器
~/.nima/| 功能 | 环境变量 | 网络调用目标 | 默认状态 |
|---|---|---|---|
| 云端嵌入 | NIMA_EMBEDDER=voyage |
voyage.ai | 关闭 |
| 云端嵌入 | NIMA_EMBEDDER=openai |
openai.com | 关闭 |
| 记忆修剪器 | ANTHROPIC_API_KEY 已设置 |
anthropic.com | 关闭 |
| Ollama 嵌入 | NIMA_EMBEDDER=ollama |
localhost:11434 | 关闭 |
| 群体心智 | HIVE_ENABLED=true |
Redis 发布/订阅 | 关闭 |
| 预知 | 使用外部 LLM | 配置的端点 | 关闭 |
| 组件 | 位置 | 用途 |
|---|---|---|
Python 核心 (nima_core/) |
~/.nima/ |
记忆、情感、认知 |
| OpenClaw 钩子 | ~/.openclaw/extensions/nima-*/ |
捕获、回忆、情感 |
| SQLite 数据库 | ~/.nima/memory/graph.sqlite |
持久化存储 |
| 日志 | ~/.nima/logs/ |
调试日志(可选) |
| 环境变量 | 必需? | 网络调用? | 用途 |
|---|---|---|---|
NIMA_EMBEDDER=local |
否 | ❌ | 默认 — 离线嵌入 |
VOYAGE_API_KEY |
仅当使用 Voyage 时 | ✅ voyage.ai | 云端嵌入 |
OPENAI_API_KEY |
仅当使用 OpenAI 时 | ✅ openai.com | 云端嵌入 |
ANTHROPIC_API_KEY |
仅当使用修剪器时 | ✅ anthropic.com | 记忆蒸馏 |
NIMA_OLLAMA_MODEL |
仅当使用 Ollama 时 | ❌ (localhost) | 本地 GPU 嵌入 |
建议: 从 NIMA_EMBEDDER=local(默认)开始。仅在需要更好的嵌入质量时启用云端提供商。
install.sh 和钩子文件~/.openclaw/openclaw.json~/.nima/logs/ 是否有可疑活动~/.nima/
├── memory/
│ ├── graph.sqlite # SQLite 后端(默认)
│ ├── ladybug.lbug # LadybugDB 后端(可选)
│ ├── embedding_cache.db # 缓存的嵌入
│ └── embedding_index.npy# 向量索引
├── affect/
│ └── affect_state.json # 当前情感状态
└── logs/ # 调试日志(如果启用)
~/.openclaw/extensions/
├── nima-memory/ # 捕获钩子
├── nima-recall-live/ # 回忆钩子
└── nima-affect/ # 情感钩子
控制选项:
{
"plugins": {
"entries": {
"nima-memory": {
"skip_subagents": true,
"skip_heartbeats": true,
"noise_filtering": { "filter_system_noise": true }
}
}
}
}
| 提供商 | 设置 | 维度 | 成本 |
|---|---|---|---|
| 本地 (默认) | NIMA_EMBEDDER=local |
384 | 免费 |
| Voyage AI | NIMA_EMBEDDER=voyage + VOYAGE_API_KEY |
1024 | $0.12/百万令牌 |
| OpenAI | NIMA_EMBEDDER=openai + OPENAI_API_KEY |
1536 | $0.13/百万令牌 |
| Ollama | NIMA_EMBEDDER=ollama + NIMA_OLLAMA_MODEL |
768 | 免费 |
| SQLite (默认) | LadybugDB (推荐) | |
|---|---|---|
| 文本搜索 | 31ms | 9ms (快 3.4 倍) |
| 向量搜索 | 外部 | 原生 HNSW (18ms) |
| 图查询 | SQL JOIN | 原生 Cypher |
| 数据库大小 | ~91 MB | ~50 MB (小 44%) |
升级:pip install real-ladybug && python -c "from nima_core.storage import migrate; migrate()"
# 嵌入(默认:本地)
NIMA_EMBEDDER=local|voyage|openai|ollama
VOYAGE_API_KEY=pa-xxx
OPENAI_API_KEY=sk-xxx
NIMA_OLLAMA_MODEL=nomic-embed-text
# 数据路径
NIMA_DATA_DIR=~/.nima
NIMA_DB_PATH=~/.nima/memory/ladybug.lbug
# 记忆修剪器
NIMA_DISTILL_MODEL=claude-haiku-4-5
ANTHROPIC_API_KEY=sk-ant-xxx
# 日志记录
NIMA_LOG_LEVEL=INFO
NIMA_DEBUG_RECALL=1
| 钩子 | 触发时机 | 功能 |
|---|---|---|
nima-memory |
保存后 | 捕获 3 层 → 过滤噪声 → 存储到图数据库 |
nima-recall-live |
LLM 调用前 | 搜索记忆 → 按生态学评分 → 作为上下文注入(3000 令牌预算) |
nima-affect |
收到消息时 | VADER 情感分析 → Panksepp 7 情感状态 → 原型调制 |
./install.sh
openclaw gateway restart
或手动安装:
cp -r openclaw_hooks/nima-memory ~/.openclaw/extensions/
cp -r openclaw_hooks/nima-recall-live ~/.openclaw/extensions/
cp -r openclaw_hooks/nima-affect ~/.openclaw/extensions/
夜间合成从情景记忆中提取见解和模式:
python -m nima_core.dream_consolidation
# 或通过 OpenClaw cron 在凌晨 2 点调度
将旧对话蒸馏为语义摘要,抑制原始噪声:
python -m nima_core.memory_pruner --min-age 14 --live
python -m nima_core.memory_pruner --restore 12345 # 30 天内撤销
多智能体记忆共享:
from nima_core import HiveMind
hive = HiveMind(db_path="~/.nima/memory/ladybug.lbug")
context = hive.build_agent_context("研究任务", max_memories=8)
hive.capture_agent_result("agent-1", "结果摘要", "模型名称")
时间模式挖掘 → 预测性记忆预加载:
from nima_core import NimaPrecognition
precog = NimaPrecognition(db_path="~/.nima/memory/ladybug.lbug")
precog.run_mining_cycle()
情感共鸣记忆的自发浮现(附带安全措施:创伤过滤、静默时段、每日上限):
from nima_core import LucidMoments
lucid = LucidMoments(db_path="~/.nima/memory/ladybug.lbug")
moment = lucid.surface_moment()
基于 Panksepp 7 种情感的情感智能,支持人格原型:
from nima_core import DynamicAffectSystem
affect = DynamicAffectSystem(identity_name="my_bot", baseline="guardian")
state = affect.process_input("我对此感到兴奋!")
# 原型:guardian, explorer, trickster, empath, sage
from nima_core import (
DynamicAffectSystem,
get_affect_system,
HiveMind,
NimaPrecognition,
LucidMoments,
)
# 情感系统(线程安全单例)
affect = get_affect_system(identity_name="lilu")
state = affect.process_input("你好!")
# 群体心智
hive = HiveMind()
context = hive.build_agent_context("任务描述")
# 预知
precog = NimaPrecognition()
precog.run_mining_cycle()
# 清醒时刻
lucid = LucidMoments()
moment = lucid.surface_moment()
完整版本历史请参见 CHANGELOG.md。
MIT — 任何 AI 智能体均可免费使用,商业或个人用途均可。