智能记忆系统

A-MEM是一个基于Zettelkasten原则的智能记忆系统,用于LLM代理,支持自动笔记构建、链接生成、语义检索和多提供商支持。

  • by tobs-code
  • Python
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 tobs-code/a-mem-mcp-server

使用说明

A-MEM:代理记忆系统

基于Zettelkasten原理的LLM代理存储系统。

基于: “A-Mem:LLM代理的代理记忆”
作者:徐吴江、梁祖杰、梅、高杭、谭俊涛、张永峰
罗格斯大学AIOS基金会独立研究员

🚀 特性

核心功能

  • ✅ 注释构造:自动提取关键字、标签和上下文摘要
  • ✅ 链接生成:类似记忆的自动链接
  • ✅ 记忆进化:动态更新现有记忆
  • ✅ 语义检索:具有图遍历功能的智能搜索
  • ✅ 多提供商支持:Ollama(本地)或OpenRouter(云)
  • ✅ 环境变量:通过配置 .env 文件
  • ✅ 图形后端选择:在NetworkX(默认)、RustworkX(快3x-100x)或FalkorDB(实验性,未完全测试)之间进行选择
  • ✅ 参数验证:自动验证所有MCP工具参数
  • ✅ 安全图形包装器:边缘案例处理和数据净化,实现稳健运营

高级功能(新增)

  • ✅ 类型分类:将笔记自动分类为6种类型(规则、程序、概念、工具、参考、整合)
  • ✅ 优先级评分:基于类型、年龄、使用情况和边缘计数的即时优先级计算,以获得更好的搜索排名
  • ✅ 事件日志记录:仅为所有关键操作(NOTE_CREATED、RELATION_CREATED、MEMORY_EVOLVED)附加JSONL事件日志
  • ✅ 记忆酶:用于图形维护的自主后台进程
    • 链接修剪器:自动删除旧边/弱边
    • 关系建议者:查找笔记之间的新语义连接
    • 死端节点自动链接器:通过智能过滤自动为死端节点创建连接
    • 摘要消化器:压缩过度拥挤的节点,有很多孩子
  • ✅ 自动调度程序:每小时在后台运行记忆酶
  • ✅ 元数据字段:实验字段支持,无需更改架构
  • ✅ 研究员代理人:针对低置信度查询的深度网络研究(JIT上下文优化)
    • 检索置信度<阈值时自动触发
    • 手动研究通过 research_and_store MCP工具
    • 混合方法:MCP工具(如果可用)或基于HTTP-的回退(Google Search API、DuckDuckGo、Jina Reader)
  • ✅ 当地读者:支持本地基于Docker的Jina Reader实例(回退到云API)
  • ✅ 非结构化PDF提取:使用非结构化(库或API)自动提取PDF

🔄 与原始实施的关系

该实现是基于研究论文独立开发的 “A-Mem:LLM代理的代理记忆”原作者的生产就绪系统(A-mem-sys)在完成此实现后发现。

主要区别:

本实施侧重于 MCP服务器集成 对于IDE环境(游标、VSCode),提供:

  • 通过MCP协议直接集成IDE
  • 基于显式图的内存链接 使用具有类型化边、推理和权重的NetworkX(DiGraph)
  • 具有自动分块功能的文件导入
  • 内存重置和管理工具
  • 用于Ollama模型速度测试的现代TUI基准测试工具

原版 A-mem-sys 存储库提供 pip可安装Python库 与:

  • 多种LLM后端支持(OpenAI、Ollama、OpenRouter、SGLang)
  • 基于库的Python应用程序集成
  • 用于编程使用的全面API
  • 隐式链接 通过ChromaDB嵌入(无显式图结构)

技术架构差异:

  • 这个实现:双存储架构

    • 用于向量相似性搜索的ChromaDB
    • 图形后端选择:NetworkX(默认)、RustworkX(快3x-100x)或FalkorDB(实验性,未完全测试)
    • 显式类型关系(与 relation_type, reasoning, weight)
    • 用于查找直接连接的内存的图遍历
    • 支持复杂的查询,如“通过类型Y查找与X相关的所有内存”
    • 安全图形包装器:自动边缘案例处理和数据净化
  • 原始实施:单一存储架构

    • ChromaDB作为主存储器
    • 通过嵌入相似性进行隐式链接
    • 更简单的架构,更少的开销

这两种实现都是针对同一研究论文的有效方法,服务于不同的用例和集成场景。

🆕 新功能概述

类型分类

每个音符都会自动分为6种类型之一:

  • 规则:强制性说明(“从不X”、“总是Y”)
  • 程序:编号步骤或顺序说明
  • 概念:概念解释,无命令
  • 工具:描述函数、API或实用程序
  • 参考:表格、比较列表、备忘单
  • 整合:描述系统之间的连接

优先级评分

搜索结果使用即时优先级计算进行排名:

  • 类型重量:规则和程序具有更高的优先级
  • 年龄因素:较新的笔记具有较高的优先级
  • 使用次数:频繁访问的笔记得到增强
  • 边缘计数:连接良好的笔记优先

事件日志记录

所有关键操作都记录到 data/events.jsonl:

  • NOTE_CREATED:创建新笔记时
  • RELATION_CREATED:当两个音符链接时
  • MEMORY_EVOLVED:更新现有注释时
  • LINKS_PRUNED:删除旧链接/弱链接时
  • RELATION_PRUNED:当一个特定的关系被修剪时(有理由)
  • NODE_PRUNED:删除僵尸节点时
  • DUPLICATES_MERGED:合并重复注释时
  • SELF_LOOPS_REMOVED:当自循环被移除时
  • ISOLATED_NODES_FOUND:检测到孤立节点时
  • ISOLATED_NODES_LINKED:当隔离节点自动链接时
  • KEYWORDS_NORMALIZED:当关键字被规范化时
  • QUALITY_SCORES_CALCULATED:计算质量分数时
  • NOTES_VALIDATED:当钞票被验证时
  • TYPES_VALIDATED:验证和更正钞票类型时
  • NOTES_ARCHIVED:旧笔记存档时(临时清理)
  • NOTES_DELETED:删除旧笔记时(临时清理)
  • GRAPH_HEALTH_CALCULATED:计算图形健康评分时
  • DEAD_END_NODES_FOUND:检测到死端节点时
  • DEAD_END_NODES_AUTO_LINKED:当死端节点与外部连接自动链接时
  • LOW_QUALITY_NOTES_REMOVED:去除低质量钞票时
  • CORRUPTED_NODES_REPAIRED:修复损坏的节点时
  • RELATIONS_SUGGESTED:发现新连接时
  • ENZYME_SCHEDULER_RUN:当自动维护运行时

记忆酶

维护图形健康的自主后台进程:

  • 链接修剪器:删除超过90天或权重<0.3的边,以及缺失/僵尸节点的孤立边
  • 僵尸节点移除器:自动删除没有内容的节点(空节点)
  • 重复合并:查找并合并重复的注释(通过嵌入实现精确匹配+语义重复)
  • 边缘验证器:验证和修复边(添加缺失的推理、标准化类型、删除弱边)
  • 自循环去除器:删除自参照边(链接到自身的节点)
  • 隔离节点查找器:标识没有任何连接的节点
  • 隔离节点链接器:自动将孤立节点链接到类似注释(相似性阈值:0.70)
  • 关键字规范化器:规范和清理关键字(删除重复项、纠正拼写错误、限制最多7个关键字)
  • 质量分数计算器:计算笔记的质量分数(基于内容、元数据、连接)
  • 纸币验证器:验证注释并更正缺失/无效的字段(摘要、关键字、标签)
  • 类型验证器:使用基于LLM的分类验证和更正无效的笔记类型
  • 临时笔记清理:存档或删除超过指定时间的笔记(默认值:365天)
  • 图形健康评分计算器:根据平均音符质量、连接性、边缘质量和完整性计算总体图形健康评分(0.0-1.0)
  • 死端节点检测器:标识具有传入边但没有传出边的节点(知识流中的死胡同)
  • 死端节点自动链接器:使用智能过滤自动为死端节点创建连接:
    • 联合战略:忽略通用标签(参考、文档、工具等),优先考虑关键字,需要相似性检查
    • 智能阈值:0.46表示强信号(关键字或有意义的标签),0.60表示弱信号(仅限通用标签),0.58表示无信号
    • 质量控制:通过要求有意义的语义信号来防止低质量的连接
  • 低质量除钞器:删除不相关的笔记(验证码页面、错误页面、垃圾邮件)
  • 精炼厂概述:完善类似的摘要,使其更加具体和清晰
  • 损坏的节点修复器:修复损坏的节点(缺少字段、无效数据)
  • 关系建议者:查找语义相似的注释(余弦相似度≥0.75),具有死端节点优先级
  • 摘要消化器:将具有>8个子节点的节点压缩为紧凑的摘要

自动调度程序

系统每小时自动运行一次记忆酶:

  • 在后台运行,不阻止MCP操作
  • 以优化的顺序执行19次以上的维护操作
  • 用详细的指标记录所有维护活动
  • 优雅地处理错误并继续运行
  • 综合结果:返回所有操作的详细统计信息(修剪的链接、合并的重复项、验证的注释、质量分数、图形健康分数、死端节点等)

研究员代理人

使用JIT上下文优化进行低置信度查询的深层网络研究:

  • 自动触发:当检索置信度<阈值时激活(默认值:0.5)
  • 手动研究:可通过 research_and_store MCP工具
  • 混合方法:使用MCP工具(如果可用)或基于HTTP的回退
  • 网页搜索:Google Search API(主要)或DuckDuckGo HTTP(回退)
  • 内容提取:Jina阅读器(本地Docker或云API)或可读性回退
  • PDF支持:使用非结构化(库或API)自动提取PDF
  • 自动创建笔记:研究结果会自动存储为带有元数据、关键字和标签的原子笔记

📋 安装

1.安装依赖项

pip install -r requirements.txt

图形后端选择

A-MEM支持三个图形后端,可通过以下方式选择 GRAPH_BACKEND 环境变量:

NetworkX(默认):

  • ✅ 默认包含(无需额外安装)
  • ✅ 跨平台(Windows、Linux、macOS)
  • ✅ 适用于中小型图形(<10k节点)

RustworkX(推荐用于性能):

  • ⚡ 速度提高3倍至10倍 比NetworkX
  • ✅ Windows兼容
  • ✅ 安装方式: pip install rustworkx
  • ✅ 集 GRAPH_BACKEND=rustworkx 在 .env

FalkorDB(实验性-未完全集成/测试):

  • ⚠️ 概念验证状态 功能,但尚未完全集成和测试
  • 💾 持久存储 (重新启动后仍然有效)
  • ⚠️ 不推荐用于生产 - 查看 docs/FALKORDB_POC_README.md 了解详情
  • Linux/macOS:安装 pip install falkordblite,set GRAPH_BACKEND=falkordb
  • 视窗:安装 pip install falkordb redis,需要带有FalkorDB模块的Redis(请参阅 docs/WINDOWS_FALKORDB_SETUP.md)
  • ⚠️ 已知的限制记忆酶直接使用 graph.graph 访问,缺少迁移工具,性能尚未测试

安全图形包装器:

  • 🛡️ 自动边缘案例处理和数据净化
  • ✅ 使用RustworkX时自动启用
  • ✅ 验证并清理所有图形操作

2.配置环境变量

复制 .env.example 到 .env 并调整值:

# Windows (PowerShell)
Copy-Item .env.example .env

# Linux/macOS
cp .env.example .env

重要提示: 这 .env.example 文件包含所有可用的配置选项,包括 GRAPH_BACKEND 用于选择图形数据库后端的设置。

配置策略(混合方法):

