Doramagic 项目包 · 项目说明书

SimpleMem 项目

SimpleMem:为 LLM Agent 提供高效终身记忆,支持文本与多模态。

项目概述与系统架构

SimpleMem 是一个面向大语言模型(LLM)的长时记忆(long-term memory)系统,通过对原始对话与文档进行语义无损压缩与意图感知检索(intent-aware retrieval),在显著降低 token 消耗的同时保持回答质量稳定。项目在 v0.3.0 版本中将原本分散的 SimpleMem(文本记忆)、Omni-SimpleMem(多模态记忆)与 E...

章节 相关页面

继续阅读本节完整说明和来源证据。

一、项目定位与设计目标

SimpleMem 是一个面向大语言模型(LLM)的长时记忆(long-term memory)系统,通过对原始对话与文档进行语义无损压缩意图感知检索(intent-aware retrieval),在显著降低 token 消耗的同时保持回答质量稳定。项目在 v0.3.0 版本中将原本分散的 SimpleMem(文本记忆)、Omni-SimpleMem(多模态记忆)与 EvolveMem(记忆演化机制)三条研发线合并为单一可发布包,使用者只需 from simplemem import SimpleMem 即可完成导入,后端则由首次调用的方法自动选择。资料来源:README.md:1-40

项目的设计目标集中体现在以下三点:

  • 语义无损压缩:将历史对话或长文档压缩为高密度记忆条目,避免传统 RAG 切分后语义断裂的问题。
  • 意图感知检索:在检索阶段结合用户查询意图而非仅做表面相似度匹配,从而提升回答准确率。
  • 多模态与可演化:同一接口同时支持纯文本与多模态输入,并通过 EvolveMem 提供记忆条目的迭代精化能力。

二、整体系统架构

graph TB
  U[用户/调用方] --> S[simplemem.SimpleMem]
  S --> R[Router 路由层]
  R -- "add_text / search" --> T[Text 后端<br/>SimpleMem]
  R -- "add_image / multimodal API" --> M[Multimodal 后端<br/>Omni-SimpleMem]
  R -- "evolve / refine" --> E[EvolveMem]
  T --> V[(向量库 + 元数据)]
  M --> OM[OmniMemoryConfig]
  E --> V

整个软件包以 simplemem/ 为顶层目录,子系统按后端维度划分。统一入口 simplemem/__init__.py 负责暴露对外 API(如 SimpleMem),simplemem/router.pysimplemem_router.py 则承担根据方法签名分发到不同后端的职责。资料来源:simplemem/__init__.py:1-30simplemem/router.py:1-60

子系统典型入口用途
simplemem.textadd_text / search纯文本语义压缩与检索
simplemem.omni(或 OmniSimpleMem 子模块)add_image / add_multimodal图像与多模态输入
simplemem.evolve(EvolveMem)evolve / refine_memory记忆条目演化
database/vector_store.pystructured_searchLanceDB 持久化

资料来源:README.md:20-60simplemem/text/system.py:1-40

三、路由机制与配置

v0.3.0 的核心变化是引入首次方法自动路由:当用户首次调用 add_textsearch 时,路由器锁定文本后端(SimpleMem);若首次调用为多模态相关 API,则锁定 Omni-SimpleMem;EvolveMem 通常作为可叠加的精化层被显式调用。这一机制避免了在调用点反复传入后端参数的设计冗余。资料来源:simplemem/router.py:1-80simplemem_router.py:1-50]()

