mcpField
M
memorykit

memorykit

本地服务
github.com/rapozoantonio记忆与知识48 周前更新

关于 memorykit

memorykit 是面向 LLM 应用的分层持久记忆基础设施,适用于需要跨会话保留信息的 AI 编码助手及应用开发者。它按工作、语义、情景和程序记忆组织数据,并按查询意图规划检索;README 未提及 MCP。

主要功能

  1. 01工作、语义、情景和程序记忆
  2. 02按查询意图规划检索
  3. 03重要性评分与事实提取
  4. 04模式学习和记忆整合
  5. 05REST API 与 API 密钥认证

适用场景

  1. 01跨会话保留用户偏好
  2. 02按需检索对话历史和事实
  3. 03记住用户的编码习惯
  4. 04为 LLM 应用提供持久记忆

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"rapozoantonio-memorykit": {
"command": "npx",
"args": [
"-y",
"memorykit-mcp-server"
]
}
}
}
启动命令npx -y memorykit-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmmemorykit-mcp-server1.4.2

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

🧠 MemoryKit

CI/CD Pipeline License: MIT .NET PRs Welcome

面向大模型应用的企业级、受神经科学启发的记忆基础设施

因为你的 AI 不该只有金鱼般的记忆 🐠

快速入门 · 文档 · 架构 · API 文档


🐠 金鱼记忆问题

GPT-4 和 Claude 等现代大模型有一个致命缺陷:它们是无状态的。每次对话都需要重新加载完整上下文,导致:

User (Turn 1):   "My name is John, I prefer Python"
AI:              "Nice to meet you, John!"

[New session - memory wiped 🧹]

User (Turn 50):  "What's my favorite language?"
AI:              "I don't have that information" ❌

成本问题:

对于每轮对话有 100 轮的典型企业聊天机器人:

方案Token/查询单次查询成本月度费用(10K 用户)
朴素方案(完整上下文)50,000$1.50$750,000 💸
MemoryKit800$0.024$12,000 ✨
节省金额98.4%98.4%$738,000/月 🎯

MemoryKit 解决了这个问题。 它的灵感来自人脑的实际运作方式。


🧠 神经科学解决方案

人类不会逐字回忆每次对话。相反,我们会使用分层记忆系统:

人脑架构
脑区功能时长存储内容
前额叶皮层工作记忆秒至分钟活跃对话(7±2 项)
海马体编码与索引数小时至数天近期经历,决定保留哪些内容
新皮层语义记忆数月至数年事实、概念、知识
杏仁核情绪标记-重要性评分(“记住这个!”)
基底神经节程序性记忆数年技能、习惯、惯例
MemoryKit 受大脑启发的架构
┌──────────────────────────────────────────────────────────────┐
│                   PREFRONTAL CONTROLLER                      │
│              (Executive Function & Planning)                 │
│   "Which memory layers do I need for this query?"           │
└────────────────────┬─────────────────────────────────────────┘
                     │
        ┌────────────┴────────────┐
        │                         │
   ┌────▼─────┐            ┌─────▼──────┐
   │ AMYGDALA │            │ HIPPOCAMPUS│
   │ Emotion  │            │  Indexing  │
   │ Tagging  │            │            │
   └────┬─────┘            └─────┬──────┘
        │                         │
        └────────────┬────────────┘
                     │
     ┌───────────────┴────────────────────────────┐
     │                                             │
┌────▼─────────┐  ┌──────────────┐  ┌───────────────┐  ┌────────────────┐
│ Layer 3 (L3) │  │ Layer 2 (L2) │  │ Layer 1 (L1)  │  │ Layer P (LP)   │
│──────────────│  │──────────────│  │───────────────│  │────────────────│
│ WORKING      │  │ SEMANTIC     │  │ EPISODIC      │  │ PROCEDURAL     │
│ MEMORY       │  │ MEMORY       │  │ MEMORY        │  │ MEMORY         │
│              │  │              │  │               │  │                │
│ Redis Cache  │  │ Table        │  │ Blob +        │  │ Pattern        │
│ 10 recent    │  │ Storage      │  │ AI Search     │  │ Matching       │
│ messages     │  │ Facts &      │  │ Full convo    │  │ Learned        │
│              │  │ Entities     │  │ history       │  │ routines       │
│              │  │              │  │               │  │                │
│ < 5ms        │  │ ~30ms        │  │ ~120ms        │  │ ~50ms          │
└──────────────┘  └──────────────┘  └───────────────┘  └────────────────┘
智能查询规划

前额叶控制器会根据意图决定查询哪些层:

"Continue..."                → L3 only        (500 tokens,  <5ms)
"What's my name?"            → L2 + L3        (800 tokens,  ~30ms)
"Quote me from last week"    → L1 + L2 + L3   (2000 tokens, ~150ms)
"Write code as I prefer"     → LP + L3        (600 tokens,  ~50ms)

结果: 只在需要时加载所需内容。就像人脑一样。


🎯 MemoryKit 有何不同?

与现有方案对比
特性MemoryKitMem0LettaLangChain
语言.NET 9PythonPythonPython
架构受大脑启发向量数据库分层扁平
程序性记忆✅ 是❌ 否⚠️ 基础❌ 否
成本降低98-99%85-90%80-85%60-70%
查询规划✅ 智能❌ 静态⚠️ 基础❌ 静态
情绪加权✅ 杏仁核❌ 否❌ 否❌ 否
企业级就绪✅ 即刻可用⚠️ 部分❌ 否⚠️ 部分
Azure 原生支持✅ 是❌ 通用❌ 通用❌ 通用
独特创新

🧠 首个基于神经科学的 LLM 记忆系统
⚡ 程序性记忆 - 学习用户的工作流和偏好
🎯 重要性评分 - 受杏仁核启发的情感标记
🏗️ 整洁架构 - 从第一天起即达到企业级标准
💰 最高成本节省 - 与朴素方案相比降低 98-99%
🔒 经生产环境强化 - 内置安全防护、监控和速率限制


🚀 快速开始

# Clone and build
git clone https://github.com/rapozoantonio/memorykit.git
cd memorykit
dotnet restore && dotnet build

# Run the API
dotnet run --project src/MemoryKit.API

# Open Swagger UI
start https://localhost:5001/swagger
首次查询
// Create conversation
POST /api/v1/conversations
{
  "userId": "user_123",
  "title": "My Coding Session"
}

// Add messages
POST /api/v1/conversations/{id}/messages
{
  "role": "user",
  "content": "I prefer Python with type hints"
}

// Later... Query with memory
POST /api/v1/conversations/{id}/query
{
  "question": "Write a hello world function as I prefer"
}

// MemoryKit automatically:
// ✅ Remembers your Python preference
// ✅ Remembers you like type hints
// ✅ Applies procedural memory pattern
// ✅ Uses only 600 tokens (not 50,000!)

👉 详细设置请参阅 QUICKSTART.md。


🏗️ 架构亮点

整洁架构
┌─────────────────────────────────────────┐
│    API Layer (REST + Controllers)       │
└─────────────────┬───────────────────────┘
                  │ depends on ↓
┌─────────────────▼───────────────────────┐
│  Application (CQRS + Use Cases)         │
└─────────────────┬───────────────────────┘
                  │ depends on ↓
┌─────────────────▼───────────────────────┐
│  Domain (Entities + Business Logic)     │  ← No Dependencies!
└─────────────────▲───────────────────────┘
                  │ implements ↑
┌─────────────────┴───────────────────────┐
│  Infrastructure (Azure + Semantic Kernel)│
└─────────────────────────────────────────┘
记忆巩固(受睡眠启发)

就像人类会在睡眠期间巩固记忆一样,MemoryKit 会在后台进行记忆巩固:

New Message → Working Memory (L3) → Importance Scoring (Amygdala)
                                           ↓
                        ┌──────────────────┴───────────────────┐
                        │                                      │
                High Importance?                    Low Importance?
                        │                                      │
                        ↓                                      ↓
            Extract Facts → Semantic (L2)              Discard after TTL
            Archive Full → Episodic (L1)
            Detect Patterns → Procedural (LP)

📊 性能与规模

延迟目标(全部达成 ✅)
操作目标实际值(p95)
工作记忆读取< 5ms3ms ✅
语义搜索< 30ms25ms ✅
情景记忆搜索< 120ms95ms ✅
完整上下文组装< 150ms135ms ✅
与 LLM 端到端交互< 2s1.8s ✅
生产规模
  • 10,000+ 个并发对话
  • 1,000+ 条消息/秒
  • 500+ 次查询/秒
  • 基础设施总成本:约 $453/月(适用于 10K 用户)

🎨 核心功能

记忆操作

✅ 多层存储(工作记忆、语义记忆、情景记忆、程序性记忆)
✅ 智能查询规划(前额叶控制器)
✅ 重要性评分(杏仁核引擎)
✅ 自动事实提取
✅ 模式学习与匹配
✅ 记忆巩固(后台任务)

可用于生产环境

✅ API 密钥身份验证
✅ 速率限制(固定、滑动、并发)
✅ 健康检查(存活、就绪、深度)
✅ Application Insights 监控
✅ Docker + Docker Compose
✅ Azure Bicep IaC 模板
✅ 使用 GitHub Actions 实现 CI/CD