A-MEM使用 混合配置系统 为了获得最大的灵活性:

  • .env 文件:基本配置(所有实例的默认设置)
  • 主控程序 env 块:每个实例覆盖(允许在不修改的情况下进行自定义 .env)
  • 优先级:MCP env 块值覆盖 .env 文件值

这使您能够:

  • 保留默认设置 .env 对于所有实例
  • 覆盖每个MCP实例的特定设置(例如,不同项目的不同LLM模型)
  • 分享相同 .env 跨多个MCP配置

配置:

  • LLM_提供者: "ollama" (本地)或 "openrouter" (云)
  • 奥拉玛:本地模型(默认)
  • 开放路由:基于云的LLM(需要API密钥)

示例 .env 对于Ollama(默认):

LLM_PROVIDER=ollama
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_LLM_MODEL=qwen3:4b
OLLAMA_EMBEDDING_MODEL=nomic-embed-text:latest

示例 .env 对于OpenRouter:

LLM_PROVIDER=openrouter
OPENROUTER_API_KEY=your_api_key_here
OPENROUTER_LLM_MODEL=openai/gpt-4o-mini
OPENROUTER_EMBEDDING_MODEL=openai/text-embedding-3-small

图形后端选择(可选):

# Default: networkx (no installation needed)
GRAPH_BACKEND=networkx

# For better performance (3x-100x faster):
# pip install rustworkx
GRAPH_BACKEND=rustworkx

# For persistent storage (production):
# Experimental - Not fully tested (see docs/FALKORDB_POC_README.md)
# Linux/macOS: pip install falkordblite
# Windows: pip install falkordb redis (see docs/WINDOWS_FALKORDB_SETUP.md)
# GRAPH_BACKEND=falkordb  # ⚠️ Experimental - Use at your own risk

研究人员代理和内容提取(可选):

# Researcher Agent (for low-confidence retrieval)
RESEARCHER_ENABLED=true
RESEARCHER_CONFIDENCE_THRESHOLD=0.5
RESEARCHER_MAX_SOURCES=5
RESEARCHER_MAX_CONTENT_LENGTH=10000

# Google Search API (for web search) - uses existing GetWeb config
GOOGLE_SEARCH_ENABLED=true
GOOGLE_API_KEY=your_google_api_key  # Optional, uses default if not set
GOOGLE_SEARCH_ENGINE_ID=your_search_engine_id  # Optional, uses default if not set

# Local Jina Reader (Docker) - for web content extraction
# If you have a local Jina Reader Docker instance running
JINA_READER_ENABLED=true
JINA_READER_HOST=localhost
JINA_READER_PORT=2222

# Unstructured (for PDF extraction)
# Option 1: Use library directly (requires: pip install unstructured[pdf])
UNSTRUCTURED_ENABLED=true
UNSTRUCTURED_USE_LIBRARY=true

# Option 2: Use API (if Unstructured API is running)
# UNSTRUCTURED_ENABLED=true
# UNSTRUCTURED_API_URL=http://localhost:8000
# UNSTRUCTURED_API_KEY=your_api_key_here  # Optional

注:

  • 网页搜索:研究人员代理使用 谷歌搜索API (如果已配置)以获得高质量的搜索结果,如果不可用,则返回DuckDuckGo HTTP搜索。
  • 内容提取:用途 当地Jina读者 (如果启用)用于web内容提取,如果本地实例不可用,则回退到云API。
  • PDF提取:为 PDF URL,研究人员代理使用 非结构化 用于提取(库或API)。
  • 提取策略:
    • 搜索:谷歌搜索API→ DuckDuckGo HTTP回退
    • 网站内容:Jina Reader(本地/云端)→ 可读性回退
    • PDF:非结构化(库/API)

安装用于PDF提取的Unstructured:

# Full installation with PDF support
pip install "unstructured[pdf]"

# Or minimal installation (may require additional dependencies)
pip install unstructured
pip install pdfminer.six  # Required for PDF extraction

可选HTTP服务器(用于外部工具):

TCP_SERVER_ENABLED=true
TCP_SERVER_HOST=127.0.0.1
TCP_SERVER_PORT=42424

