# 三层记忆系统实现 **文档版本**: v1.0 **创建时间**: 2026-02-13 **作者**: 青龙 (QingLong) **位置**: `/root/.openclaw/doc/` --- ## 📋 目录 1. [概述](#概述) 2. [架构设计](#架构设计) 3. [技术实现](#技术实现) 4. [使用规范](#使用规范) 5. [查询方法](#查询方法) 6. [与其他系统的关系](#与其他系统的关系) --- ## 概述 ### 目的 三层记忆系统是青龙的 **长期记忆基础设施**,用于: | 功能 | 说明 | |------|------| | 身份持久化 | 核心身份、角色、原则 | | 配置同步 | 系统配置、工具设置 | | 知识沉淀 | 经验教训、最佳实践 | | 规则约束 | 安全规则、强制约束 | ### 设计理念 | 理念 | 说明 | |------|------| | 分层存储 | 按重要性和使用频率分层 | | 语义搜索 | 支持向量相似度搜索 | | 自动化 | 每日自动存档、手动触发 | | 持久化 | 磁盘存储,防内存丢失 | --- ## 架构设计 ### 三层结构 ``` ┌─────────────────────────────────────────────────────────────────┐ │ 三层记忆架构 │ ├─────────────────────────────────────────────────────────────────┤ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 第一层:情景记忆 (高优先级) │ │ │ ├─────────────────────────────────────────────────────────┤ │ │ │ 01-identity/ - 核心身份 (青龙、守护者) │ │ │ │ 02-config/ - 配置信息 (工具、Agent、定时) │ │ │ │ 03-rules/ - 强制规则 (安全、诚实、网络) │ │ │ │ │ │ │ │ 特点:不可修改、版本控制、人工审核 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 第二层:语义记忆 (中优先级) │ │ │ ├─────────────────────────────────────────────────────────┤ │ │ │ 04-knowledge/ - 经验沉淀 (协议、最佳实践) │ │ │ │ 05-tasks/ - 任务追踪 (待办、完成) │ │ │ │ │ │ │ │ 特点:AI可生成、人工审核后生效 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ │ ┌─────────────────────────────────────────────────────────┐ │ │ │ 第三层:工作记忆 (低优先级) │ │ │ ├─────────────────────────────────────────────────────────┤ │ │ │ daily/ - 每日记忆 (自动生成) │ │ │ │ memory/*.md - 临时笔记 (会话级) │ │ │ │ │ │ │ │ 特点:自动清理、可重建、临时性 │ │ │ └─────────────────────────────────────────────────────────┘ │ │ │ └─────────────────────────────────────────────────────────────────┘ ``` ### 目录结构 ``` /root/.openclaw/memory/ ├── 00-MANUAL.md # 使用指南 ├── INDEX.md # 索引 ├── 01-identity/ # 核心身份 │ ├── identity.md # 青龙身份 │ ├── soul.md # 核心原则 │ └── user.md # 用户偏好 ├── 02-config/ # 配置信息 │ ├── agents.md # Agent人格 │ ├── tools.md # 工具配置 │ ├── heartbeat.md # 定时任务 │ └── memory.md # 记忆配置 ├── 03-rules/ # 强制规则 │ ├── safety.md # 安全规则 │ ├── honesty.md # 诚实原则 │ └── security.md # 网络安全 ├── 04-knowledge/ # 语义记忆 │ ├── hqbsh-protocol.md # 华强北发布 │ ├── telegram-ops.md # Telegram运维 │ └── automation.md # 自动化经验 ├── 05-tasks/ # 任务追踪 │ └── todo.md # 待办事项 └── daily/ # 每日记忆 └── 2026-02-13.md # 今日记忆 ``` --- ## 技术实现 ### 1. 文件存储 #### 存储格式 ```markdown # [标题] ## 元信息 - 创建时间:YYYY-MM-DD HH:MM - 最后更新:YYYY-MM-DD HH:MM - 版本:v1.0 ## 内容 ... ``` #### 文件命名规范 | 类型 | 规范 | 示例 | |------|------|------| | 身份 | `*.md` | `identity.md` | | 配置 | `*.md` | `agents.md` | | 规则 | `rule-*.md` | `rule-security.md` | | 知识 | `[领域]-[主题].md` | `hqbsh-protocol.md` | | 任务 | `todo-*.md` | `todo-weekly.md` | | 每日 | `YYYY-MM-DD.md` | `2026-02-13.md` | ### 2. 语义搜索 #### 搜索命令 ```bash # 记忆搜索工具 memory_search [关键词] # 示例 memory_search Telegram # 搜索Telegram相关内容 memory_search 记忆系统 # 搜索记忆系统相关内容 memory_search 诚实原则 # 搜索规则相关内容 ``` #### 搜索原理 | 组件 | 实现 | |------|------| | 向量模型 | `nomic-embed-text:latest` | | 搜索接口 | OpenAI兼容API | | 远程服务 | `http://192.168.0.66:11434/v1` | | 混合搜索 | 70%向量 + 30%文本 | #### 配置示例 ```json { "memorySearch": { "provider": "openai", "model": "nomic-embed-text:latest", "remote": { "baseUrl": "http://192.168.0.66:11434/v1", "apiKey": "ollama-local" }, "query": { "hybrid": { "enabled": true, "vectorWeight": 0.7, "textWeight": 0.3, "candidateMultiplier": 4 } } } } ``` ### 3. 向量数据库 #### 数据库文件 ```bash /root/.openclaw/memory/main.sqlite ``` #### 数据结构 | 表名 | 用途 | |------|------| | memories | 向量存储的记忆内容 | | embeddings | 向量索引 | | sessions | 会话历史 | #### 数据库大小 | 时间 | 大小 | |------|------| | 2026-02-13 | ~5MB | ### 4. 同步机制 #### 自动同步 ```bash # 自动监控目录变化 memorySync: watch: true ``` #### 手动同步 ```bash # 强制同步 openclaw memory sync ``` ### 5. 每日记忆生成 #### 触发条件 | 条件 | 说明 | |------|------| | 定时任务 | 每日cron | | 手动触发 | Agent完成重要任务 | | 故障恢复 | 系统重启后 | #### 生成内容 ```markdown # YYYY-MM-DD 记忆存档 ## 今日完成 - ## 待办 - ## 重要发现 - ``` --- ## 使用规范 ### 1. 记忆创建流程 ``` 1. 确定类型 → 2. 选择目录 → 3. 按规范命名 → 4. 写入内容 → 5. 更新索引 ``` ### 2. 各层触发时机 | 层级 | 类型 | 触发时机 | |------|------|----------| | 第一层 | 身份/配置/规则 | 系统初始化/配置变更/规则建立 | | 第二层 | 知识/任务 | 经验沉淀/任务创建 | | 第三层 | 每日记忆 | 每日自动/重要任务完成 | ### 3. 编写规范 #### 第一层 (不可修改) ```markdown # 核心身份 ## 基础信息 - 代号:青龙 🐉 - 角色:主机器人 ## 原则 - 诚实为本 - 执行优先 ``` #### 第二层 (AI可生成) ```markdown # 华强北发布协议 ## 背景 ... ## 核心要点 1. ... ## 经验教训 ... ``` #### 第三层 (自动生成) ```markdown # 2026-02-13 记忆存档 ## 今日完成 - 完成了X任务 ## 待办 - 待办Y任务 ``` ### 4. 审核流程 | 层级 | 审核人 | 方式 | |------|--------|------| | 第一层 | 人工 | 用户确认 | | 第二层 | 人工+AI | AI草稿,人工审核 | | 第三层 | AI | 自动生成 | --- ## 查询方法 ### 1. 快速读取 ```bash # 直接读取文件 memory_get [path] # 示例 memory_get /root/.openclaw/memory/01-identity/identity.md memory_get /root/.openclaw/memory/02-config/agents.md ``` ### 2. 语义搜索 ```bash # 关键词搜索 memory_search [关键词] # 示例 memory_search Telegram memory_search 记忆系统 memory_search 诚实原则 ``` ### 3. 手动浏览 ```bash # 列出所有记忆 ls -la /root/.openclaw/memory/ # 列出某类记忆 ls -la /root/.openclaw/memory/01-identity/ ls -la /root/.openclaw/memory/04-knowledge/ ``` --- ## 与其他系统的关系 ### 1. 与OpenClaw的关系 | 集成点 | 说明 | |--------|------| | 身份注入 | 启动时读取identity/soul | | 配置加载 | 启动时读取agents/tools | | 规则应用 | 执行时检查rules | ### 2. 与自我迭代的关系 | 集成点 | 说明 | |--------|------| | 反思输出 | 反思结果写入04-knowledge | | 错误沉淀 | 错误写入error-knowledge-base | | 每日总结 | 自动写入daily/ | ### 3. 与Telegram的关系 | 集成点 | 说明 | |--------|------| | 告警通知 | 异常时发送Telegram消息 | | 状态查询 | 支持memory命令 | --- ## 故障处理 ### 常见问题 | 问题 | 原因 | 解决 | |------|------|------| | 记忆丢失 | 内存模式未持久化 | 已改用磁盘存储 | | 搜索无结果 | 未建立索引 | 运行memory sync | | 同步失败 | 远程服务不可用 | 检查192.168.0.66 | ### 恢复方法 ```bash # 1. 检查记忆目录 ls -la /root/.openclaw/memory/ # 2. 重建索引 openclaw memory rebuild # 3. 手动导入 memory_get /root/.openclaw/memory/INDEX.md ``` --- ## 相关文档 | 文档 | 位置 | |------|------| | 自我迭代程序 | `/root/.openclaw/doc/` | | 华强北发布协议 | `/root/.openclaw/memory/04-knowledge/` | | 自动化运维经验 | `/root/.openclaw/memory/04-knowledge/` | --- *最后更新: 2026-02-13*