SmartMemory

io.github.MauriceIsrael由 GitHub 账号 MauriceIsrael 发布v1.0.1更新于 Nov 3, 2026

Neuro-symbolic memory for LLMs (POC)

发布方自己的服务:Memory.fit

已验证STDIO仅桌面知识与记忆AI 与机器学习

概览

AI 生成的概览

实验性神经符号记忆服务器,把对话中的事实存入 RDF 知识图谱,并用 SPARQL/OWL 规则推导出可追溯的结论。

可以做什么
  • 把对话中陈述的事实存入带来源记录、可审计的 RDF 知识图谱
  • 学习并应用 SPARQL/OWL 规则,在后台推导出新结论
  • 对含糊的事实或拟新增的规则,先请用户确认再写入
  • 从自然语言中抽取事实与规则,支持复杂句、指代和 Turtle 写法
  • 另提供仪表盘模式,可视化图谱并批量审核从 PDF 中抽取的规则
适用场景
适合希望助手长期记住事实、并能说明推理依据的场景,也适合试验神经符号推理与规则学习。项目自称为概念验证,宜用于研究与学习,而非生产环境。
运行要求
以 stdio 在本地运行,可用 Docker 镜像,或从源码安装(需 Python 3.11+ 与 pip)。抽取事实和规则需要 LLM 提供方:托管服务的 API 密钥(如 LLM_API_KEY,配合 LLM_PROVIDER、LLM_MODEL),或通过 LLM_BASE_URL 连接本地 Ollama。仪表盘模式还会开放 Web 端口,并需挂载卷以持久化图谱。
安装前请注意
项目明确标注为概念验证,不适合生产使用。对话内容与上传的文档会发送给所配置的 LLM 提供方做抽取,敏感内容宜改用本地模型。服务器会向知识图谱写入事实与规则,并可在你批准后新增规则;仪表盘模式会开放 Web 端口,数据存放在挂载卷中。

安装

在 SourceWeft 中

  1. 打开 控制台中的 SmartMemory,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

🧠 SmartMemory

Give your LLM structured, verifiable memory — turn conversations into knowledge graphs your AI can reason over.

An MCP server that teaches AI assistants business rules through natural dialogue.

[License: MIT] [Python 3.11+] [Model Context Protocol] [Neuro-symbolic] [Status: PoC] [PRs welcome]

[!CAUTION] Proof of Concept. SmartMemory is an experimental implementation of a neuro-symbolic architecture, built to explore how LLMs can interact with knowledge graphs to learn and apply rules. It is not intended for production use — treat it as a research and learning playground.


Why SmartMemory?

LLMs are brilliant talkers with no real memory. Across a conversation they forget, they can't explain why they concluded something, and they happily state things that were never verified.

SmartMemory adds the missing half: a symbolic brain.

  • Facts you state are stored in an auditable knowledge graph (RDF), each with its provenance.
  • Logic is captured as explicit, inspectable rules (SPARQL/OWL) — not hidden in weights.
  • New conclusions are derived, traceable, and reversible — and ambiguous ones are sent back to you for validation.

The result is an assistant that doesn't just sound right — it can show its reasoning.


What it can do

SmartMemory turns your AI assistant into a domain expert that supports:

  • Asynchronous reasoning — deductions run in the background (InferenceManager) without slowing the conversation.
  • Uncertainty handling — ambiguous facts trigger a human-in-the-loop validation workflow.
  • Smart NLP extraction — handles complex sentences, coreferences, and direct Turtle notation.
  • Provenance & audit — every stored fact keeps its origin (UUID, source, timestamp).
  • Dynamic rule engine — learns and applies new SPARQL rules on the fly.

How it works

mermaid
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"]

The LLM is the language cortex (understanding and extraction); the knowledge graph and rule engine are the symbolic memory (storage, logic, proof). Neither alone is enough — together they are neuro-symbolic.


Two ways to use it