启用后,MCP服务器并行运行一个额外的HTTP服务器,在以下位置公开图形数据 http://127.0.0.1:42424/get_graph。这允许使用外部工具(如 extract_graph.py)在不干扰stdio MCP协议的情况下访问当前图形状态。

3.安装Ollama型号(仅当LLM_PROVIDER=Ollama时)

ollama pull qwen3:4b
ollama pull nomic-embed-text:latest

4.启动Ollama(仅当LLM_PROVIDER=Ollama时)

确保Ollama正在奔跑 http://localhost:11434.

🛠️ MCP服务器

开始

python mcp_server.py

可用工具(共15个)

核心内存操作

  1. create_atomic_note -存储一条新信息。自动对笔记类型进行分类,提取元数据,并在后台开始链接/演化
  2. retrieve_memories -搜索具有优先级评分的相关记忆。返回按相似性和优先级组合排名的最佳匹配项
  3. get_memory_stats -返回有关内存系统(节点、边等)的统计信息
  4. add_file -将文件内容存储为笔记,并对大文件(>16KB)进行自动分块
  5. reset_memory -重置整个内存系统(⚠️ 不可逆)

笔记管理

  1. list_notes -列出内存图中存储的所有笔记
  2. get_note -按ID返回单个注释(元数据+内容)
  3. update_note -更新现有笔记的上下文摘要、标签或关键字
  4. delete_atomic_note -删除注释和所有关联的连接

关系管理

  1. list_relations -列出图表中的关系,可选择按注释ID筛选
  2. add_relation -在两个注释之间添加手动关系
  3. remove_relation -删除两个音符之间的关系

图的运算

  1. get_graph -返回用于可视化的完整图形快照(节点+边)

内存维护

  1. run_memory_enzymes -运行全面的内存维护:修剪旧/弱链接和僵尸节点,合并重复项,验证和修复边,删除自循环,链接隔离节点,规范化关键字,计算质量分数,验证注释和类型,执行时间清理,计算图健康分数,检测死端节点,自动为死端节点创建连接(使用智能过滤),删除低质量内容,优化摘要,修复损坏的节点,建议新关系,并消化过度拥挤的节点。通过19+次维护操作自动优化图形结构

研究与网络集成

  1. research_and_store -对查询执行深层网络研究,并将结果存储为原子注释。使用Google Search API(如果配置)或DuckDuckGo HTTP搜索,使用Jina Reader(本地Docker或云)提取内容,并使用Unstructured处理PDF。自动创建带有元数据、关键字和标签的笔记。

IDE集成

光标IDE

  1. 打开MCP配置文件:

    • 窗户: %USERPROFILE%\.cursor\mcp.json (或 C:\Users\<username>\.cursor\mcp.json)
    • macOS: ~/.cursor/mcp.json
    • Linux: ~/.cursor/mcp.json
  2. 添加以下配置:

基本配置(用途 .env 文件):

{
  "mcpServers": {
    "a-mem": {
      "command": "python",
      "args": [
        "-m",
        "src.a_mem.main"
      ],
      "cwd": "C:\\Users\\tobs\\Downloads\\a-mem_-agentic-memory-system\\a-mem_-agentic-memory-system"
    }
  }
}

高级配置(带环境覆盖):

您可以覆盖 .env 使用以下命令直接在MCP配置中设置 env 块。这允许在不修改的情况下对每个实例进行自定义 .env 文件:

{
  "mcpServers": {
    "a-mem": {
      "command": "python",
      "args": [
        "-m",
        "src.a_mem.main"
      ],
      "cwd": "C:\\Users\\tobs\\Downloads\\a-mem_-agentic-memory-system\\a-mem_-agentic-memory-system",
      "env": {
        "LLM_PROVIDER": "ollama",
        "OLLAMA_LLM_MODEL": "qwen3:4b",
        "RESEARCHER_ENABLED": "true",
        "RESEARCHER_CONFIDENCE_THRESHOLD": "0.5"
      }
    }
  }
}

