@cup319/mmpl
v3.0.1
Published
MMPL (Memory Palace) — 单二进制 DuckDB 记忆 MCP Server (9 工具 + ONNX 语义向量 + 冲突双通道门控 + 场景构建 + 四层钻取) — Linux + Windows 双平台
Maintainers
Readme
@cup319/mmpl
MMPL (Memory Palace) — DuckDB 向量记忆 MCP Server(单二进制,Rust 实现)。
npm install -g @cup319/mmpl
mmpl # 启动 → http://127.0.0.1:7680/mcp- 零 node_modules 原生依赖(二进制在 postinstall 从 CNB Release 下载)
- Streamable HTTP MCP(多 client 共享单进程,DuckDB 独占无锁冲突)
- 9 工具:
memory_write/memory_search/memory_list/memory_manage/memory_stats/memory_evolve/memory_compress/memory_palace/memory_symbol - BM25(jieba + DuckDB FTS5)+ ONNX 语义向量(bge-small-zh)+ RRF 三路融合 + SM-2 强化
- v0.5.1 起出厂默认 = 知识库模式(stability_days=30 / review_boost=0.5,无复习半衰期 ~20.8 天)
- SIGTERM 优雅关停
记忆保持怎么配?
| 想要 | 做法 |
|---|---|
| 全部永久 | MCP 里执行一次 memory_manage action=forgetting_disable(自动持久化,重启生效);或环境变量 MMPL_FORGET=0 |
| 单条永久 | memory_write action=encode input="…" permanent=true;已有条目 reinforce_action=promote_to_permanent |
| 换个场景档 | 启动时 MMPL_PROFILE=code|vocab|assistant|lab(默认 knowledge) |
场景档位一览:knowledge(默认, S=30/boost=0.5) / code(S=7/boost=1) / vocab(S=0.5/boost=2 背单词) / assistant(S=1/boost=1) / lab(S=0.01 观察遗忘)。
背英语单词:MMPL_PROFILE=vocab 启动,词条 memory_write encode 录入 → memory_search 自测(命中即算一次复习)→ 记得 reinforce confirm(稳定期 0.5→1.5→2.5 天递增)、忘了 reinforce deny → mode=deep 定期捞半忘词强化。详见仓库 rust/README.md。
环境变量:DB_PATH(默认 data/memory.duckdb)/ HOST / PORT(默认 7680)/ MCP_PATH(默认 /mcp)/ MMPL_PROFILE / MMPL_FORGET / MMPL_STABILITY_DAYS / MMPL_REVIEW_BOOST / MMPL_ONNX / MMPL_MODEL(v0.5.2 起四档:base 默认 / small / m3 / qwen3)。
Hermes Agent 插件接入
MMPL 可作为 Hermes Agent 的原生 MemoryProvider 插件(与 holographic 等并列的记忆后端):插件源码在仓库 integrations/hermes/ 目录,纯 HTTP 客户端、零 Python 依赖,把上面 9 个 MCP 工具透传给 Agent 并自动沉淀对话。
# 1. 拷贝插件
mkdir -p $HERMES_HOME/plugins/mmpl
cp integrations/hermes/__init__.py integrations/hermes/plugin.yaml $HERMES_HOME/plugins/mmpl/
# 2. config.yaml:
# memory: { provider: mmpl }
# plugins:
# mmpl: { url: "http://127.0.0.1:7680/mcp", top_k: 5 }
# 3. 保持 mmpl 服务在跑(插件健康检查不过会自动拉起)hermes memory status 应列出 mmpl (no setup needed)。安装细节与生命周期映射见仓库 rust/README.md「Hermes Agent 插件接入」章节。
完整文档见仓库 rust/README.md 与 rust/USERS_GUIDE.md。
