Install
openclaw skills install @thcjp/persistent-memory-engine-2|-. 适合需要persistent memory engine相关能力的开发场景,提供完整工作流程和配置指南. 该工具经过差异化增强,结合实际使用痛点进行了优化。Use。Use when 需要AI模型调用、智能对话、Agent编排、LLM应用时使用。不适用于需要100%确定性的关键决策。适用于独立开发者、企业团队和自动化工作流场景。
openclaw skills install @thcjp/persistent-memory-engine-2核心功能: 本技能提供完整工作流程和配置指南、化工作流场景等能力。
面向 AI Agent 的无限分层持久记忆系统,在内置记忆之上构建并行、可扩展、可检索的结构化本地存储,解决跨会话遗忘与记忆膨胀问题。本系统完全位于 ~/memory/,与内置 Agent 记忆并行运作,永不修改内置 MEMORY.md 与 workspace memory/ 目录.
用户自定义分类,无预设结构限制。常见分类如 projects/、people/、decisions/、knowledge/、collections/,每个条目以独立 Markdown 文件存储,支持 frontmatter 元数据(状态、版本、重要度、标签、关联条目、过期时间).
处理: 解析无限分层结构化存储的输入参数,完成核心逻辑,输出标准化响应数据. 输出: 返回无限分层结构化存储的响应数据,含执行状态与操作日志.
根索引 ~/memory/INDEX.md 列出所有分类 → 分类索引 ~/memory/{分类}/INDEX.md 列出该分类所有条目 → 条目文件本身。三层导航确保 500+ 文件规模也能 O(1) 定位,无需全量扫描.
处理: 解析三层索引体系的输入参数,完成核心逻辑,输出标准化响应数据. 输出: 返回三层索引体系的响应数据,含执行状态与操作日志.
input_params参数指定操作类型(创建/查询/导出)小规模(< 50 文件)用 grep 直接搜;大规模(50-500 文件)走索引导航;超大规模(500+ 文件)建议接入向量检索(语义回退)。按规模自动适配最优检索路径.
处理: 解析混合检索策略的输入参数,完成核心逻辑,输出标准化响应数据. 输出: 返回混合检索策略的响应数据,含执行状态与操作日志.
input_params参数指定操作类型(创建/查询/导出)每个条目经历"写入→激活→归档→遗忘"四阶段。超过 90 天未更新提示归档,归档超过 180 天无引用提示遗忘,过期条目移入 .trash/ 保留 30 天可恢复,避免记忆膨胀拖慢检索.
处理: 解析记忆生命周期管理的输入参数,完成核心逻辑,输出标准化响应数据. 输出: 返回记忆生命周期管理的响应数据,含执行状态与操作日志.
input_params参数指定操作类型(创建/查询/导出)写入前扫描同分类同主题条目,发现矛盾时不直接覆盖,保留旧版本并递增 version,主动提示用户"检测到冲突,已保留两版本"。从内置记忆单向同步,反向永不修改内置记忆.
处理: 解析冲突检测与版本化的输入参数,完成核心逻辑,输出标准化响应数据. 输出: 返回冲突检测与版本化的响应数据,含执行状态与操作日志.
input_params参数指定操作类型(创建/查询/导出)
能力覆盖范围:支持的场景关键词如下:解决跨会话遗忘、检索不准、记忆膨胀冲突的无、限分层持久记忆引、Agent、的无限分层持久记、忆系统、直击跨会话遗忘、新旧冲突四大痛点、适用于长周期项目、人脉网络、决策归档、领域知识库等场景、核心能力含三层索、适用关键词、长期记忆、跨会话记忆、记忆管理、记忆检索、持久化存储、persistent等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.| 场景类型 | 输入 | 输出 | 是否适用 |
|---|---|---|---|
| 长周期项目记忆 | 项目名 + 关键决策、技术栈、背景 | 结构化项目条目 + 索引 | ✅ 适用 |
| 人脉网络管理 | 姓名、公司、关系、上次互动 | 每人一档的完整档案 | ✅ 适用 |
| 决策推理归档 | 决策内容、备选方案、参与人 | 可按时间/主题回溯的决策库 | ✅ 适用 |
| 领域知识库构建 | 领域概念、学习笔记 | 按领域分层的知识树 | ✅ 适用 |
| 收藏与清单管理 | 收藏项、清单条目 | 可检索的收藏库 | ✅ 适用 |
| 多项目并行记忆 | 多个项目上下文 | 各自独立的项目条目 | ✅ 适用 |
不适用场景:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 持久记忆引擎处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
mkdir -p ~/memory
cat > ~/memory/INDEX.md << 'EOF'
# 记忆索引
# ...
| 分类 | 描述 | 条目数 | 更新时间 |
|---:|---:|---:|---:|
EOF
首次使用时询问用户需要存储什么,按需创建分类:
| 用户说... | 创建分类 |
|---|---|
| "我有很多项目" | ~/memory/projects/ |
| "我认识很多人" | ~/memory/people/ |
| "我想记录决策" | ~/memory/decisions/ |
| "我在学某领域" | ~/memory/knowledge/{领域}/ |
| "我收藏某类东西" | ~/memory/collections/{类型}/ |
当用户分享重要信息时:
~/memory/{分类}/{条目}.md(含 frontmatter)INDEX.md1. 查根索引 INDEX.md → 找到目标分类
2. 查分类 INDEX.md → 找到目标条目
3. 读取条目文件详情
4. 索引找不到再用 grep 全文搜索
响应解析: 完成完成后,查看输出响应确认任务状态。成功时输出包含解析摘要和响应数据;失败时根据错误信息排查问题,查阅错误解析章节获取恢复步骤.
技术栈:React + TypeScript + Tailwind 目标:构建客户管理系统
echo "| Alpha | active | 2026-07 | alpha.md |" >> ~/memory/projects/INDEX.md
代理响应:"已将 Alpha 项目记忆写入 `~/memory/projects/alpha.md` 并更新索引。"
### 示例 2:检索记忆并处理冲突(输入→输出)
**输入**:新会话中用户说"我之前偏好深色模式,现在改成浅色模式了"
**输出**(代理执行流程):
```text
1. 检索:cat ~/memory/INDEX.md → 找到 preferences 分类
2. cat ~/memory/preferences/INDEX.md → 找到 ui-preferences.md
3. 读取发现旧记录:"用户偏好深色模式(2026-06)"
4. 冲突检测:新信息与旧记录矛盾
5. 不直接覆盖,递增版本:
# ...
---
title: UI 偏好
version: 2
---
# ...
## 版本历史
- v1 (2026-06-01):用户偏好深色模式
- v2 (2026-07-18):用户偏好浅色模式(冲突,已确认最新)
代理响应:"检测到与旧记忆冲突(旧:深色模式,新:浅色模式),已保留两版本,当前版本号 v2。"
| 场景 | 原因 | 处理方式 |
|---|---|---|
| 找不到记忆条目 | 索引未同步更新 | 检查 INDEX.md 是否含该条目,手动补录 |
| 检索结果过多噪音大 | 单分类过大(> 100 条目) | 按状态/时间分裂为子分类,缩小检索范围 |
| 同一信息重复存储 | 写入前未执行去重检查 | 执行 grep 去重,合并重复条目 |
| 版本冲突混乱 | 长期未做月度维护 | 执行月度审查,与用户确认后合并或删除旧版本 |
| 记忆文件损坏/丢失 | 写入过程中断或磁盘错误 | 从 .trash/ 或 Git 备份恢复 |
| 误修改了内置 MEMORY.md | 违反隔离规则 | 立即恢复内置记忆,本系统只允许写入 ~/memory/ |
| 条目过期但仍被引用 | 自动归档误判 | 将条目 status 改回 active,移出 archived/ |
| 超大规模检索变慢 | 500+ 文件未接入语义检索 | 启用可选的向量检索增强(见依赖说明) |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由 Agent 内置 LLM 提供 |
文件系统(可写 ~/memory/) | 本地存储 | 必需 | 操作系统自带 |
| grep / find | 系统命令 | 必需 | 操作系统自带 |
| cat / mkdir / echo | 系统命令 | 必需 | 操作系统自带 |
| 向量数据库(Chroma/LanceDB/Qdrant) | 外部依赖 | 可选 | 超大规模(500+ 文件)语义检索增强时启用 |
| Transformers.js(本地 embedding) | 运行时库 | 可选 | 语义检索增强时启用 |
运行环境:Windows / macOS / Linux;支持 SKILL.md 的任意 AI Agent( Code / Cursor / Codex / CLI 等). API Key:核心功能无需任何 API Key;语义检索增强如用云向量服务,需对应服务 Key. 可用性分类:MD+EXEC(Markdown 指令驱动,需 exec 执行文件操作命令).
Q1:这会和我 Agent 自带的记忆冲突吗?
A:不会。本系统完全并行,位于 ~/memory/,永不修改内置 MEMORY.md 与 workspace memory/。内置记忆负责当前会话快速上下文,本系统负责长期深度与规模,两者协同.
Q2:记忆文件越来越多会不会很慢?
A:三层索引体系确保即使 500+ 文件也能快速定位。单分类 INDEX.md 超过 100 条目会自动分裂为子分类。超大规模建议接入向量检索(见依赖说明的可选项).
Q3:能不能多设备同步?
A:本技能不提供云同步。可通过 Git 或云盘同步 ~/memory/ 目录实现多设备。注意 .trash/ 与 .vectors/ 可加入 .gitignore.
Q4:冲突版本太多怎么办?
A:定期审查冲突条目,与用户确认后合并或删除旧版本。建议每月维护时处理。每个冲突都保留版本历史,不会丢失信息.
Q5:遗忘的数据能恢复吗?
A:遗忘阶段移到 ~/memory/.trash/,保留 30 天后彻底删除。30 天内可恢复。如需更长的保留期,可在 config.md 中调整 trash_retention_days.
~/memory/,无网络请求。多设备同步需用户自行通过 Git 或云盘实现,本技能不处理同步冲突.处理结果以结构化格式返回, 包含状态码、消息和数据字段.
| 风险类型 | 防范措施 |
|---|---|
| API密钥泄露 | 通过系统环境变量设置,严禁硬编码密钥 |
| 命令执行风险 | 执行命令受限于安全白名单,不拼接用户输入 |
| 网络通信安全 | 采用HTTPS加密传输并校验证书 |
| 敏感数据暴露 | 返回数据中不含凭证信息 |
使用前请确认已阅读依赖说明章节,确保运行环境满足安全要求。
| 操作场景 | 手动耗时 | 自动化耗时 | 效率提升 |
|---|---|---|---|
| 文件解析与提取 | 5-10分钟/个 | <5秒/个 | 60-120x |
| 批量文件处理(100个) | 8-16小时 | <5分钟 | 96-192x |
| API调用与响应解析 | 2-3分钟/次 | <1秒/次 | 120-180x |
| 多接口数据聚合 | 15-30分钟 | <10秒 | 90-180x |
| 命令执行与结果收集 | 3-5分钟/次 | <2秒/次 | 90-150x |
| 重复任务批量执行 | 因任务而异 | 线性缩减 | 5-50x |
| 错误排查与修复 | 10-30分钟 | <30秒 | 20-60x |
| 对比维度 | 持久记忆引擎 | 传统手动方式 | 通用脚本工具 |
|---|---|---|---|
| 自动化程度 | 全流程自动 | 完全手动 | 部分自动 |
| 错误处理 | 内置错误恢复 | 依赖人工经验 | 基本try-catch |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 解决跨会话遗忘、检索不准、记忆膨胀冲突的无限分层持久记忆引擎。面向 AI Age | 通用场景 | 通用场景 |
A1: 解决跨会话遗忘、检索不准、记忆膨胀冲突的无限分层持久记忆引擎。面向 AI Agent 的无限分层持久记忆系统,直击跨会话遗忘、检索不准、记忆膨胀、新旧冲突四大痛。支持文本指令和结构化参数输入,具体格式参考使用流程章节。
A2: 是的,部分功能需要配置对应平台的API Key。请在依赖说明章节查看具体要求,并通过环境变量安全配置。
A3: 检查命令参数是否正确,确认运行环境支持exec能力。如遇权限问题,请参照错误处理章节排查。
针对持久记忆引擎使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |