Mismem

io.github.lucasmella-stack由 GitHub 账号 lucasmella-stack 发布v0.2.0更新于 Oct 25, 2026

Cooperative persistent memory for LLMs: episodes, memories and traits over SQLite (FTS5, Hebbian)

已验证STDIO仅桌面数据库知识与记忆

概览

AI 生成的概览

基于本地 SQLite 的 LLM 持久记忆服务器,让助手跨会话、跨客户端捕获、召回、强化和遗忘记忆。

可以做什么
  • 把情节、记忆和特质写入本地 SQLite 存储,并提供兼容 Engram 的保存与搜索调用
  • 在三个层级上混合召回:关键词(FTS5)与可选的向量语义检索,可按项目或客户端划分作用域
  • 强化被使用的记忆,让未使用的记忆随时间衰减,并记录同一轮中共同使用的记忆索引
  • 把情节整合为提炼后的记忆,并将稳定模式结晶为特质
  • 遗忘条目,并导入或导出 ChatGPT 导出文件、VS Code 对话记录、Obsidian 库和 Engram 迁移数据
  • 通过可选的网页查看器浏览记忆、特质、待处理项和关系图
适用场景
适合希望助手在多次会话之间、在多个 MCP 客户端之间保持上下文与连续性的场景,免去每次重复背景信息。也适合希望记忆保存在自己掌控的本地文件中、并按项目隔离记忆的用户。
运行要求
以本地 stdio 进程运行,通常通过 npx 使用 npm 包,或用 Node 22 从源码构建后运行。SQLite 数据库在首次使用时创建于 ~/.mismem/mem.db,可用 MISMEM_DB 指定路径。可选的语义检索需要嵌入服务器,可选的夜间整合需要 OpenAI 兼容服务商的 API 密钥。另提供带 HTTP 端点和 BasicAuth 的 Docker 镜像。
安装前请注意
数据库保存个人记忆内容,应避免提交到版本库。两个可选功能会把文本发送到本机之外:嵌入服务器会收到记忆、特质、情节和查询文本,LLM 整合会把情节原文发送给所配置的服务商。HTTP 服务器在未设置 MISMEM_AUTH_USER 和 MISMEM_AUTH_PASS 时不进行身份验证,此时只应在本机暴露。安装脚本会把服务商密钥写入配置文件,并修改 MCP 客户端配置。

安装

在 SourceWeft 中

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

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

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[misMEM]

misMEM

Memoria persistente cooperativa para LLMs.
Una SQLite, un protocolo MCP, todos tus clientes.

[CI] [Última release] [Licencia MIT] [Node 22 o superior]

Qué es y por qué

Cada instancia de un LLM nace sin memoria, y cada herramienta (opencode, Claude Code, Codex, Cursor, VS Code...) guarda lo suyo en silos incompatibles: hay que repetir el contexto y la continuidad muere entre sesiones. misMEM lo resuelve con una base SQLite (~/.mismem/mem.db) y un protocolo MCP de seis invocaciones, accesible desde cualquier cliente que hable MCP. La cooperatividad hace a la persistencia de la información.

La memoria tiene tres capas, como la biológica, y la pérdida es intencional: lo crudo se disuelve, lo destilado persiste, lo cristalizado permanece.

mermaid
flowchart LR    C["Cualquier cliente MCP<br/>opencode, Claude Code, Codex,<br/>Cursor, VS Code..."]
    subgraph E["engine (Node 22)"]        S["server.ts<br/>MCP por stdio"]        H["server-http.ts<br/>MCP por HTTP y visor, :3200"]    end
    subgraph D["SQLite (mem.db)"]        EP["episodes<br/>texto literal"] -->|consolidación| ME["memories<br/>gist, saliencia"] -->|crystallize| TR["traits<br/>patrones estables"]    end
    N["Consolidación nocturna<br/>mismem-consolidate"]    L["LLM<br/>cualquiera con API compatible con OpenAI"]    V["Servidor de embeddings<br/>cualquier modelo, por /v1/embeddings"]
    C -->|stdio| S    C -->|HTTP| H    S --> D    H --> D    N -->|episodios pendientes| L    L -->|memorias destiladas| N    N --> D    V -.->|vectores, opcional| E

Quickstart

Linux: un script lo configura todo

bash
git clone https://github.com/lucasmella-stack/misMEM.git && bash misMEM/scripts/install.sh

Pregunta dónde guardar la memoria y con qué proveedor consolidar (DeepSeek, OpenRouter, OpenAI, un servidor compatible o ninguno), deja la clave en ~/.config/mismem/env con permisos 600 y configura los clientes MCP que encuentre, con los hooks de inyección y refuerzo en Claude Code. Ofrece además montar un servidor de embeddings local para la búsqueda por significado (otro servidor u otro modelo) y dejar la consolidación nocturna como timer de systemd.

Los clientes llaman a ~/.local/bin/mismem-run, así que ninguna clave queda en su configuración. Volver a ejecutarlo actualiza sin duplicar y respeta lo que esté configurado a mano. --help explica el resto: --from-npm, el modo sin preguntas y qué clientes toca.

Docker: un servidor para varias máquinas

bash
docker run -d --name mismem-brain \  -e MISMEM_AUTH_USER=brain -e MISMEM_AUTH_PASS=<contraseña> \  -v mismem-data:/data -p 127.0.0.1:3200:3200 \  ghcr.io/lucasmella-stack/mismem-brain:latestcurl http://127.0.0.1:3200/healthz