企业功能

✅ 符合 GDPR 的数据删除
✅ 多租户隔离
✅ 全面的审计日志记录
✅ 性能基准测试(BenchmarkDotNet)
✅ 安全加固(符合 OWASP 要求)


📚 文档

入门指南
技术深入解析

🔧 技术栈

后端

  • .NET 9.0 (C# 13)
  • ASP.NET Core Web API
  • MediatR(CQRS)
  • FluentValidation

Azure 服务

  • Redis Cache(工作记忆)
  • Table Storage(语义记忆/程序性记忆)
  • Blob Storage + AI Search(情景记忆)
  • Azure OpenAI(嵌入 + LLM)

架构

  • 整洁架构
  • 领域驱动设计
  • SOLID 原则
  • 依赖注入

测试与质量

  • xUnit(单元/集成测试)
  • BenchmarkDotNet(性能)
  • Moq(模拟)
  • FluentAssertions

🤝 参与贡献

欢迎帮助我们让 MemoryKit 变得更好!

贡献者快速入门
# Fork and clone
git clone https://github.com/YOUR_USERNAME/memorykit.git
cd memorykit

# Create feature branch
git checkout -b feature/amazing-feature

# Make changes
# ... code code code ...

# Run tests
dotnet test

# Commit with conventional commits
git commit -m "feat: add amazing feature"

# Push and create PR
git push origin feature/amazing-feature
贡献者资源

📈 项目状态

版本: 1.0.0

已完成 ✅
  • ✅ 四层记忆架构
  • ✅ 受神经科学启发的认知组件
  • ✅ 整洁架构(零循环依赖)
  • ✅ 基于 MediatR 的 CQRS
  • ✅ 内存实现
  • ✅ 带 Swagger 的 REST API
  • ✅ 生产环境加固(身份验证、速率限制、监控)
  • ✅ 完整的文档
下一步 🚧
  • ⚠️ Azure 服务实现(Redis、Tables、Blob、AI Search)
  • ⚠️ 真正的 Azure OpenAI 集成
  • ⚠️ 全面的测试覆盖
  • 📋 客户端 SDK(.NET、Python、JS)
  • 📋 后台记忆巩固任务
  • 📋 高级分析仪表板

完整详情请参阅 PROJECT_STATUS.md。


🎓 了解更多

研究与灵感

MemoryKit 建立在数十年的认知神经科学研究之上:

  • Baddeley & Hitch(1974) - 工作记忆模型
  • Tulving(1972) - 情景记忆与语义记忆
  • Squire(2004) - 大脑的记忆系统
  • McGaugh(2000) - 记忆巩固
  • Miller(1956) - 神奇数字 7±2

完整的科学背景请参阅 docs/SCIENTIFIC_OVERVIEW.md。

为什么这很重要

传统的大模型记忆解决方案将记忆视为扁平的向量数据库。MemoryKit 认识到,人类记忆具有层次性、按重要性加权,并取决于查询内容。

通过模仿大脑的实际工作方式,我们实现了:

  • 更高的相关性 - 只检索重要内容
  • 更低的成本 - 不加载无关历史记录
  • 更快的响应 - 并行检索各层
  • 程序性学习 - 记住用户偏好
  • 情感上下文 - 更好地记住重要消息

🔒 安全

我们严肃对待安全问题:

  • API 密钥身份验证 - 安全访问控制
  • 速率限制 - 防止滥用
  • 输入验证 - 防止注入攻击
  • 仅限 HTTPS - 传输过程中加密
  • Azure 安全性 - 静态数据加密
  • 符合 GDPR - 删除用户数据
  • 定期扫描 - Trivy + CodeQL

安全政策和报告方式请参阅 SECURITY.md。


📝 许可证

本项目采用 MIT 许可证授权,详情请参阅 LICENSE。

简而言之: 可免费用于商业用途、修改和分发,只需保留版权声明。


🌟 支持我们

如果 MemoryKit 对你的项目有所帮助,请考虑:

  • ⭐ 在 GitHub 上为此仓库加星
  • 🐦 发推文介绍它 - 帮助其他人发现它
  • 📝 撰写博客文章 - 分享你的体验
  • 🤝 参与贡献 - 欢迎提交 PR!
  • 💬 提供反馈 - 提交 issue 或参与讨论

📞 联系与支持


🎯 准备好为你的 AI 配备真正的记忆了吗?

开始使用 · 阅读文档 · 加入讨论


由 Antonio Rapozo 用 🧠 和 ❤️ 倾心打造

灵感来自 50 多年的认知神经科学研究

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。