diff --git a/README.es-ES.md b/README.es-ES.md new file mode 100644 index 0000000..6a8ffd4 --- /dev/null +++ b/README.es-ES.md @@ -0,0 +1,950 @@ + + +

+ OpenMemory Plus +

+ +

+ Arquitectura de memoria en 4 capas de xMemory · Clasificación inteligente · Extracción automática · Soporte para múltiples IDEs +

+ +

+ 🇨🇳 Chino | 🇺🇸 English +

+ +

+ + npm version + + + npm downloads + + + License + + + GitHub stars + +

+ +

+ Inicio rápido • + Características • + Arquitectura • + IDEs compatibles • + Documentación +

+ +--- + +## 🎯 Introducción + +> **¿Cansado de tener que presentarte cada vez que cambias de herramienta de IA?** +> +> Cursor no sabe que en Claude mencionaste que te gusta TypeScript, Augment no recuerda tus decisiones técnicas de ayer... +> +> **OpenMemory Plus permite que todos los Agentes de IA compartan una misma memoria.** + +**OpenMemory Plus** es un marco de gestión unificada de memoria diseñado para Agentes de IA, que adopta la **arquitectura de memoria en cuatro capas de xMemory**: + +- **L3 Theme** — Capa de agrupación temática, induce automáticamente conceptos de alto nivel +- **L2 Semantic** — Capa de memoria semántica, recuperación vectorial basada en BGE-M3 +- **L1 Episode** — Capa de memoria episódica, guarda el contexto de la conversación +- **L0 Message** — Capa de mensajes originales + +```bash +# 5 分钟安装,终结 AI 失忆症 +npx openmemory-plus install +``` + +### 📸 Demostración + + + + + + +
+ 自动记忆提取执行
+ 自动记忆提取执行 +
+ 记忆提取结果
+ 记忆提取结果 +
+ +--- + +## 💡 ¿Por qué necesitas OpenMemory Plus? + +### Escenarios de problemas + +¿Te has encontrado con estos problemas? + +| 😤 Problema | 📖 Descripción del escenario | +|--------|------------| +| **Memoria fragmentada entre múltiples CLIs** | Usas Gemini, Augment, Claude y Cursor simultáneamente, cada uno con memoria independiente y sin conexión entre sí | +| **Síndrome de amnesia del Agente** | En cada nueva conversación, el Agente olvida quién eres, dónde está el proyecto y qué hiciste la última vez | +| **Presentaciones repetitivas** | Al cambiar de CLI, debes volver a decirle al Agente: me gusta TypeScript, uso pnpm, prefiero programación funcional... | +| **Configuración fragmentada** | URL de despliegue en Slack, API Key en notas, rutas en tu cabeza | +| **Pérdida de contexto** | Las decisiones técnicas discutidas ayer en Claude, hoy Augment no las recuerda en absoluto | + +### ¿Cómo lo resuelve OpenMemory Plus? + +**🔗 Capa unificada de memoria para múltiples CLIs** + +``` +┌─────────────────────────────────────────────────────────────┐ +│ 没有 OpenMemory Plus │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ +│ │ Gemini │ │ Augment │ │ Claude │ │ Cursor │ │ +│ │ CLI │ │ Agent │ │ Code │ │ Agent │ │ +│ ├─────────┤ ├─────────┤ ├─────────┤ ├─────────┤ │ +│ │ 记忆 A │ │ 记忆 B │ │ 记忆 C │ │ 记忆 D │ │ +│ │ (独立) │ │ (独立) │ │ (独立) │ │ (独立) │ │ +│ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ +│ ❌ 互不相通,每个都要重复告知偏好和上下文 │ +│ │ +└─────────────────────────────────────────────────────────────┘ + ↓ +┌─────────────────────────────────────────────────────────────┐ +│ 使用 OpenMemory Plus │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ +│ │ Gemini │ │ Augment │ │ Claude │ │ Cursor │ │ +│ │ CLI │ │ Agent │ │ Code │ │ Agent │ │ +│ └────┬────┘ └────┬────┘ └────┬────┘ └────┬────┘ │ +│ │ │ │ │ │ +│ └─────────────┴──────┬──────┴─────────────┘ │ +│ │ │ +│ ┌───────▼───────┐ │ +│ │ OpenMemory │ │ +│ │ Plus 统一层 │ │ +│ ├───────────────┤ │ +│ │ • 用户偏好 │ │ +│ │ • 技术栈 │ │ +│ │ • 项目配置 │ │ +│ │ • 历史决策 │ │ +│ └───────────────┘ │ +│ ✅ 一处记忆,处处可用。切换 CLI 无缝衔接 │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +**💬 Comparación de conversaciones reales** + +``` +┌─────────────────────────────────────────────────────────────┐ +│ [Gemini CLI] 早上 │ +│ 用户: 我喜欢用 TypeScript 和 pnpm │ +│ Gemini: 好的,已记住你的偏好 ✅ │ +├─────────────────────────────────────────────────────────────┤ +│ [Augment] 下午 - 切换 CLI │ +│ 用户: 帮我初始化一个新项目 │ +│ Augment: 好的!根据你的偏好,我用 TypeScript + pnpm 初始化 │ +│ (自动读取了 Gemini 存储的偏好) ✅ │ +├─────────────────────────────────────────────────────────────┤ +│ [Claude Code] 晚上 - 再次切换 │ +│ 用户: 检查一下代码风格 │ +│ Claude: 我看到你偏好函数式风格,检查中... │ +│ (所有 CLI 共享同一份记忆) ✅ │ +└─────────────────────────────────────────────────────────────┘ +``` + +--- + +## 🎯 Casos de uso + +### 👤 ¿Para quién es adecuado? + +| Tipo de usuario | Escenario de uso | +|----------|----------| +| **Desarrolladores independientes** | Múltiples proyectos, deseas que el Agente recuerde la configuración y el contexto de cada uno | +| **Ingenieros Full Stack** | Cambios frecuentes entre proyectos front/back, necesita que el Agente recuerde preferencias del stack tecnológico | +| **Usuarios intensivos de herramientas de IA** | Usas Cursor, Claude y Augment simultáneamente, deseas que la memoria sea compartida | +| **Tech Lead de equipo** | Deseas versionar la configuración del proyecto, para que los Agentes de nuevos miembros obtengan contexto automáticamente | + +### 📋 Casos de uso típicos + +
+🔧 Caso 1: Gestión de configuración de proyectos + +**Escenario**: Tienes 5 proyectos, cada uno con diferentes configuraciones de despliegue + +**Sin OpenMemory Plus**: +- Cada vez debes decirle al Agente la ruta del proyecto +- Cada vez debes proporcionar la URL de despliegue +- Cada vez debes explicar la estructura del proyecto + +**Con OpenMemory Plus**: +```markdown + +## 部署配置 +- Vercel URL: https://my-app.vercel.app +- Project ID: prj_xxx + +## 项目路径 +- Root: /Users/me/projects/my-app +- Src: ./src +- Tests: ./tests +``` +El Agente lo lee automáticamente, sin necesidad de repetirlo. + +
+ +
+🎨 Caso 2: Sincronización de preferencias entre proyectos + +**Escenario**: Te gusta usar TypeScript, Tailwind y pnpm + +**Sin OpenMemory Plus**: +- Cada nuevo proyecto requiere decirle al Agente tus preferencias +- Al cambiar de IDE, las preferencias se pierden + +**Con OpenMemory Plus**: +``` +openmemory (用户级,跨项目共享): +├── "用户偏好: 使用 TypeScript 而非 JavaScript" +├── "用户偏好: 使用 pnpm 而非 npm" +├── "用户偏好: 使用 Tailwind CSS" +└── "用户技能: 熟悉 React, Next.js, Node.js" +``` +En cualquier proyecto o IDE, el Agente conoce tus preferencias. + +
+ +
+📝 Caso 3: Seguimiento de decisiones técnicas + +**Escenario**: Tras una discusión en equipo, se decide usar PostgreSQL en lugar de MongoDB + +**Sin OpenMemory Plus**: +- La decisión queda registrada en Slack/Notion, el Agente no lo sabe +- La próxima vez, el Agente podría sugerir MongoDB nuevamente + +**Con OpenMemory Plus**: +```markdown + +## 技术决策 + +### 数据库选型 (2026-02-01) +- **选择**: PostgreSQL +- **备选**: MongoDB, MySQL +- **原因**: 需要复杂查询和事务支持 +``` +El Agente recuerda la decisión y no volverá a sugerir opciones descartadas. + +
+ +
+🔄 Caso 4: Memoria compartida entre múltiples CLIs (Escenario principal) + +**Escenario**: Usas simultáneamente Gemini CLI, Augment, Claude Code y Cursor + +**Sin OpenMemory Plus**: +``` +😤 每天的痛苦循环: + +[早上 - Gemini CLI] +用户: 我喜欢 TypeScript,用 pnpm +Gemini: 好的! + +[中午 - 切换到 Augment] +用户: 帮我创建组件 +Augment: 请问你用 JavaScript 还是 TypeScript? ← 又要说一遍 +用户: TypeScript... +Augment: 用 npm 还是 yarn? ← 又又要说一遍 +用户: pnpm... 😤 + +[下午 - 切换到 Claude Code] +Claude: 你好!请问你的技术栈偏好是? ← 又又又要说一遍 +用户: ...... 😭 +``` + +**Con OpenMemory Plus**: +``` +✅ 一次告知,处处生效: + +[早上 - Gemini CLI] +用户: 我喜欢 TypeScript,用 pnpm +Gemini: 好的,已记住! → 存入 openmemory + +[中午 - 切换到 Augment] +用户: 帮我创建组件 +Augment: 好的!用 TypeScript + pnpm 创建中... ← 自动读取 + (我知道你的偏好 😊) + +[下午 - 切换到 Claude Code] +用户: 检查代码风格 +Claude: 根据你的 TypeScript 偏好检查中... ← 自动读取 + 发现 3 处可优化 ✅ + +[晚上 - 切换到 Cursor] +Cursor: 我看到你今天在其他 CLI 创建了新组件, + 需要我帮你写测试吗? ← 甚至知道你今天做了什么 +``` + +**Contenido de memoria compartido**: +```yaml +# openmemory (所有 CLI 共享) +用户偏好: + - 语言: TypeScript + - 包管理器: pnpm + - 框架: React, Next.js + - 风格: 函数式编程 + +用户技能: + - 熟悉: Node.js, Python + - 学习中: Rust + +今日上下文: + - 在 Gemini 设置了偏好 + - 在 Augment 创建了 Button 组件 + - 在 Claude 优化了代码风格 +``` + +
+ +--- + +## 🚀 Inicio rápido + +### Instalación en un clic + +```bash +npx openmemory-plus install +``` + +El asistente de instalación te guiará automáticamente: + +1. ✅ Detección de dependencias del sistema (Docker, Qdrant, Ollama, BGE-M3) +2. ✅ **Despliegue con Docker Compose en un clic** (Recomendado) o instalación nativa +3. ✅ Selección del tipo de IDE +4. ✅ Inicialización de la configuración del proyecto +5. ✅ Mostrar instrucciones para los siguientes pasos + +### 🐳 Despliegue con Docker Compose en un clic (Recomendado) + +**¡Solo necesitas instalar Docker, las demás dependencias se manejan automáticamente!** + +```bash +# 方式 1: 安装时自动检测并使用 Docker Compose +npx openmemory-plus install + +# 方式 2: 显式使用 Docker Compose 模式 +npx openmemory-plus install --compose + +# 方式 3: 手动管理依赖服务 +omp deps init # 初始化配置 +omp deps up # 启动服务 (Qdrant + Ollama + BGE-M3) +omp deps status # 查看状态 +omp deps down # 停止服务 +``` + +**Ventajas:** +- 🎯 Solo necesitas instalar una dependencia: Docker +- ⚡ Inicia todos los servicios con un clic +- 📦 El modelo BGE-M3 se descarga automáticamente +- 💾 Persistencia de datos, no se pierden al reiniciar + +### Uso básico + +Una vez instalado, úsalo en las conversaciones de tu Agente de IA: + +``` +/memory # 显示记忆状态 + 快速菜单 +/mem search # 搜索记忆 +/mem sync # 同步并检测冲突 +/mem clean # 清理过时记忆 +``` + +### Requisitos del sistema + +| Dependencia | Versión | Descripción | +|------|------|------| +| Node.js | >= 18.0.0 | Para ejecutar el CLI | +| Docker | Última versión | **Única dependencia obligatoria** (modo Docker Compose) | +| Ollama | Última versión | Para ejecutar el modelo de incrustación BGE-M3 (necesario en modo nativo) | + +--- + +## ✨ Características + +### Capacidades principales + +- 🧠 **Arquitectura en 4 capas de xMemory** — L3 Theme → L2 Semantic → L1 Episode → L0 Message +- 🎯 **Clasificación inteligente** — Determina automáticamente si la información debe almacenarse en la memoria del proyecto o del usuario +- 🔍 **Búsqueda semántica** — Recuperación vectorial multilingüe basada en BGE-M3 + agrupación en capa temática +- ⚡ **Extracción impulsada por eventos** — Skill de extracción de memoria activado automáticamente al finalizar la conversación +- 🔐 **Filtrado de información sensible** — Identifica y bloquea automáticamente el almacenamiento de API Keys, contraseñas, etc. +- 🎯 **Recuperación Top-down** — Comienza desde la capa temática, expandiéndose de forma adaptativa a la capa semántica + +### 🤖 Soporte para múltiples LLMs NUEVO + +Admite múltiples proveedores de LLM para la clasificación de memoria: + +| Proveedor | Modelo | Características | +|----------|------|------| +| **DeepSeek** | deepseek-chat | 🔥 Recomendado, alto rendimiento por costo | +| **MiniMax** | abab6.5s-chat | Optimizado para chino | +| **ZhiPu** | glm-4-flash | Modelo grande nacional | +| **Qwen** | qwen-turbo | Alibaba Cloud | +| **OpenAI** | gpt-4o-mini | Estándar internacional | +| **Ollama** | Modelos locales | Disponible sin conexión | + +### 🧠 Gestión inteligente de memoria + +- 📊 **Clasificación multidimensional** — Sistema de tres dimensiones (Scope/Confidence/Temporality), enrutamiento preciso para cada memoria +- 🧹 **Filtrado inteligente ROT** — Identifica automáticamente información redundante, obsoleta o trivial, manteniendo la base de memoria ágil +- ⏰ **Decaimiento de Ebbinghaus** — Gestión del ciclo de vida de la memoria basada en la curva del olvido, limpieza automática de memorias antiguas +- 🔀 **Detección de conflictos** — Descubre automáticamente contradicciones de datos en dos capas, sugiere soluciones de forma inteligente +- 📈 **Monitoreo de salud** — Puntuación ponderada en cuatro dimensiones, control en tiempo real del estado del sistema de memoria + +> 📖 **Detalles técnicos**: Consulta la [Documentación de la arquitectura del sistema de memoria](docs/memory-system.md) + +### Funciones avanzadas + +- 📊 **Estrategia de degradación** — Degradación automática a almacenamiento local cuando MCP no está disponible +- 🔗 **Integración de memoria** — Fusión de memorias fragmentadas mediante agrupación semántica +- 📉 **Métricas de calidad** — Panel visual que muestra el estado de salud de la memoria +- 🔧 **Configuración progresiva** — Al existir archivos de configuración, los complementa en lugar de sobrescribirlos + +--- + +## 🏗️ Arquitectura + +### Arquitectura de memoria en 4 capas de xMemory + +``` +┌─────────────────────────────────────────────────────────────┐ +│ xMemory 4-Layer Architecture │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────────────────────────────────────────────────┐ │ +│ │ L3 Theme (主题层) │ │ +│ │ ├── 自动聚类相似语义记忆 │ │ +│ │ ├── 主题吸附 (attachThreshold: 0.62) │ │ +│ │ ├── 主题分裂 (maxThemeSize: 12) │ │ +│ │ └── 主题合并 (mergeThreshold: 0.78) │ │ +│ └─────────────────────────────────────────────────────┘ │ +│ ↑ │ +│ ┌─────────────────────────────────────────────────────┐ │ +│ │ L2 Semantic (语义层) - Qdrant 向量数据库 │ │ +│ │ └── BGE-M3 多语言 Embedding │ │ +│ └─────────────────────────────────────────────────────┘ │ +│ ↑ │ +│ ┌─────────────────────────────────────────────────────┐ │ +│ │ L1 Episode (情节层) - 对话上下文 │ │ +│ └─────────────────────────────────────────────────────┘ │ +│ ↑ │ +│ ┌─────────────────────────────────────────────────────┐ │ +│ │ L0 Message (消息层) - 原始对话 │ │ +│ └─────────────────────────────────────────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Capas de almacenamiento + +``` +┌─────────────────────────────────────────────────────────────┐ +│ OpenMemory Plus │ +├─────────────────────────────────────────────────────────────┤ +│ │ +│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ +│ │ /memory │ │ /mem xxx │ │ 自动提取 │ │ +│ │ (入口) │ │ (子命令) │ │ (Skill) │ │ +│ └──────┬──────┘ └──────┬──────┘ └──────┬──────┘ │ +│ └──────────────────┼──────────────────┘ │ +│ ↓ │ +│ ┌─────────────────────────────────────────────────────┐ │ +│ │ Memory Router (智能分类) │ │ +│ └─────────────────────────────────────────────────────┘ │ +│ │ │ +│ ┌──────────────────┼──────────────────┐ │ +│ ↓ ↓ │ +│ ┌─────────────────┐ ┌─────────────────┐ │ +│ │ _omp/memory/ │ │ openmemory │ │ +│ │ (项目级) │ │ (用户级) │ │ +│ ├─────────────────┤ ├─────────────────┤ │ +│ │ • project.yaml │ │ • L3 主题层 │ │ +│ │ • decisions.yaml│ │ • L2 语义层 │ │ +│ │ • themes/ │ │ • L1 情节层 │ │ +│ │ • Git 版本控制 │ │ • MCP 协议 │ │ +│ └─────────────────┘ └─────────────────┘ │ +│ │ +└─────────────────────────────────────────────────────────────┘ +``` + +### Reglas de clasificación + +| Tipo de información | Ubicación de almacenamiento | Capa | Ejemplo | +|----------|----------|------|------| +| Configuración del proyecto | `_omp/memory/*.md` | - | URLs de despliegue, variables de entorno, rutas | +| Decisiones técnicas | `_omp/memory/techContext.md` | - | Selección de frameworks, diseño de arquitectura | +| Agrupación temática | `_omp/memory/themes/` | L3 | Índices de temas generados automáticamente | +| Preferencias del usuario | `openmemory` (MCP) | L2 | Preferencias de idioma, estilo de código | +| Habilidades del usuario | `openmemory` (MCP) | L2 | Stack tecnológico familiar, experiencia | + +### Flujo de recuperación de xMemory + +``` +查询输入 → L3 主题层匹配 → 分数 > 0.75? → 展开到 L2 语义层 → 返回结果 + ↓ ↓ + KNN 邻居搜索 直接返回主题 +``` + +> 💡 **Nota**: Después de la instalación, la memoria a nivel de proyecto se almacena en el directorio `_omp/memory/`, que se añadirá al control de versiones de Git. + +--- + +## 🖥️ IDEs compatibles + + + + + + + + +
+ Augment
+ Augment
+ ✅ 完整支持 +
+ Claude
+ Claude Code
+ ✅ 完整支持 +
+ Cursor
+ Cursor
+ ✅ 完整支持 +
+ Gemini
+ Gemini CLI
+ ✅ 完整支持 +
+ +--- + +## 📦 Comandos de CLI + +### Comandos de instalación + +```bash +# 交互式安装 (推荐) +npx openmemory-plus install + +# 使用 Docker Compose 一键部署 (推荐) +npx openmemory-plus install --compose + +# 静默安装 +npx openmemory-plus install -y + +# 指定 IDE +npx openmemory-plus install --ide augment + +# 指定 LLM Provider (用于记忆分类) +npx openmemory-plus install --llm deepseek + +# 仅配置项目,跳过依赖检测 +npx openmemory-plus install --skip-deps + +# 显示 MCP 配置 +npx openmemory-plus install --show-mcp +``` + +### Proveedores de LLM compatibles + +| Proveedor | Comando | Variable de entorno | +|----------|------|----------| +| DeepSeek | `--llm deepseek` | `DEEPSEEK_API_KEY` | +| MiniMax | `--llm minimax` | `MINIMAX_API_KEY` | +| ZhiPu | `--llm zhipu` | `ZHIPU_API_KEY` | +| Qwen | `--llm qwen` | `DASHSCOPE_API_KEY` | +| OpenAI | `--llm openai` | `OPENAI_API_KEY` | +| Ollama | `--llm ollama` | (Local, no requiere API Key) | + +### 🐳 Gestión de servicios dependientes (Docker Compose) + +```bash +# 初始化 Docker Compose 配置 +omp deps init + +# 启动所有依赖服务 (Qdrant + Ollama + BGE-M3) +omp deps up + +# 启动前拉取最新镜像 +omp deps up --pull + +# 停止所有服务 +omp deps down + +# 查看服务状态 +omp deps status + +# 查看服务日志 +omp deps logs # 所有服务 +omp deps logs ollama # 指定服务 +omp deps logs -f # 持续输出 + +# 手动下载 BGE-M3 模型 +omp deps pull-model +``` + +### Comandos de diagnóstico + +```bash +# 检查系统状态 +npx openmemory-plus status + +# 诊断问题 +npx openmemory-plus doctor + +# 自动修复 +npx openmemory-plus doctor --fix +``` + +### Comandos integrados del Agente + +| Comando | Descripción | +|------|------| +| `/memory` | Muestra estado rápido + menú de subcomandos | +| `/mem status` | Estado detallado de la memoria | +| `/mem search {query}` | Búsqueda semántica de memoria (por defecto capa L2 semántica) | +| `/mem search {query} --level theme` | 🆕 Búsqueda en capa temática (L3) | +| `/mem search {query} --level theme --no-expand` | 🆕 Solo capa temática, sin expandir | +| `/mem store` | Almacenar memoria manualmente | +| `/mem sync` | Detectar y resolver conflictos | +| `/mem clean` | Limpiar memoria ROT | +| `/mem decay` | Análisis de decaimiento temporal | +| `/mem graph` | Visualización del grafo de conocimiento | +| `/mem themes` | 🆕 Ver estado de agrupación temática | + +--- + +## 📁 Estructura del proyecto + +``` +openmemory-plus/ +├── cli/ # CLI 工具源码 +│ ├── src/ +│ │ ├── commands/ # install, status, doctor +│ │ └── lib/ # 核心库 +│ └── templates/ # 模板文件 +│ └── shared/ # 共享模板 +│ └── _omp/ # 核心目录模板 +├── docs/ # 文档 +│ └── architecture.md # 架构设计 +├── AGENTS.md # AI Agent 配置入口 +└── README.md # 本文件 + +# 安装后在你的项目中生成 (以 Augment 为例): +your-project/ +├── _omp/ # OpenMemory Plus 核心目录 (所有 IDE 共享) +│ ├── AGENTS.md # 完整 Agent 规则文件 +│ ├── memory/ # 项目级记忆存储 +│ │ ├── projectbrief.md # 项目概述 +│ │ ├── productContext.md # 产品需求 +│ │ ├── techContext.md # 技术栈 +│ │ ├── activeContext.md # 当前会话上下文 +│ │ ├── systemPatterns.md # 模式与规范 +│ │ ├── decisions.yaml # 架构决策日志 +│ │ └── progress.md # 任务进度 +│ ├── commands/ # Agent 命令 +│ │ └── memory.md # 主命令入口 +│ ├── workflows/ # 工作流 +│ │ └── memory/ # 记忆管理工作流 (7 步骤) +│ └── skills/ # Agent Skills +│ └── memory-extraction/ # 记忆提取 Skill (自动触发) +│ +├── AGENTS.md # 入口文件 (引用 _omp/AGENTS.md) +└── .augment/ # IDE 特定目录 + ├── commands/ # 命令入口 (链接到 _omp) + └── skills/ # Skills (链接到 _omp) +``` + +--- + +## 🔧 Stack tecnológico + +| Componente | Tecnología | Descripción | +|------|------|------| +| CLI | TypeScript + Commander | Herramienta de línea de comandos | +| Base de datos vectorial | Qdrant | Almacena vectores de memoria del usuario | +| Incrustación | BGE-M3 (vía Ollama) | Incrustación de texto multilingüe | +| Protocolo | MCP (Model Context Protocol) | Protocolo de comunicación para Agentes | +| Almacenamiento del proyecto | YAML + Git | Archivos de configuración con control de versiones | + +--- + +## ⚙️ Cómo funciona + +### Flujo de extracción de memoria + +``` +对话/操作 → 信息检测 → 智能分类 → 结构化提取 → 双层存储 + │ │ │ │ │ + ▼ ▼ ▼ ▼ ▼ + 用户输入 关键词匹配 项目 or 用户? YAML 格式 _omp/memory/ + Agent 输出 模式识别 自动判断 去重去噪 openmemory +``` + +### Árbol de decisiones de clasificación + +``` +检测到有价值信息 + │ + ▼ + ┌─────────────┐ + │ 包含项目特定 │──是──▶ _omp/memory/ (项目级) + │ 信息? │ ├── techContext.md + └─────────────┘ ├── productContext.md + │ 否 └── activeContext.md + ▼ + ┌─────────────┐ + │ 包含用户偏好 │──是──▶ openmemory (用户级) + │ 或技能? │ ├── 偏好设置 + └─────────────┘ ├── 技能经验 + │ 否 └── 对话上下文 + ▼ + ┌─────────────┐ + │ ROT 信息? │──是──▶ 丢弃 (不存储) + │ 冗余/过时/ │ ├── "好的" + │ 琐碎 │ ├── "明白了" + └─────────────┘ └── 临时状态 +``` + +### Filtrado de información sensible + +Detecta automáticamente y **evita almacenar** lo siguiente: + +| Tipo | Patrón de detección | Ejemplo | +|------|----------|------| +| API Key | `sk-`, `api_key`, `token=` | `sk-xxx...` | +| Contraseña | `password`, `secret` | `password: 123456` | +| Clave privada | `-----BEGIN`, `PRIVATE KEY` | Claves SSH/GPG | +| Información personal | DNI, tarjeta bancaria, teléfono móvil | `13800138000` | + +--- + +## 🔄 Comparación con otras soluciones + +| Característica | OpenMemory Plus | openmemory MCP puro | SDK mem0 nativo | .env manual | Notion/Documentación | +|------|-----------------|-------------------|---------------|-----------|-------------| +| Extracción automática | ✅ Se activa automáticamente al finalizar la conversación | ⚠️ Requiere llamada activa del Agente | ⚠️ Requiere llamada de código add() | ❌ | ❌ | +| Arquitectura en dos capas | ✅ Proyecto + Usuario | ❌ Solo nivel de usuario | ❌ Solo nivel de usuario | ❌ Solo nivel de proyecto | ❌ | +| Compartido entre múltiples IDEs | ✅ | ✅ | ✅ | ❌ | ❌ | +| Control de versiones Git | ✅ Rastreo a nivel de proyecto | ❌ | ❌ | ✅ | ❌ | +| Búsqueda semántica | ✅ | ✅ | ✅ | ❌ | ❌ | +| Clasificación inteligente | ✅ Clasificación automática en 7 tipos | ❌ Requiere metadata manual | ❌ Requiere metadata manual | ❌ | ❌ | +| Filtrado de información sensible | ✅ Bloqueo automático | ⚠️ Detección de PII | ⚠️ Detección de PII | ❌ | ❌ | +| Instalación en un clic | ✅ `npx omp install` | ⚠️ Requiere configuración manual de MCP | ❌ Requiere integración de código | ❌ | ❌ | +| Limpieza de memoria ROT | ✅ Identificación automática de redundancia/obsolescencia | ❌ | ❌ | ❌ | ❌ | +| Decaimiento de Ebbinghaus | ✅ Modelo de curva del olvido | ❌ | ❌ | ❌ | ❌ | + +> **Leyenda**: ✅ Soporte completo | ⚠️ Soporte parcial | ❌ No soportado + +### Descripción de diferencias clave + +| Elemento de comparación | OpenMemory Plus | openmemory MCP puro | +|--------|-----------------|-------------------| +| **Activación de memoria** | Extracción automática al finalizar la conversación, sin intervención del usuario | El Agente debe llamar activamente a la herramienta `add_memories` | +| **Contexto del proyecto** | `_omp/memory/` almacena decisiones y arquitectura del proyecto | Sin memoria a nivel de proyecto, todas las memorias se mezclan a nivel de usuario | +| **Clasificación de memoria** | Clasificación automática en preferences/decisions/patterns, etc. | Requiere pasar parámetros de metadata manualmente | +| **Salud de la memoria** | Detección ROT + Puntuación de salud + Modelo de decaimiento | Ninguno, la memoria solo crece | +| **Configuración de IDE** | Generación automática de AGENTS.md/CLAUDE.md, etc. | Requiere configuración manual para cada IDE | + +--- + +## ❓ Preguntas frecuentes (FAQ) + +
+P: ¿Qué relación tiene OpenMemory Plus con mem0? + +**R:** OpenMemory Plus es una **capa de mejora** para mem0, no un reemplazo. + +- **mem0** proporciona las capacidades básicas de almacenamiento vectorial y búsqueda semántica +- **OpenMemory Plus** añade sobre esa base: + - Arquitectura de memoria en dos capas (nivel de proyecto + nivel de usuario) + - Clasificación inteligente y extracción automática + - Configuración unificada para múltiples IDEs + - Filtrado de información sensible + +Primero debes instalar mem0/openmemory MCP, y luego usar OpenMemory Plus para mejorarlo. + +
+ +
+P: ¿Dónde se almacenan mis datos? ¿Es seguro? + +**R:** Los datos se almacenan en dos ubicaciones: + +| Ubicación de almacenamiento | Tipo de datos | Seguridad | +|----------|----------|--------| +| `_omp/memory/` (Local) | Configuración del proyecto, decisiones técnicas | ✅ Archivos locales, control de versiones Git | +| `openmemory` (Qdrant) | Preferencias del usuario, habilidades | ✅ Contenedor Docker local | + +- Todos los datos permanecen **en tu máquina local** +- La información sensible (API Keys, contraseñas) se **filtra automáticamente** y no se almacena +- Los datos a nivel de proyecto pueden excluirse mediante `.gitignore` + +
+ +
+P: ¿Qué IDEs/Agentes son compatibles? + +**R:** Actualmente se admite completamente: + +| IDE | Archivo de configuración | Estado | +|-----|----------|------| +| Augment | `AGENTS.md` | ✅ Soporte completo | +| Claude Code | `CLAUDE.md` | ✅ Soporte completo | +| Cursor | `.cursorrules` | ✅ Soporte completo | +| Gemini CLI | `gemini.md` | ✅ Soporte completo | + +Otros Agentes que admiten el protocolo MCP también pueden usarse, solo requiere configuración manual. + +
+ +
+P: ¿Cómo migro un proyecto existente? + +**R:** Solo ejecuta el comando de instalación: + +```bash +cd your-existing-project +npx openmemory-plus install +``` + +El asistente de instalación: +1. Detectará la configuración existente +2. Creará el directorio `_omp/memory/` +3. Generará archivos de configuración para el IDE +4. No sobrescribirá tus archivos existentes + +
+ +
+P: ¿Cómo limpio memorias obsoletas? + +**R:** Usa el comando integrado de limpieza ROT: + +``` +/mem clean +``` + +Esto identificará y limpiará: +- **R**edundant (Redundante): Información duplicada +- **O**bsolete (Obsoleto): Información antigua que ha sido actualizada +- **T**rivial (Trivial): Frases de confirmación sin valor + +
+ +--- + +## 🗺️ Hoja de ruta + +> Se adopta el modelo **Ahora / Próximo / Posterior**, enfocado en la dirección actual y ajustando prioridades con flexibilidad. + +### 🔥 Ahora (En progreso) + +**Crecimiento y construcción comunitaria** +- [ ] Marketing de contenido — Artículos sobre puntos de dolor, videos comparativos, casos de uso +- [ ] Construcción de comunidad — Discord/WeChat, recopilación de historias de usuarios +- [ ] Mejora de documentación — Guías de solución de problemas, mejores prácticas + +**Optimización de la experiencia del producto** +- [ ] Mejora de la tasa de éxito de instalación — Mejores mensajes de error y reparación automática +- [ ] Optimización de la primera experiencia — Percepción de valor en menos de 5 minutos + +### 📅 Próximo (Próxima fase) + +- [ ] Mejora de la búsqueda de memoria — Búsqueda semántica, coincidencia difusa +- [ ] Gestión de memoria en lote — Comandos CLI para operaciones masivas +- [ ] Soporte para más IDEs — Windsurf, Cline +- [ ] Importación/Exportación de memoria — Portabilidad de datos + +### 💡 Posterior (Consideraciones futuras) + +- [ ] Interfaz de gestión Web UI +- [ ] Opción de sincronización en la nube +- [ ] Análisis y perspectivas de memoria + +👉 **[Ver Issues completos de la Hoja de Ruta](https://github.com/Alenryuichi/openmemory-plus/issues?q=is%3Aissue+is%3Aopen+label%3A%22roadmap%3A+now%22%2C%22roadmap%3A+next%22%2C%22roadmap%3A+later%22)** + +### ✅ Completado (v2.0) + +
+Funcionalidades completadas + +**v2.0 - Soporte para equipos Multi-Agent** +- [x] 🤝 Arquitectura de memoria para equipos multi-agente (Compartida de equipo + Privada del agente) +- [x] 🎭 Esquema de ID de Agente (atribución de actor, filtrado de ámbito) +- [x] 📋 Archivo de configuración del equipo (`_omp/config.yaml`) +- [x] 🔄 Flujo de Handoff (Protocolo de entrega de tareas entre agentes) +- [x] 📁 API de memoria con ámbito (Memoria de doble ámbito) + +**v1.6 - Arquitectura de memoria en 4 capas de xMemory** +- [x] 🧠 Arquitectura de memoria en 4 capas de xMemory (L3 Theme → L2 Semantic → L1 Episode → L0 Message) +- [x] 🎯 Agrupación temática automática en L3 (Algoritmos de adsorción/división/fusión) +- [x] 🔍 Recuperación adaptativa Top-down (`--level theme`) +- [x] ⚡ Opción CLI de búsqueda temática (`--no-expand`) +- [x] 📊 Algoritmo de agrupación de componentes conexos (Implementación del paper xMemory) + +**v1.5 - Funciones básicas** +- [x] Arquitectura de memoria en dos capas (Nivel de proyecto + Nivel de usuario) +- [x] Enrutamiento de clasificación inteligente +- [x] Soporte para múltiples IDEs (Augment, Claude, Cursor, Gemini) +- [x] Herramienta de instalación CLI (`npx openmemory-plus install`) +- [x] Filtrado de información sensible +- [x] Soporte para múltiples proveedores de LLM (DeepSeek, MiniMax, ZhiPu, Qwen, OpenAI, Ollama) +- [x] Despliegue con Docker Compose en un clic +- [x] Configuración progresiva (Complementa archivos existentes en lugar de sobrescribirlos) +- [x] Configuración y validación automática de MCP + +
+ +--- + +## 🤝 Contribuciones + +¡Bienvenidas las contribuciones! Lee la [Guía de contribución](CONTRIBUTING.md) para saber cómo participar. + +```bash +# 克隆仓库 +git clone https://github.com/Alenryuichi/openmemory-plus.git +cd openmemory-plus + +# 安装依赖 +cd cli && npm install + +# 运行测试 +npm test + +# 本地开发 +npm run dev +``` + +--- + +## 📄 Licencia + +[MIT License](LICENSE) © 2026 TreeRen Chou + +--- + +## 🔗 Enlaces relacionados + +- [OpenMemory (mem0)](https://github.com/mem0ai/mem0) — Servicio de memoria subyacente +- [Qdrant](https://qdrant.tech/) — Base de datos vectorial +- [BGE-M3](https://huggingface.co/BAAI/bge-m3) — Modelo de incrustación multilingüe +- [Protocolo MCP](https://modelcontextprotocol.io/) — Model Context Protocol + +--- + +

+ Hecho con ❤️ para desarrolladores de Agentes de IA +