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 分