每日备份 2026-06-10 12:57:13
This commit is contained in:
1 parent
fda2ccb8c2
commit
3d2e638c6a
244 files changed
+58890
-3
No files matched your search
@@ -0,0 +1,426 @@
|
||||
# 三层记忆系统实现
|
||||
|
||||
**文档版本**: 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*
|
||||
Reference in new issue
Block a user