mcpField
S
SmartMemory

SmartMemory

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

关于 SmartMemory

SmartMemory 是实验性的 MCP 服务,将 LLM 抽取与可审计的 RDF 知识图谱及显式规则结合。它面向探索可追溯记忆和推理的研究与学习场景,不适用于生产环境。

主要功能

  1. 01在 RDF 图谱中保存带来源的事实
  2. 02通过 SPARQL 和 OWL 规则推导结论
  3. 03将含糊事实交由人工验证
  4. 04从自然语言和 PDF 抽取事实
  5. 05提供图谱检查仪表板

适用场景

  1. 01为 MCP 助手提供可追溯的长期事实记忆
  2. 02审核并批准从政策 PDF 抽取的规则
  3. 03在原型中探索神经符号推理

MCP 相关

对话模式下,它作为配置在 MCP 客户端中的 MCP 服务运行,为助手提供记忆与逻辑推理。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

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

详细介绍

🧠 SmartMemory

为你的大模型提供结构化、可验证的记忆 — 将对话转化为 AI 能够推理的知识图谱。

一个 MCP 服务,通过自然对话向 AI 助手传授业务规则。

许可证:MIT Python 3.11+ Model Context Protocol 神经符号 状态:概念验证 欢迎提交 PR

注意

概念验证。 SmartMemory 是神经符号架构的一种实验性实现,旨在探索大模型如何与知识图谱交互以学习和应用规则。它不适用于生产环境 — 请将其作为研究和学习的试验场。


为什么选择 SmartMemory?

大模型擅长交流,却没有真正的记忆。在对话过程中,它们会遗忘,无法解释自己得出结论的原因,还会轻易地陈述未经验证的内容。

SmartMemory 补上了缺失的部分:一个符号大脑。

  • 你陈述的事实会存储在可审计的知识图谱(RDF)中,每条事实都附有来源信息。
  • 逻辑会被记录为明确、可检查的规则(SPARQL/OWL) — 而不是隐藏在权重中。
  • 新结论可推导、可追溯、可撤销 — 有歧义的结论则会发回给你进行验证。

最终得到的助手不只是听起来正确 — 它还能展示推理过程。


它能做什么

SmartMemory 将你的 AI 助手变成领域专家,支持:

  • 异步推理 — 在后台运行推导(InferenceManager),不会拖慢对话。
  • 不确定性处理 — 有歧义的事实会触发人工参与的验证工作流。
  • 智能 NLP 抽取 — 能处理复杂句子、指代关系和直接 Turtle 表示法。
  • 来源追踪与审计 — 每条存储的事实都会保留其来源(UUID、来源、时间戳)。
  • 动态规则引擎 — 可即时学习并应用新的 SPARQL 规则。

工作原理

flowchart LR
    A["Natural-language<br/>conversation"] -->|LLM extraction| B["Facts"]
    B --> C[("Knowledge Graph<br/>RDF / Turtle")]
    C -->|SPARQL / OWL rules| D["Inference engine"]
    D -->|new deductions| C
    D -->|ambiguous?| E["Human-in-the-loop<br/>validation"]
    E -->|approve rule / fact| C
    C -->|provenance + audit| F["Verifiable answers"]

大模型是语言皮层(负责理解和抽取);知识图谱和规则引擎则是符号记忆(负责存储、逻辑和证明)。两者单独使用都不够 — 结合起来才构成神经符号系统。


两种使用方式

💬 对话模式 — “大脑”🏗️ 监督模式 — “工厂”
适用对象使用大模型客户端的个人(Claude Desktop 等)团队、开发者、重度用户
目标让助手在聊天时记住事实并学习逻辑从文档(PDF)中提取数千条规则并可视化图谱
方式将其配置为 MCP 服务通过 Docker 部署完整仪表板
设置跳转至设置 ↓跳转至设置 ↓

快速开始

我想……前往
在 5 分钟内运行起来快速入门指南
试用高级演示演示流程
了解内部原理架构 · 神经符号原理
配置提供商配置参考
解决问题故障排除
浏览所有文档文档索引

模式 1 — 对话模式设置(MCP)

为你的大模型提供长期记忆和逻辑推导能力。

选项 A — Docker(推荐)🐳

无需 Python。镜像已发布到 GitHub Container Registry。