Imagen multi-arch (linux/amd64 y linux/arm64). El visor queda en /viewer y el MCP en /mcp; para exponerlo con Traefik y TLS, DEPLOY.md.

npm: sin clonar nada

En la configuración MCP del cliente; el fichero y la forma cambian de uno a otro. Éste es el de los que usan mcpServers en JSON:

json
{  "mcpServers": {    "mismem": {      "command": "npx",      "args": ["-y", "@lucasmella/mismem"]    }  }}

La base se crea sola en el primer uso (~/.mismem/mem.db, configurable con MISMEM_DB) y no sale de la máquina; las dos funciones opcionales que mandan texto afuera están en Privacidad.

Desde el código
bash
git clone https://github.com/lucasmella-stack/misMEM.gitcd misMEM/enginepnpm installpnpm test        # todo verde antes de usarpnpm build       # compila a dist/

Y en la configuración MCP del cliente: "command": "node", "args": ["<ruta-al-repo>/misMEM/engine/dist/server.js"].

Qué incluye

Qué haceMás
Seis invocacionescapture, recall, reinforce, consolidate, crystallize, forget, más una capa de compatibilidad con Engram (mem_save, mem_search, ...)Arquitectura
Recall híbridoPalabras (FTS5) y significado (embeddings, opcional) fusionados por RRF sobre las tres capas a la vez. Si el servidor de embeddings cae, sigue por palabrasRecall
Medido, no supuestoUn corpus dorado público en castellano y pnpm eval: aciertos y MRR por tipo de pregunta, contra un suelo declaradoRecall
Saliencia con decayLo que no se usa pierde la mitad cada 90 días; el refuerzo sigue el uso real, no la apariciónArquitectura
Índice hebbianoCuenta qué recuerdos se usaron juntos en el mismo turnoArquitectura
ÁmbitosUn scope por proyecto o cliente dentro de la misma base; una búsqueda con ámbito no mezcla los demásArquitectura
Consolidación nocturnaUn LLM destila los episodios en memorias, con prefiltro de ruidoConsolidación
Visor webMemorias, rasgos, lo pendiente, el origen de cada recuerdo, el estado del índice semántico y el grafo; con acciones opcionalesArquitectura
TemasQué recuerdos hablan de lo mismo aunque vivan en ámbitos distintos, calculado sobre los vectores. El grafo se puede pintar por temaArquitectura
Lo que el modelo recibeEl servidor anuncia cuándo usar cada herramienta; cada resultado de recall trae su capa, su fecha, los detalles y la polaridadArquitectura
Hooks de clienteAdelantan recuerdos antes de responder y refuerzan los que se usaronHooks
Ingesta y exportaciónExports de ChatGPT, transcripts de VS Code, migración desde Engram, bóveda de ObsidianArquitectura
Servidor remotoMCP por Streamable HTTP con BasicAuth, guarda de Host y límite de cuerpo; el visor entra por su propio formularioDEPLOY.md

El visor

Capturas del visor (/viewer): el grafo entero con sus ajustes, y el grafo local alrededor de una memoria con su detalle al costado. Cada nodo mide sus conexiones visibles y se pinta por ámbito o por tema.

[Visor: grafo de episodios, memorias y rasgos, con los ajustes del grafo abiertos] [Visor: grafo local alrededor de una memoria, con su detalle al costado]

Documentación

ParaIr a
Operar un servidor, y todas las variables de entornoDEPLOY.md
Entender el motordocs/architecture.md, docs/recall.md, docs/hooks.md
ContribuirCONTRIBUTING.md y las normas
Convenciones para agentesAGENTS.md
Qué cambió en cada versiónCHANGELOG.md
Reportar una vulnerabilidadSECURITY.md
Qué documento es para quiéndocs/README.md

Privacidad

La memoria es de quien la usa. La base (*.db), los volcados y los exports personales están en .gitignore: nunca se commitean. El servidor HTTP sin MISMEM_AUTH_USER y MISMEM_AUTH_PASS corre sin autenticación: así sólo en localhost.

Dos funciones opcionales mandan texto fuera del proceso, y sólo si se configuran:

  • Búsqueda por significado: el servidor de embeddings recibe el texto de cada memoria, de cada rasgo, de cada episodio pendiente y de cada consulta. Conviene correrlo en la propia máquina o en la red interna.
  • Consolidación con LLM: los episodios viajan textuales al proveedor configurado (DeepSeek, OpenRouter, OpenAI o cualquier servidor compatible). Sin su clave no corre, y apuntándola a un servidor de la propia red no sale nada.

Contribuir

Los issues y los PR son bienvenidos. El punto de partida es CONTRIBUTING.md: entorno, flujo, formularios de issue y plantillas de PR.

Gracias

misMEM lo arrancó una persona sola, pero no siguió así. @iDiagoValeta colaboró en su desarrollo de forma activa como muestra de su amor y apoyo incondicional hacia el Open-Source.

Licencia

MIT. Ver LICENSE.

来源:README.md,提交 878f089

工具

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

版本历史

1
  1. v0.2.0最新Sep 16, 2026

评分

已满足适用检查项的 50%

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

  • 近 30 天内可连通25 分

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

  • 已声明认证方式10 分

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

  • 已列出工具15 分

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

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