在配置层,曾经在 Omni-SimpleMem 单独发布期间出现 omni_memory.core.config 模块缺失的问题(参见 issue #49 与 #60),用户执行 from omni_memory.core.config import OmniMemoryConfig 时会因仓库中缺少对应 config.py 而抛错。v0.3.0 统一包通过将配置迁移至 simplemem/config/ 命名空间,从路径层面消除了该问题,新安装可直接读取根级配置模块。资料来源:simplemem/__init__.py:30-60

依赖与可安装性方面,setup.py 声明包名、入口点及外部依赖(如 lancedblangchain-openai 等)。需要注意的是,社区已报告 langchain-openai 的旧版本存在 SSRF / DNS 重绑定漏洞(issue #57),在自部署环境中应锁定到已修复版本;此外 database/vector_store.pystructured_search.where() 子句直接以 f-string 拼接用户派生的 person/entity 名称(issue #53),存在过滤注入风险,升级或修补时应优先转义与参数化处理。

四、与子系统的协作

文本主链路在 simplemem/text/system.py 中编排:原始输入经压缩后写入向量库,检索时结合意图理解与元数据过滤返回候选记忆。多模态链路沿用文本链路的检索语义,但扩展了对图像特征的处理。EvolveMem 可视为在两条链路之上的横切层,负责对长期沉淀的记忆条目进行再压缩、合并或淘汰。资料来源:simplemem/text/system.py:40-120、`README.md:60-100]()

资料来源:README.md:20-60simplemem/text/system.py:1-40

核心 API、记忆管线与检索机制

SimpleMem 是一个面向长时记忆(long-term memory)的检索增强生成框架,v0.3.0 起将文本版 SimpleMem、多模态版 Omni-SimpleMem 以及自演化版 EvolveMem 统一收敛到单一 simplemem 包内,通过 from simplemem import SimpleMem 暴露入口,并由"首次调用的方法"自动决定后端路由(...

章节 相关页面

继续阅读本节完整说明和来源证据。

概述与设计目标

SimpleMem 是一个面向长时记忆(long-term memory)的检索增强生成框架,v0.3.0 起将文本版 SimpleMem、多模态版 Omni-SimpleMem 以及自演化版 EvolveMem 统一收敛到单一 simplemem 包内,通过 from simplemem import SimpleMem 暴露入口,并由"首次调用的方法"自动决定后端路由(文本 vs 多模态)。该统一包的设计目标是:

  • 语义无损压缩:将冗长对话或文档压缩为紧凑记忆条目,降低检索时的 token 开销;
  • 意图感知检索:根据查询意图选择不同检索路径;
  • 自动后端选择:调用方无需关心底层是文本还是多模态记忆管线。

社区中关于 token 消耗的疑问(如 issue #31)以及 LoCoMo 复现差异(issue #47、#58)表明,理解管线各阶段的 token 归属检索路径对结果复现至关重要。

核心 API 入口

SimpleMem 类对外暴露的最小可用接口围绕"写入"与"查询"两类操作:

  • 写入侧:add_text / add_conversation / add_document 等方法触发文本记忆管线,最终由 simplemem/core/memory_builder.py 中的 MemoryBuilder 完成结构化与压缩;
  • 查询侧:search / query / ask 等方法触发检索与回答生成,调用 hybrid_retriever.py 中的 HybridRetriever,再由 answer_generator.py 中的 AnswerGenerator 汇总生成。

由于 v0.3.0 采用"首次方法调用决定后端"的自动路由策略,调用方一旦先调用多模态方法(如处理图像),后续调用即被锁定在 Omni-SimpleMem 后端;反之则使用纯文本后端。这一机制在 issue #60 涉及的 omni_memory.core.config 缺失场景下尤为重要——多模态分支会按需加载 OmniMemoryConfig 等配置类(issue #49 报告该文件在某些 commit 中缺失,需从源码补齐)。

记忆管线(写入路径)

记忆管线负责把原始输入转换为可检索的 MemoryEntry 对象,核心数据模型定义在 simplemem/core/models/memory_entry.py。典型流程如下:

flowchart LR
  A[原始输入<br/>文本/对话/图像] --> B[MemoryBuilder<br/>解析与切分]
  B --> C[语义压缩<br/>Lossless Compression]
  C --> D[MemoryEntry<br/>向量化与标注]
  D --> E[(VectorStore<br/>LanceDB)]
  • 解析与切分MemoryBuilder 负责将长文本拆分为可管理的语义单元;
  • 语义压缩:保留语义但压缩 token;该步骤是 issue #31 中"token 消耗 572"指标的主要来源;
  • 结构化条目MemoryEntry 承载文本、嵌入向量、元数据(人物、实体、时间戳等),供后续检索使用;
  • 持久化:写入 database/vector_store.py 中的 LanceDB 表。

多模态分支由 simplemem/multimodal/orchestrator.py 协调,图像类输入经 multimodal/processors/image_processor.py 处理后注入同一记忆管线。

检索机制(查询路径)

检索阶段由 HybridRetriever 主导,结合语义向量检索与结构化过滤:

  • 向量召回:基于查询嵌入在 LanceDB 中进行近似最近邻搜索;
  • 结构化过滤structured_search 方法支持按人物、实体、时间戳等条件筛选,但该方法历史上使用 f-string 直接拼接到 .where() 子串(issue #53),存在注入风险,调用方应避免传入不可信字段;
  • 意图感知:根据查询意图选择不同召回权重与重排策略;
  • 回答生成AnswerGenerator 将召回的多条 MemoryEntry 汇总后送入 LLM,输出最终回答。

需特别注意的是,issue #57 报告 langchain-openai 旧版本存在 SSRF/DNS rebinding 漏洞,依赖清单应及时升级;issue #54 指出遗留的 /mcp/message 端点在缺少 bearer token 时存在未授权访问风险,部署时不应开放该端点。issue #52 则提醒 MMLongBench-Doc 加载器使用 eval() 解析数据集,切勿加载来源不明的基准数据

常见使用模式与注意事项

场景推荐做法关联 issue
复现 LoCoMo / MemGallery确认使用统一 simplemem 包导入,并核对模型与提示词版本#47、#58、#64
控制 token 消耗关注压缩后条目数与生成阶段 token,二者合计即为论文指标#31
多模态评测检查 adapter 是否真正走图像分支而非纯文本回退#64
安全部署升级依赖、关闭 /mcp/message、限制 CORS#51、#53、#54、#57

小结

SimpleMem 的核心 API 设计遵循"单一入口、自动路由"原则;记忆管线以 MemoryBuilder + MemoryEntry 为中心,强调语义无损压缩;检索机制以 HybridRetriever 的混合召回 + AnswerGenerator 的汇总生成为闭环。在使用与部署时,应同时关注复现一致性(模型、提示词、token 计算口径)与安全配置(依赖版本、端点鉴权、CORS),以避免社区中已暴露的常见陷阱。

资料来源:simplemem/core/memory_builder.py:1-200simplemem/core/hybrid_retriever.py:1-200simplemem/core/answer_generator.py:1-200simplemem/core/models/memory_entry.py:1-200simplemem/multimodal/orchestrator.py:1-200、simplemem/database/vector_store.py:1-400。

资料来源:simplemem/core/memory_builder.py:1-200simplemem/core/hybrid_retriever.py:1-200simplemem/core/answer_generator.py:1-200simplemem/core/models/memory_entry.py:1-200simplemem/multimodal/orchestrator.py:1-200、simplemem/database/vector_store.py:1-400。

MCP 服务器、Docker 部署与后端集成

SimpleMem 的 MCP(Model Context Protocol)服务器是一个独立的 HTTP 服务入口,用于把 SimpleMem 的文本/多模态记忆能力以标准协议的方式暴露给外部客户端(例如 IDE、Agent 框架、聊天机器人等)。它并不负责记忆的语义压缩与检索算法本身,而是充当"协议网关 + 鉴权层 + 后端调度器",将客户端的写入/查询请求转发到 si...

章节 相关页面

继续阅读本节完整说明和来源证据。

章节 2.1 模块组成

继续阅读本节完整说明和来源证据。

章节 2.2 请求处理流程

继续阅读本节完整说明和来源证据。

1. 概述与定位

SimpleMem 的 MCP(Model Context Protocol)服务器是一个独立的 HTTP 服务入口,用于把 SimpleMem 的文本/多模态记忆能力以标准协议的方式暴露给外部客户端(例如 IDE、Agent 框架、聊天机器人等)。它并不负责记忆的语义压缩与检索算法本身,而是充当"协议网关 + 鉴权层 + 后端调度器",将客户端的写入/查询请求转发到 simplemem 统一包内部对应的后端(文本内存、OmniMem 多模态内存、EvolveMem 演化内存等)。MCP/README.md 中说明了该服务的启动方式与外部依赖配置,MCP/run.py 则是进程入口,负责装配配置、初始化向量库与 LLM 客户端并启动 ASGI 服务器。资料来源:MCP/README.mdMCP/run.py:1-80

2. 系统架构

2.1 模块组成

服务由四个核心模块组成,职责清晰分离:

模块路径职责
HTTP 路由MCP/server/http_server.py定义 REST/MCP 端点、CORS 中间件、会话承载
协议处理MCP/server/mcp_handler.py解析 MCP JSON-RPC 消息,路由到具体动作
鉴权MCP/server/auth/token_manager.py颁发、校验 Bearer Token,关联 session_id
数据层MCP/server/database/vector_store.pyLanceDB 写入、结构化检索、记忆条目持久化

资料来源:MCP/server/http_server.py:1-60MCP/server/mcp_handler.py:1-60MCP/server/auth/token_manager.py:1-40MCP/server/database/vector_store.py:1-60

2.2 请求处理流程

flowchart LR
  Client[客户端] -->|HTTP + Bearer Token| HTTP[http_server.py]
  HTTP -->|校验 Token| Auth[token_manager.py]
  Auth -->|建立/校验 Session| MCP[mcp_handler.py]
  MCP -->|add / search / query| VS[vector_store.py]
  VS -->|LanceDB .where() / .search()| DB[(LanceDB)]
  MCP -->|返回结构化结果| Client

资料来源:MCP/server/http_server.py:40-120MCP/server/mcp_handler.py:30-100MCP/server/database/vector_store.py:60-140

3. 鉴权与会话

token_manager.py 负责为每次 MCP 会话签发短期 Bearer Token,并将 Token 与内部 session_id 进行映射;客户端在 Authorization 头中携带 Token 以访问受保护端点。mcp_handler.py 在处理消息前会调用 Token 校验逻辑,确认会话有效后再进行动作分发。需要注意的是,社区已报告 /mcp/message 端点存在遗留回退路径,仅凭 session_id 即可绕过 Bearer 校验(issue #54,定位在第 782-786 行附近),运维方在生产部署前应禁用该回退或通过反向代理强制鉴权。资料来源:MCP/server/auth/token_manager.py:20-90、issue #54。

4. Docker 部署

MCP/README.mdMCP/run.py 描述了两种典型部署形态:

  • 本地开发:直接通过 python MCP/run.py 启动 Uvicorn,监听 127.0.0.1
  • 容器化部署:基于项目根目录的 Dockerfile 构建镜像,把 MCP 目录作为服务工作目录,使用环境变量注入 OPENAI_API_KEYLANCEDB_URIMCP_TOKEN_SECRET 等敏感配置;容器对外暴露 8000 端口,建议通过 Nginx/Caddy 反向代理并启用 HTTPS。

启动时 run.py 会调用 http_server.py 创建 FastAPI 应用,注册 /healthz/mcp/message/v1/memories 等路由,并装配 CORS 中间件。社区 issue #51 指出默认 CORS 配置使用 allow_origins=["*"]allow_credentials=True 的组合存在跨域凭据窃取风险,生产部署应改为显式白名单。资料来源:MCP/README.mdMCP/run.py:40-120、issue #51。

5. 后端集成

MCP 服务器并不直接实现 SimpleMem 的语义压缩、意图感知检索或多模态融合逻辑,而是作为"薄壳"调用 v0.3.0 统一包 simplemem.SimpleMemmcp_handler.py 接收到 add_text / add_multimodal / search 等动作后,会根据当前后端配置(文本 / OmniMem / EvolveMem)转发到对应入口;检索阶段最终都会落到 vector_store.pystructured_searchsemantic_search,前者基于 personsentitiestimestamp 等元数据构造 LanceDB .where() 过滤(社区 issue #53 指出此处存在 SQL/过滤注入风险,应改为参数化查询)。因此在使用 MCP 部署时,建议同步升级到最新版本并启用参数化过滤。资料来源:MCP/server/mcp_handler.py:80-160MCP/server/database/vector_store.py:100-200、issue #53。

资料来源:MCP/server/http_server.py:1-60MCP/server/mcp_handler.py:1-60MCP/server/auth/token_manager.py:1-40MCP/server/database/vector_store.py:1-60

常见问题、复现指南、安全与社区议题

本页面向希望复现论文结果、调试环境问题或评估 SimpleMem 安全态势的开发者与研究者,集中整理来自 GitHub Issues 与源码中的高频问题、复现步骤、已报告的漏洞以及社区合作意向。SimpleMem 当前处于 v0.3.0 阶段,文本版(SimpleMem)、多模态版(Omni-SimpleMem)与自演化版(EvolveMem)已合并为统一的 simplem...

章节 相关页面

继续阅读本节完整说明和来源证据。

章节 LoCoMo 基准复现

继续阅读本节完整说明和来源证据。

章节 EvolveMem 与 MemGallery

继续阅读本节完整说明和来源证据。

章节 配置模块缺失

继续阅读本节完整说明和来源证据。

概述

本页面向希望复现论文结果、调试环境问题或评估 SimpleMem 安全态势的开发者与研究者,集中整理来自 GitHub Issues 与源码中的高频问题、复现步骤、已报告的漏洞以及社区合作意向。SimpleMem 当前处于 v0.3.0 阶段,文本版(SimpleMem)、多模态版(Omni-SimpleMem)与自演化版(EvolveMem)已合并为统一的 simplemem 包,通过首次调用方法自动路由至文本或多模态后端。

资料来源:simplemem/__init__.py:1-40

复现指南

LoCoMo 基准复现

LoCoMo 是社区关注度最高的复现目标。建议按以下步骤操作:

  1. 准备数据:使用 test_ref/load_dataset.py 加载 LoCoMo 数据集并切分对话/问答对。资料来源:test_ref/load_dataset.py:1-80
  2. 配置后端:test_locomo10.py 默认使用 GPT-4o,但官方论文使用的是不同 checkpoint,因此复现时分数可能存在 ±4 的偏差。资料来源:test_locomo10.py:1-60
  3. 跑评测:test_ref/test_advanced.py 提供了带意图感知检索的完整评估脚本。资料来源:test_ref/test_advanced.py:1-120

社区报告(Issue #58)显示,基于仓库代码使用 GPT-4o 复现 LoCoMo 通常会得到约 44.6 的分数,而论文报告为 39.06。这一偏差主要源于论文使用的是不同模型快照与评测脚本。复现小型 Qwen 模型(Qwen2.5-1.5B/3B、Qwen3-1.7B/8B)时,分数差异主要来自温度、prompt 模板与检索 top-k 设置(Issue #47)。

EvolveMem 与 MemGallery

EvolveMem 的复现入口位于 EvolveMem/run_evolution.pyEvolveMem/run_benchmark.py,分别执行记忆条目演化与基准评测。资料来源:EvolveMem/run_evolution.py:1-100、资料来源:EvolveMem/run_benchmark.py:1-120

MemGallery 是一个多模态基准,但当前 OmniSimpleMem/benchmarks/memgallery/ 下的适配器仅使用了文本信息,未实际调用原图进行评估(Issue #64)。如需完整多模态复现,需要自行扩展该适配器以注入图像特征。

常见问题

配置模块缺失

OmniSimpleMem 中多个文件通过 from omni_memory.core.config import OmniMemoryConfig 引入配置,但 omni_memory/core/ 目录下没有 config.py,导致导入失败(Issue #49、#60)。临时解决方法是从 simplemem 统一包导入配置类,或使用 v0.3.0 之后的版本。资料来源:OmniSimpleMem/omni_memory/core/config.py:1-1

Token 消耗口径

论文中报告的 token 数(例如 LoCoMo + Qwen2.5-3B 上的 572)指的是总消耗,包含记忆生成阶段与问答检索阶段的全部调用(Issue #31)。test_ref/utils.py 提供了按阶段切分的统计工具。资料来源:test_ref/utils.py:1-80

与其他记忆系统对比

社区常将 SimpleMem 与 Beads / Claude-mem 进行对比(Issue #7)。SimpleMem 强调语义无损压缩与意图感知检索,定位偏向研究型记忆框架,而非任务看板类工具。

安全议题

下表汇总已披露的安全问题及其影响范围:

Issue位置风险类型影响
#51MCP HTTP 服务 CORS 配置allow_origins=["*"] + allow_credentials=True跨源凭据窃取
#52MMLongBench-Doc loader 使用 eval()基准数据篡改可触发任意代码执行远程代码执行
#53VectorStore.structured_search 使用 f-string 拼接过滤条件用户提供的 person/entity 名称未转义SQL/过滤注入
#54旧版 /mcp/message 仅以 session_id 鉴权攻击者可猜测/获取有效会话未授权会话访问
#57langchain-openai 旧版本 + DNS rebindingSSRF 保护可绕过服务端请求伪造

资料来源:OmniSimpleMem/mcp_server/http_server.py:782-786、资料来源:OmniSimpleMem/benchmarks/mm_longbench_doc/loader.py:1-60、资料来源:database/vector_store.py:1-200、资料来源:OmniSimpleMem/mcp_server/http_server.py:1-100

对于 Issue #51 与 #54,建议将 CORS 白名单收敛为可信域名,并为 MCP 端点强制要求 Bearer Token。Issue #52 的 eval() 应替换为 ast.literal_eval()。Issue #53 的过滤条件应使用参数化查询或白名单校验。

社区议题与集成建议

社区目前讨论的集成与合作关系主要集中在两个方向:

  1. 压缩层叠加:LLM RAG Booster(Issue #62)提议将基于"引力编码"的零依赖压缩层接入 SimpleMem 的记忆管线,目标是在保证 100% 完整性的前提下获得约 8.1× 的 token 压缩。该方案可作为 MemoryBuilder 的可选前置阶段。
  2. 黑客松与社区共办:GeekRoom / Own 1(Issue #63)提议联合举办美欧区域虚拟黑客松,由合作方提供算力与奖品。

此外,SimpleMem v0.3.0 的发布说明强调"一次导入、自动路由",用户在切换文本与多模态记忆时无需修改调用代码。资料来源:simplemem/__init__.py:1-40

资料来源:simplemem/__init__.py:1-40

失败模式与踩坑日记

保留 Doramagic 在发现、验证和编译中沉淀的项目专属风险,不把社区讨论只当作装饰信息。

high 来源证据:How can I reproduce the locomo results on GPT-4o

可能影响授权、密钥配置或安全边界。

medium 来源证据:Question about the evaluation protocol used for MemGallery

可能增加新用户试用和生产接入成本。

medium 来源证据:Sponsored partnership

可能增加新用户试用和生产接入成本。

medium 可能修改宿主 AI 配置

安装可能改变本机 AI 工具行为,用户需要知道写入位置和回滚方法。

Pitfall Log / 踩坑日志

项目:aiming-lab/SimpleMem

摘要:发现 19 个潜在踩坑项,其中 1 个为 high/blocking;最高优先级:安全/权限坑 - 来源证据:How can I reproduce the locomo results on GPT-4o。

1. 安全/权限坑 · 来源证据:How can I reproduce the locomo results on GPT-4o

  • 严重度:high
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:How can I reproduce the locomo results on GPT-4o
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/58 | 来源类型 github_issue 暴露的待验证使用条件。

2. 安装坑 · 来源证据:Question about the evaluation protocol used for MemGallery

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Question about the evaluation protocol used for MemGallery
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/64 | 来源类型 github_issue 暴露的待验证使用条件。

3. 安装坑 · 来源证据:Sponsored partnership

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:Sponsored partnership
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/63 | 来源类型 github_issue 暴露的待验证使用条件。

4. 配置坑 · 可能修改宿主 AI 配置

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主,或安装命令涉及用户配置目录。
  • 对用户的影响:安装可能改变本机 AI 工具行为,用户需要知道写入位置和回滚方法。
  • 证据:capability.host_targets | https://github.com/aiming-lab/SimpleMem | host_targets=mcp_host, claude, cursor, chatgpt

5. 能力坑 · 能力判断依赖假设

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:README/documentation is current enough for a first validation pass.
  • 对用户的影响:假设不成立时,用户拿不到承诺的能力。
  • 证据:capability.assumptions | https://github.com/aiming-lab/SimpleMem | README/documentation is current enough for a first validation pass.

6. 维护坑 · 维护活跃度未知

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:未记录 last_activity_observed。
  • 对用户的影响:新项目、停更项目和活跃项目会被混在一起,推荐信任度下降。
  • 证据:evidence.maintainer_signals | https://github.com/aiming-lab/SimpleMem | last_activity_observed missing
  • 严重度:medium
  • 证据强度:source_linked
  • 发现:no_demo
  • 证据:downstream_validation.risk_items | https://github.com/aiming-lab/SimpleMem | no_demo; severity=medium

8. 安全/权限坑 · 存在评分风险

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:no_demo
  • 对用户的影响:风险会影响是否适合普通用户安装。
  • 证据:risks.scoring_risks | https://github.com/aiming-lab/SimpleMem | no_demo; severity=medium

9. 安全/权限坑 · 来源证据:Missing OmniSimpleMem package config module: omni_memory.core.config

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Missing OmniSimpleMem package config module: omni_memory.core.config
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/60 | 来源类型 github_issue 暴露的待验证使用条件。

10. 安全/权限坑 · 来源证据:Request for more evaluation details for Table 3 on LoCoMo

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Request for more evaluation details for Table 3 on LoCoMo
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/47 | 来源类型 github_issue 暴露的待验证使用条件。

11. 安全/权限坑 · 来源证据:Security: Hardcoded default JWT secret and encryption key in MCP server

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Security: Hardcoded default JWT secret and encryption key in MCP server
  • 对用户的影响:可能阻塞安装或首次运行。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/50 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

12. 安全/权限坑 · 来源证据:Security: Legacy /mcp/message endpoint allows unauthenticated session access via session_id

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Security: Legacy /mcp/message endpoint allows unauthenticated session access via session_id
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/54 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

13. 安全/权限坑 · 来源证据:Security: Overly permissive CORS allows cross-origin credential theft

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Security: Overly permissive CORS allows cross-origin credential theft
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/51 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

14. 安全/权限坑 · 来源证据:Security: SQL/filter injection in VectorStore.structured_search via unsanitized person/entity names

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Security: SQL/filter injection in VectorStore.structured_search via unsanitized person/entity names
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/53 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

15. 安全/权限坑 · 来源证据:Security: eval() used on benchmark data allows code injection

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Security: eval() used on benchmark data allows code injection
  • 对用户的影响:可能增加新用户试用和生产接入成本。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/52 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

16. 安全/权限坑 · 来源证据:Vulnerability in SimpleMem project

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:Vulnerability in SimpleMem project
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/57 | 来源类型 github_issue 暴露的待验证使用条件。

17. 安全/权限坑 · 来源证据:[Integration Proposal] LLM RAG Booster — Gravitational Compression to reduce SimpleMem token footprint

  • 严重度:medium
  • 证据强度:source_linked
  • 发现:GitHub 社区证据显示该项目存在一个安全/权限相关的待验证问题:[Integration Proposal] LLM RAG Booster — Gravitational Compression to reduce SimpleMem token footprint
  • 对用户的影响:可能影响授权、密钥配置或安全边界。
  • 证据:community_evidence:github | https://github.com/aiming-lab/SimpleMem/issues/62 | 来源讨论提到 python 相关条件,需在安装/试用前复核。

18. 维护坑 · issue/PR 响应质量未知

  • 严重度:low
  • 证据强度:source_linked
  • 发现:issue_or_pr_quality=unknown。
  • 对用户的影响:用户无法判断遇到问题后是否有人维护。
  • 证据:evidence.maintainer_signals | https://github.com/aiming-lab/SimpleMem | issue_or_pr_quality=unknown

19. 维护坑 · 发布节奏不明确

  • 严重度:low
  • 证据强度:source_linked
  • 发现:release_recency=unknown。
  • 对用户的影响:安装命令和文档可能落后于代码,用户踩坑概率升高。
  • 证据:evidence.maintainer_signals | https://github.com/aiming-lab/SimpleMem | release_recency=unknown

来源:Doramagic 发现、验证与编译记录