Claude Desktop — 编辑 ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "smart-memory": {
      "command": "docker",
      "args": ["run", "--rm", "-i", "ghcr.io/mauriceisrael/smart-memory:latest"]
    }
  }
}

同一配置块适用于任何 MCP 客户端(例如 Cline)——只需将路径指向客户端的 mcp_settings.json。重启客户端即可。✅

选项 B — 本地服务(从源代码运行)🔒

适合开发者和注重隐私的用户。

git clone https://github.com/MauriceIsrael/SmartMemory
cd SmartMemory
python3 -m venv venv
source venv/bin/activate
pip install -e .

然后让 Claude Desktop 使用本地安装:

{
  "mcpServers": {
    "smartmemory": {
      "command": "/absolute/path/to/SmartMemory/venv/bin/python",
      "args": ["-m", "smart_memory.server"]
    }
  }
}

重启 Claude 并试试:“我认识 Bob。他开车去上班。他能投票吗?”——请参阅下方的演示。


模式 2 — 监督设置(Docker)

运行Web 控制面板和API 服务——非常适合可视化知识图谱、从 PDF 中提取规则,以及为团队托管共享记忆。

# Dashboard mode — example with Mistral
docker run -p 8080:8080 \
  -e LLM_PROVIDER=mistral \
  -e LLM_MODEL=mistral-large-latest \
  -e LLM_API_KEY=your-api-key \
  -v $(pwd)/brain:/app/data \
  ghcr.io/mauriceisrael/smart-memory:latest dashboard
# Dashboard mode — example with a local model (Ollama)
docker run -p 8080:8080 \
  -e LLM_PROVIDER=ollama \
  -e LLM_MODEL=llama3 \
  -e LLM_BASE_URL=http://172.17.0.1:11434 \
  -v $(pwd)/brain:/app/data \
  ghcr.io/mauriceisrael/smart-memory:latest dashboard

添加 dashboard 以启动 Web 服务;否则容器会以 MCP 模式启动。-v 卷会持久保存你的知识图谱和规则。在 http://localhost:8080 打开控制面板。


大模型配置

SmartMemory 使用大模型从自然语言和文档中提取事实和规则。可通过控制面板的管理页面或环境变量(-e LLM_PROVIDER=…)进行配置。

提供商模型示例说明
Mistralmistral-large-latest、mistral-small-latest欧洲,提供 La Plateforme API
Ollama(本地,免费)llama3、qwen2.5-coder、mistral可离线运行
OpenAIgpt-4、gpt-3.5-turbo
Anthropicclaude-3-5-sonnet
Googlegemini-1.5-pro

→ 完整配置指南

从文档中提取规则
  1. 上传 PDF(例如 Company_Policy.pdf)。
  2. 选择提供商——服务需要 API 密钥(或本地 Ollama)才能读取文档。
  3. 审核并批准——系统会提出规则;你可以在控制面板中批量接受。

交互式演示——从事实到规则

对话模式中的流程:

> I know Bob
LLM: ✦ I've recorded the fact: I know Bob.

> He goes to work by car
LLM: ✦ Noted: Bob goes to work by car.

> Can Bob vote?
LLM: ✦ I can't conclude yet — but since he drives, he is likely an adult.
     May I add the rule "Drivers are adults"?

> yes
LLM: ✨ Rule 'drivers_are_adults' added.
     May I also add "Adults can vote"?

> yes
LLM: ✨ Rule 'adults_can_vote' added.
     ✦ Therefore, yes — Bob can vote. (derived from 2 rules)

每个步骤都会被存储、注明来源,并可重放——这正是其意义所在。


技术栈

  • 后端: Python 3.11+、RDFLib、FastAPI
  • 前端: SvelteKit、TypeScript、TailwindCSS
  • 推理: 神经符号(大模型 + SPARQL / OWL)
  • 协议: Model Context Protocol(MCP)
  • 打包与部署: Docker、GitHub Container Registry、Google Cloud Run

路线图

  • 扩展文档导入范围(DOCX、HTML、网页)
  • 增强图谱可视化和规则冲突检测
  • 发布首个带标签的版本(v0.1.0)

欢迎提出想法并贡献代码——请参阅 CONTRIBUTING.md。


许可证

MIT——请参阅 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

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

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