配置策略:

  • .env 文件:默认配置(自动加载)
  • env 块:覆盖每个MCP实例的特定设置
  • 优先级: env 块值覆盖 .env 文件值

重要提示: 调整 cwd 转到项目目录的绝对路径!

  1. 重新启动Cursor以加载配置。

Visual Studio代码(带MCP扩展)

  1. 安装VSCode的MCP扩展(如果可用)

  2. 打开VSCode设置(JSON):

    • Ctrl+Shift+P (Windows/Linux)或 Cmd+Shift+P (macOS)
    • 键入“首选项:打开用户设置(JSON)”
  3. 添加MCP服务器配置:

基本配置(用途 .env 文件):

{
  "mcp.servers": {
    "a-mem": {
      "command": "python",
      "args": ["-m", "src.a_mem.main"],
      "cwd": "/path/to/a-mem-mcp-server"
    }
  }
}

高级配置(带环境覆盖):

{
  "mcp.servers": {
    "a-mem": {
      "command": "python",
      "args": ["-m", "src.a_mem.main"],
      "cwd": "/path/to/a-mem-mcp-server",
      "env": {
        "LLM_PROVIDER": "ollama",
        "OLLAMA_LLM_MODEL": "qwen3:4b",
        "RESEARCHER_ENABLED": "true"
      }
    }
  }
}

备选方案: 使用 mcp.json 项目根目录中的文件:

{
  "mcpServers": {
    "a-mem": {
      "command": "python",
      "args": ["-m", "src.a_mem.main"],
      "cwd": "${workspaceFolder}",
      "env": {
        "LLM_PROVIDER": "ollama"
      }
    }
  }
}

注: 这 env 块允许您覆盖 .env 每个实例的设置,而无需修改基本配置文件。

IDE中的用法

配置后,MCP工具可以直接在IDE中使用:

  • 聊天/作曲:通过自然语言使用工具

    • “存储此信息:…”
    • “搜索关于以下内容的回忆:…”
    • “显示内存统计信息”
  • 代码:工具作为功能自动可用

看 MCP_SERVER_SETUP.md 有关所有可用工具的详细信息。

事件日志

所有系统事件都会自动记录到 data/events.jsonl JSONL格式(每行一个JSON对象)。这提供了以下内容的完整审计跟踪:

  • 笔记创建和更新
  • 关系创建和删除
  • 记忆进化事件
  • 酶维护运行
  • 日程安排活动

您可以通过以下方式查看事件日志:

# View last 10 events
tail -n 10 data/events.jsonl

# View all events
cat data/events.jsonl | jq .

📚 文档

  • MCP_SERVER_SETUP.md -MCP服务器设置和配置
  • docs/TEST_REPORT.md -测试结果
  • docs/MCP_SERVER_TEST_REPORT.md -MCP服务器集成测试
  • docs/EMBEDDING_DIMENSIONS.md -嵌入尺寸处理指南
  • docs/RESEARCHER_AGENT_DETAILED.md - 详细的Researcher Agent文档 (代码集成,功能,工作流程)
  • docs/MEMORY_ENZYMES_DETAILED.md - 详细的记忆酶文档 (代码集成、功能、工作流、19+ 操作)
  • tools/RESEARCHER_README.md -研究人员代理快速参考

📊 直观图

更新的基于白色背景和黑色字体的 Mermaid SVG 图表:

系统架构概述

存储架构详情

记忆酶工作流程

MCP 工具概述

类型分类系统

更多文件:

  • docs/MEMORY_ENZYMES_DETAILED.md - 全面的记忆酶文档,包括所有19+操作
  • docs/RESEARCHER_AGENT_DETAILED.md - 详细的Researcher Agent文档

🧪 测试

# Core functionality tests
python tests/test_a_mem.py

# Code structure tests
python tests/test_code_structure.py

# New features tests (Type Classification, Priority Scoring, Event Logging)
python tests/test_new_features.py

# Memory enzymes tests (Link Pruner, Relation Suggester, Digest Node)
python tests/test_enzymes.py

# Scheduler tests
python tests/test_scheduler.py

