{"skill":{"slug":"mnemo","displayName":"File-system + vector-powered memory skill for OpenClaw — semantic recall, daily journaling, and safeguard flushing, all running locally via Ollama","summary":"完整的记忆系统 - 文件系统记忆 + 支持搜索 + 自动加载 + 内存刷新","description":"---\nname: memory-system\ndescription: 完整的记忆系统 - 文件系统记忆 + 支持搜索 + 自动加载 + 内存刷新\n---\n\n# Memory System 🧠\n\n> 完整的记忆系统 - 文件系统记忆 + 支持搜索 + 自动加载 + 内存刷新\n\n## 特性\n\n- 📁 **文件系统存储** - 基于 Markdown 文件，无数据库依赖，可读、可手动编辑、易备份\n- 🔍 **支持搜索** - 支持语义搜索（需配置 Ollama）；未配置时自动降级为关键词匹配\n- ⚡ **自动加载** - 会话启动时自动加载相关记忆，无需手动触发\n- 🏠 **群组隔离** - 支持多群组独立记忆，群组之间数据互不干扰\n- 💾 **Memory Flush** - 上下文接近阈值时自动持久化，防止信息丢失\n- 🔒 **安全防护** - 路径验证防止目录遍历攻击，确保文件操作仅限于 memoryDir\n\n---\n\n## 安全说明\n\n- 所有文件读写操作都经过路径验证\n- 禁止 `../` 目录遍历\n- 禁止访问 memoryDir 外的任何文件\n- 绝对路径和符号链接都会被解析并验证\n\n---\n\n## 安装\n\n```bash\nclawhub install memory-system\n```\n\n---\n\n## 配置\n\n在 `openclaw.json` 中配置：\n\n```json\n{\n  \"skills\": {\n    \"memory-system\": {\n      \"memoryDir\": \"~/.openclaw/workspace/memory\",\n      \"flushMode\": \"safeguard\",\n      \"softThresholdTokens\": 300000,\n      \"vectorEnabled\": true,\n      \"embeddingModel\": \"nomic-embed-text\"\n    }\n  }\n}\n```\n\n### 配置项说明\n\n| 配置项 | 类型 | 默认值 | 说明 |\n|--------|------|--------|------|\n| `memoryDir` | string | `~/.openclaw/workspace/memory` | 记忆文件存储目录 |\n| `flushMode` | string | `safeguard` | Flush 触发模式，见下方说明 |\n| `softThresholdTokens` | number | `300000` | 触发自动 Flush 的 token 软阈值 |\n| `vectorEnabled` | boolean | `false` | 是否启用语义搜索 |\n| `embeddingModel` | string | `nomic-embed-text` | Ollama 使用的嵌入模型 |\n\n### flushMode 说明\n\n| 值 | 行为 |\n|----|------|\n| `safeguard` | 上下文 token 超过 `softThresholdTokens` 时，自动将当前会话记忆持久化到文件，防止丢失（推荐） |\n| `manual` | 仅在显式调用 `memory_flush` 时触发持久化 |\n| `off` | 禁用 Flush，记忆仅存在于当前会话 |\n\n---\n\n## 工具\n\n### memory_search\n\n语义搜索记忆文件，返回最相关的记忆片段。\n\n**参数**\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `query` | string | ✅ | 搜索关键词或自然语言描述 |\n| `group` | string | ❌ | 限定搜索的群组，不传则搜索全局 |\n| `topK` | number | ❌ | 返回结果数量，默认 `5` |\n\n**示例**\n\n```json\n{\n  \"query\": \"用户上次提到的项目需求\",\n  \"group\": \"project-a\",\n  \"topK\": 3\n}\n```\n\n> 若 `vectorEnabled` 为 `false` 或 Ollama 不可用，自动降级为关键词全文匹配。\n\n---\n\n### memory_get\n\n读取指定记忆文件的完整内容。\n\n**参数**\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `file` | string | ✅ | 记忆文件路径（相对于 `memoryDir`） |\n| `group` | string | ❌ | 群组名称，用于定位文件 |\n\n**示例**\n\n```json\n{\n  \"file\": \"user-preferences.md\",\n  \"group\": \"project-a\"\n}\n```\n\n---\n\n### memory_write\n\n写入或追加内容到记忆文件。文件不存在时自动创建。\n\n**参数**\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `file` | string | ✅ | 目标文件路径（相对于 `memoryDir`） |\n| `content` | string | ✅ | 写入的 Markdown 内容 |\n| `group` | string | ❌ | 群组名称 |\n| `mode` | string | ❌ | `overwrite`（覆盖）或 `append`（追加），默认 `append` |\n\n**示例**\n\n```json\n{\n  \"file\": \"user-preferences.md\",\n  \"content\": \"## 偏好设置\\n- 语言：中文\\n- 风格：简洁\",\n  \"group\": \"project-a\",\n  \"mode\": \"append\"\n}\n```\n\n---\n\n### memory_flush\n\n手动触发记忆持久化，将当前会话中的记忆写入文件系统。\n\n**参数**\n\n| 参数 | 类型 | 必填 | 说明 |\n|------|------|------|------|\n| `group` | string | ❌ | 仅持久化指定群组，不传则持久化全部 |\n\n**示例**\n\n```json\n{\n  \"group\": \"project-a\"\n}\n```\n\n> 建议在长会话结束前手动调用一次，确保数据不丢失。\n\n---\n\n## 搜索配置（可选）\n\n语义搜索依赖本地 [Ollama](https://ollama.com) 服务，需提前安装并拉取嵌入模型：\n\n```bash\n# 安装 Ollama（参考官网）\nollama pull nomic-embed-text\n```\n\n确认 Ollama 服务正在运行后，将 `vectorEnabled` 设置为 `true` 即可启用。\n\n**未配置 Ollama 时**：系统自动降级为关键词全文匹配，不影响基本功能使用。\n\n---\n\n## 注意事项\n\n- 同一群组内并发写入时，以最后一次写入为准（last-write-wins），建议避免并发写入同一文件\n- `memoryDir` 目录需要有读写权限，首次使用时会自动创建\n- 记忆文件为标准 Markdown 格式，可用任意编辑器手动查看和修改\n\n---\n\n**作者**：团宝 (openclaw)  \n**版本**：1.0.2\n","tags":{"latest":"1.0.4","memory":"1.0.3"},"stats":{"comments":0,"downloads":730,"installsAllTime":1,"installsCurrent":1,"stars":3,"versions":3},"createdAt":1773973778779,"updatedAt":1778492049576},"latestVersion":{"version":"1.0.4","createdAt":1773977531663,"changelog":"- 增强了安全性，增加路径验证和目录遍历防护，防止非授权文件访问\n- 补充安全说明，明确禁止访问 memoryDir 外部路径和符号链接绕过\n- 其他功能和工具保持不变","license":"MIT-0"},"metadata":null,"owner":{"handle":"minmengxhw-cpu","userId":"s171n50ja894a51q7a162ztvws83gbtb","displayName":"minmengxhw-cpu","image":"https://avatars.githubusercontent.com/u/265757721?v=4"},"moderation":{"isSuspicious":false,"isMalwareBlocked":false,"verdict":"clean","reasonCodes":["review.llm_review"],"summary":"Review: review.llm_review","engineVersion":"v2.4.24","updatedAt":1780089992396}}