💬 Conversational Mode — the "Brain"🏗️ Supervision Mode — the "Factory"
ForIndividuals using an LLM client (Claude Desktop, etc.)Teams, developers, heavy users
GoalLet your assistant remember facts and learn logic as you chatExtract thousands of rules from documents (PDFs) and visualize the graph
HowConfigure it as an MCP serverDeploy the full dashboard via Docker
SetupJump to setup ↓Jump to setup ↓

Quick start

I want to…Go to
Get running in 5 minutesQuick Start Guide
Try the advanced demoDemo Procedure
Understand the internalsArchitecture · Neuro-symbolic principles
Configure a providerConfiguration reference
Fix a problemTroubleshooting
Browse all docsDocumentation index

Mode 1 — Conversational Setup (MCP)

Gives your LLM long-term memory and logical deduction.

Option A — Docker (recommended) 🐳

No Python required. The image is published on GitHub Container Registry.

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

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

The same block works for any MCP client (e.g. Cline) — just point it at your client's mcp_settings.json. Restart the client and you're done. ✅

Option B — Local server (from source) 🔒

Best for developers and privacy-conscious users.

bash
git clone https://github.com/MauriceIsrael/SmartMemorycd SmartMemorypython3 -m venv venvsource venv/bin/activatepip install -e .

Then point Claude Desktop at your local install:

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

Restart Claude and try: "I know Bob. He goes to work by car. Can he vote?" — see the demo below.


Mode 2 — Supervision Setup (Docker)

Runs the web dashboard and API server — ideal for visualizing the knowledge graph, extracting rules from PDFs, and hosting a shared memory for a team.

bash
# Dashboard mode — example with Mistraldocker 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
bash
# 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

Add dashboard to start the web server; without it the container starts in MCP mode. The -v volume persists your knowledge graph and rules. Open the dashboard at http://localhost:8080.


LLM configuration

SmartMemory uses an LLM to extract facts and rules from natural language and documents. Configure it via the dashboard Admin page or via environment variables (-e LLM_PROVIDER=…).

ProviderExample modelsNotes
Mistralmistral-large-latest, mistral-small-latestEuropean, La Plateforme API
Ollama (local, free)llama3, qwen2.5-coder, mistralRuns offline
OpenAIgpt-4, gpt-3.5-turbo
Anthropicclaude-3-5-sonnet
Googlegemini-1.5-pro

→ Full configuration guide

Extracting rules from documents

  1. Upload a PDF (e.g. Company_Policy.pdf).
  2. Pick a provider — the server needs an API key (or a local Ollama) to read the document.
  3. Review & approve — the system proposes rules; you accept them in bulk from the dashboard.

Interactive demo — from facts to rules

What happens in Conversational Mode:

text
> I know BobLLM: ✦ I've recorded the fact: I know Bob.
> He goes to work by carLLM: ✦ 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"?
> yesLLM: ✨ Rule 'drivers_are_adults' added.     May I also add "Adults can vote"?
> yesLLM: ✨ Rule 'adults_can_vote' added.     ✦ Therefore, yes — Bob can vote. (derived from 2 rules)

Every step is stored, attributed, and replayable — that's the point.


Tech stack

  • Backend: Python 3.11+, RDFLib, FastAPI
  • Frontend: SvelteKit, TypeScript, TailwindCSS
  • Reasoning: Neuro-symbolic (LLM + SPARQL / OWL)
  • Protocol: Model Context Protocol (MCP)
  • Packaging & deploy: Docker, GitHub Container Registry, Google Cloud Run

Roadmap

  • Broaden document ingestion (DOCX, HTML, web pages)
  • Richer graph visualization and rule-conflict detection
  • First tagged release (v0.1.0)

Ideas and contributions welcome — see CONTRIBUTING.md.


License

MIT — see LICENSE.

来源:README.md,提交 f4a650c

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.1最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

其他 Memory 集成