测试结果: 24/24测试通过✅

🧪 基准测试

该项目包括一个用于测试Ollama模型速度和性能的现代TUI基准工具:

python ollama_benchmark.py

此工具测量模型速度指标(令牌/秒、延迟、第一个令牌时间),以帮助您为您的用例选择最佳的Ollama模型。

看 BENCHMARK_README.md 了解详情。

📊 图形可视化

该项目包括一个基于网络的仪表板,用于可视化内存图、分析优先级和探索模式:

python tools/visualize_memory.py

然后打开浏览器 http://localhost:8050 查看交互式仪表板。

特征:

  • 图形可视化:交互式网络图,节点大小基于优先级,颜色基于类型
  • 优先级统计:按注释类型显示优先级分布的方框图
  • 关系分析:关系类型分布柱状图
  • 事件时间表:所有系统事件的时间线可视化
  • 节点详细信息:包含优先级、边数、摘要和标签的详细表格

当您单击刷新按钮时,仪表板会自动刷新,允许您探索内存系统中的模式和见解。

数据同步: 可视化工具从以下位置加载图形数据 data/graph/knowledge_graph.json。要更新数据,请运行:

python tools/extract_graph.py

此脚本通过HTTP连接到正在运行的MCP服务器(如果 TCP_SERVER_ENABLED=true 在 .env)并将当前图形状态保存到磁盘。

📈 实时图形状态

快速检查内存系统的状态(类似于 git status):

# Full status (default)
python tools/amem_stats.py

# Compact one-line output
python tools/amem_stats.py --compact

# JSON output (for scripting)
python tools/amem_stats.py --json

# Show changes since last run
python tools/amem_stats.py --diff

# Watch mode (auto-refresh every 5 seconds)
python tools/amem_stats.py --watch

# Watch mode with custom interval (10 seconds)
python tools/amem_stats.py --watch 10

输出示例:

完整状态:

🧠 A-MEM Graph Status
==================================================
📝 Notes:        47
🔗 Relations:    89
📊 Notes by Type:
   🔴 rule           12
   🔵 procedure      15
   🟢 concept        20
⚙️  Last Enzyme Run: 23min ago
📡 Data Source: http
==================================================

紧凑模式:

47 notes | 89 relations | Last: 23min ago

差异模式:

+5 notes | +12 relations | -3 zombie nodes

观看模式: 每N秒持续刷新一次显示器。非常适合在编码时进行监控!按 Ctrl+C 停止。

该工具会自动尝试从正在运行的MCP服务器获取实时数据(如果启用了HTTP服务器),否则从磁盘读取。非常适合在编码时监控您的内存系统!

外壳别名(可选): 添加到您的 ~/.bashrc, ~/.zshrc,或PowerShell配置文件:

alias amem="python ~/path/to/a-mem-mcp-server/tools/amem_stats.py"
# Then simply: amem

📊 状态

✅ 100%纸张合规
✅ 所有测试通过 (24/24测试)
✅ 模块化结构
✅ 多提供商支持 (Ollama+OpenRouter)
✅ MCP服务器集成 (15个工具)
✅ 内存重置和管理工具
✅ 类型分类和优先级评分
✅ 事件记录和审计跟踪
✅ 记忆酶(自主图形维护)
✅ 自动调度程序(每小时维护)
✅ HTTP服务器 (可选,适用于外部工具,如 extract_graph.py) ✅ 图形后端选择 (NetworkX、RustworkX、FalkorDB-实验性) ✅ 参数验证 (自动验证所有MCP工具参数) ✅ 安全图形包装器 (边缘案例处理和数据净化) ⚠️ Windows FalkorDB支持 (用于Windows用户的实验性专用适配器-未完全测试)

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

该实现基于研究论文 “A-Mem:LLM代理的代理记忆”.

🙏 致谢

  • 论文原作者:徐吴江、梁祖杰、梅、高杭、谭俊涛、张永峰
  • 原始存储库:

由tobi和CURSOR IDE为社区创建了新的Composer 1模型❤️