技能详情(站内镜像,无评论)
作者:0r@nge @0range-x
许可证:MIT-0
MIT-0 ·免费使用、修改和重新分发。无需归因。
版本:v2.1.0
统计:⭐ 0 · 290 · 2 current installs · 2 all-time installs
⭐ 0
安装量(当前) 2
🛡 VirusTotal :良性 · OpenClaw :可疑
Package:0range-x/triple-layer-memory
安全扫描(ClawHub)
- VirusTotal :良性
- OpenClaw :可疑
OpenClaw 评估
该 skill 的实现大体与“记忆管理”声明一致,但元数据低估了它对本地配置与工作区文件的访问(未声明的配置路径/修改建议),以及文档中包含可能导致不必要权限泄露的 GitHub 上传建议,用户在安装前应审查并备份相关文件。
目的
Skill 名称/描述与代码和运行时说明一致:脚本实现了三层记忆(会话压缩、文件层存储、衰减/归档、频道隔离),并提供自动/手动 API(Python 函数和 CLI)。没有要求与记忆管理无关的网络服务或云凭据,功能与目的相符。
说明范围
SKILL.md 指示创建/写入 workspace 下大量文件(MEMORY.md、memory/*.md、heartbeat-state.json 等),修改 AGENTS.md、HEARTBEAT.md 以实现自动化,并建议修改 ~/.openclaw/extensions/openclaw-mem0/index.ts 以实现频道隔离。读取/写入本地配置和记忆文件是实现目标所需,但注意:它会读取用户主目录下的 ~/.openclaw/openclaw.json(scripts/memory_consistency.py),并建议将上传到 GitHub 的流程(docs/github-upload-guide.md)使用高权限的 Personal Access Token;这些都扩大了操作范围,需用户同意与审查。
安装机制
Registry 中无 install spec;代码文件随 skill 一并提供,init.sh 用于在本地 workspace 中创建文件。没有通过可疑远程下载或提权安装步骤,风险相对较低。
证书
元数据申明没有要求任何配置路径或环境变量,但脚本会读取 ~/.openclaw/openclaw.json、并建议编辑 ~/.openclaw/extensions/openclaw-mem0/index.ts;这是与注册元数据不一致的行为。虽然读取 openclaw.json 主要用于检查频道 ID(memory_consistency.py)并非直接窃取凭据,但该配置文件可能包含其它敏感绑定;SKILL.md/脚本没有在元数据中声明对这些路径的需求,存在透明性问题。
持久
Skill 本身不强制总是启用(always:false),也没有要求平台级权限。但文档鼓励修改 AGENTS.md、HEARTBEAT.md 以及 Mem0 插件以实现自动加载/隔离,这会使其长期影响 agent 启动与心跳流程。用户若按文档操作,会为该 skill 建立持续自动化行为,应在知情下允许。
安装(复制给龙虾 AI)
将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。
请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Triple Layer Memory」。简介:三层记忆系统自动管理长对话记忆,支持跨会话检索、结构化存储和智能压缩,提升记忆连续性与上下文管理效率。。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/0range-x/triple-layer-memory/SKILL.md
(来源:yingzhi8.cn 技能库)
SKILL.md
# Triple-Layer Memory System
三层记忆系统 - 解决 AI Agent 长对话记忆丢失和上下文管理问题
## 概述
这是一个完整的三层记忆管理系统,包含:
- **Layer 1: Mem0**(向量检索)- 跨会话召回
- **Layer 2: 文件层**(结构化存储)- 索引/项目/经验/日志四层
- **Layer 3: Session 管理层**(智能压缩)- 自动压缩、智能加载
## 核心功能
### 1. Session 自动压缩 + 自动切换(兼容版)
- token 达到 150k 或上下文占用达到 80% 时触发
- 先总结关键信息并写入记忆文件(可用时)
- 再触发新会话切换提示,避免上下文爆满
- 保留最近 50k tokens 原始对话
### 2. 记忆写入时机优化
- 关键时机立即写入(完成任务、做出决策、变更配置)
- 不等 session 结束,减少记忆丢失风险
### 3. 跨 Session 记忆连续性
- 新 session 启动时自动加载相关记忆
- 根据频道和任务智能检索
- 避免重复询问已知信息
### 4. 记忆遗忘机制
- 语义去重(相似度 > 0.88 拒绝写入)
- 高频命中自动升权
- 低权记忆自动归档
- 关键记忆永久保护(importance >= 8)
### 5. 频道级记忆隔离
- boss 频道:全量记忆访问
- 子频道:独立命名空间(userId::channelKey)
## 安装
```bash
# 使用 clawhub 安装
clawhub install triple-layer-memory
# 或手动安装
cd ~/Desktop/openclaw-workspace/skills
git clone https://github.com/0range-x/triple-layer-memory.git
```
## 初始化
安装后,运行初始化脚本:
```bash
cd ~/Desktop/openclaw-workspace
bash skills/triple-layer-memory/scripts/init.sh
```
这会创建:
- `MEMORY.md` - 核心索引
- `memory/projects.md` - 项目状态追踪
- `memory/lessons.md` - 经验教训库
- `memory/YYYY-MM-DD.md` - 日志文件
- `MEMORY_ARCHITECTURE.md` - 架构文档
## 使用
### 自动功能(无需手动调用)
1. **Session 启动时**:自动加载最近 2 天的日志和核心索引
2. **关键时机**:自动写入记忆(完成任务、做出决策等)
3. **Token 达到 150k 或上下文达到 80%**:自动压缩并触发会话切换
4. **每周一次**:自动执行记忆衰减和归档
### 手动功能
#### 写入记忆
```python
from scripts.auto_memory_write import auto_write_memory
auto_write_memory(
summary="完成了某个重要任务",
importance=8,
channel="boss",
tags=["任务完成", "部署"],
project="项目名称",
files=["path/to/file.py"],
lessons="遇到的问题和解决方案"
)
```
#### 压缩 Session
```python
from scripts.session_compress import compress_session
compress_session(
session_summary="本次对话的关键信息总结",
channel="boss"
)
```
#### 记忆衰减和归档
```bash
python scripts/memory_decay.py
```
## 配置
### AGENTS.md
在你的 workspace 根目录创建或更新 `AGENTS.md`,添加:
```markdown
## Session 启动流程
每次会话开始时,按以下顺序自动执行:
1. 读取 `SOUL.md` - 加载性格和行为风格
2. 读取 `USER.md` - 了解用户背景和偏好
3. 读取 `memory/YYYY-MM-DD.md` - 加载今天和昨天的日志
4. 如果是主会话:额外读取 `MEMORY.md` - 加载核心记忆索引
5. **智能记忆加载**:
- 根据频道名称,优先加载该频道的相关记忆
- 如果用户提到具体项目或任务,调用 `memory_search` 检索相关记忆
- 如果是新 session 但延续之前的工作,自动加载最近的相关上下文
```
### HEARTBEAT.md
在你的 workspace 根目录创建或更新 `HEARTBEAT.md`,添加:
```markdown
## Session Token 检查(每次心跳执行)
检查当前 session 的 token 使用量(从 system warning 中获取)。
如果达到 150k tokens 或上下文达到 80%:
1. 调用 `scripts/session_compress.py` 获取压缩提示
2. 使用 LLM 总结对话历史中的关键信息
3. 将总结写入 `memory/YYYY-MM-DD.md`(若无记忆系统则至少生成交接摘要)
4. 调用 `scripts/session_rotate.py <used_tokens> <max_tokens> <channel>` 判断是否触发轮换
5. 若触发,输出 `[NEW_SESSION] 上下文达到80%,自动切换新会话`
```
### Mem0 频道隔离
如果使用 Mem0,需要配置频道级命名空间隔离。
编辑 `~/.openclaw/extensions/openclaw-mem0/index.ts`,参考 `docs/mem0-channel-isolation.md`。
## 文件结构
```
workspace/
├── MEMORY.md # 核心索引
├── MEMORY_ARCHITECTURE.md # 架构文档
├── AGENTS.md # 启动流程和规范
├── HEARTBEAT.md # 心跳检查逻辑
├── memory/
│ ├── projects.md # 项目状态追踪
│ ├── lessons.md # 经验教训库
│ ├── 2026-03-04.md # 日志文件
│ ├── heartbeat-state.json # 心跳状态
│ ├── pinned.json # 白名单记忆
│ └── .archive/ # 归档目录
└── scripts/
├── session_compress.py # Session 自动压缩
├── session_rotate.py # 80%上下文触发会话轮换
├── auto_memory_write.py # 自动记忆写入
├── memory_decay.py # 记忆衰减和归档
├── memory_meta.py # 元数据管理
├── memory_consistency.py # 一致性校验
└── channel_memory.py # 频道记忆路由
```
## 记忆格式
### 日志格式(memory/YYYY-MM-DD.md)
```markdown
## HH:MM 项目名称
【项目:名称】 事件标题
结果:一句话概括
相关文件:文件路径
经验教训:要点(如有)
检索标签:#tag1 #tag2
<!-- meta: importance=N access=0 created=YYYY-MM-DD last_accessed=YYYY-MM-DD channel=CHANNEL -->
```
### 项目格式(memory/projects.md)
```markdown
### 项目名称
**状态**:运行中/已完成/归档
**最后更新**:YYYY-MM-DD
**描述**:项目简介
**关键文件**:
- 文件路径1
- 文件路径2
**待办**:待办事项列表
**备注**:其他说明
```
### 经验格式(memory/lessons.md)
```markdown
### 问题标题
**问题**:问题描述
**原因**:根本原因
**解决方案**:解决方法
**相关文件**:文件路径
**日期**:YYYY-MM-DD
**标签**:#tag1 #tag2
```
## 性能指标
- **Session 寿命**:从 ~100k tokens 提升到 ~150k tokens
- **记忆丢失率**:从 ~30% 降低到 ~5%
- **新 session 启动时间**:从 ~10s 降低到 ~3s
- **记忆检索准确率**:从 ~60% 提升到 ~85%
## 最佳实践
1. **日志写入**:记录结论而非过程
2. **项目变更**:同步更新 memory/projects.md
3. **遇到问题**:记录到 memory/lessons.md
4. **索引变化**:更新 MEMORY.md
5. **元数据必填**:每条记忆必须带 importance、channel、tags
6. **关键时机写入**:不等 session 结束,立即写入
7. **定期维护**:每周执行记忆衰减和归档
## 故障排查
### Session 没有自动压缩或自动切换
- 检查 HEARTBEAT.md 是否包含 token 与上下文占用检查逻辑
- 检查 scripts/session_compress.py 与 scripts/session_rotate.py 是否存在
- 查看 system warning 中的 token 使用量和上下文占用率
### 记忆没有自动写入
- 检查 scripts/auto_memory_write.py 是否存在
- 确认 importance >= 7 或满足其他触发条件
- 查看 memory/YYYY-MM-DD.md 是否有新条目
### 新 session 没有加载记忆
- 检查 AGENTS.md 是否包含启动流程
- 确认 memory/YYYY-MM-DD.md 文件存在
- 查看 MEMORY.md 是否有内容
### 记忆被错误归档
- 检查 importance 是否 >= 8(永久保护)
- 查看 memory/pinned.json 白名单
- 运行 `python scripts/memory_decay.py` 查看权重计算
## 贡献
欢迎提交 Issue 和 Pull Request!
## 许可证
MIT License
## 作者
小橘 (vulcanx_14970)
## 致谢
- [Mem0](https://github.com/mem0ai/mem0) - 向量检索框架
- [OpenClaw](https://openclaw.ai) - AI Agent 框架