安全扫描
OpenClaw
安全
medium confidence该技能的需求与运行时说明基本符合其声明用途(一个双层内存管理器);启用前需注意少量元数据不一致及某些文件写入行为。
评估建议
该技能如其所述:管理 L1/L2 memory 文件,提升/降级条目,并维护 hygiene.json。安装前请确认:
1. 核对 manifest 与 registry 元数据(manifest 期望 'grep' 并引用 GitHub repo);
2. 检查现有 MEMORY.md、memory/*.md 及 hygiene.json,移除不想让技能移动或修改的敏感数据;
3. 接受提升操作会删除 L2 accessLog 条目,归档仅移动文件(非删除)——必要时先备份;
4. 若在多租户或受限环境运行,确保代理进程有权写入/移动这些工作区文件,且操作合规。
若元数据不符或归档/降级行为与预期不符,启用前请向发布者索取修正后的 manifest 或说明。...详细分析 ▾
ℹ 用途与能力
该技能内部逻辑一致:内存管理器确实需要读取、搜索、压缩、提升、降级、归档和记录内存文件。
一处不一致:提交中的顶层元数据未列出必需的二进制文件,但 manifest.json 和 README 明确推荐/要求 'grep' 二进制文件。
manifest 还声明了 GitHub 主页/仓库,而注册元数据却显示“Homepage: none”。
这些可能只是记录问题,但应予以统一。
✓ 指令范围
SKILL.md 将活动限制在 agent 工作区内:MEMORY.md、memory/*.md、memory/archive/ 和 hygiene.json。它规定读写操作、升降级、将文件移至 archive 以及更新 hygiene.json。建议使用本地 grep 进行只读扫描。指令不引用外部端点或无关系统路径。注意:该技能会删除 accessLog 条目并移动文件——这是 memory manager 的预期行为,但会对已存储的 agent 数据产生持久副作用。
✓ 安装机制
仅为指令,无安装规范与代码文件,安装期间不会下载或写入任何内容,降低供应链风险。清单提及 GitHub repo 仅为信息展示,不含任何安装步骤。
✓ 凭证需求
该技能不请求任何环境变量或外部凭据。其 I/O 仅限于工作区文件(MEMORY.md、memory/*.md、hygiene.json)。不存在无关的凭据请求。
✓ 持久化与权限
该技能未标记为“always”,采用常规模型调用。它在 agent 工作区内执行持久化操作(写入、移动、日志编辑),但不修改其他技能或系统级配置。文件级权限对 memory-management 技能而言属正常需求。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv1.0.32026/4/22
元数据对账与行为澄清
● Pending
安装命令
点击复制官方npx clawhub@latest install layered-memory-manager
镜像加速npx clawhub@latest install layered-memory-manager --registry https://cn.longxiaskill.com
技能文档
启动模式 vs 清理模式:上段描述为启动指南。仅在进行清理、维护或架构变更时才阅读下方完整技能——不要在每次会话启动时都读。
内存架构
内存为两层缓存系统:L1(热)+ L2(冷)。 MEMORY.md = L1 热缓存:高频访问内容内联存储,快速检索,同时作为 L2 文件索引。 *memory/.md = L2 冷存储:完整详细内容存放于此。 hygiene.json = 访问追踪*:位于memory/hygiene.json(相对于 workspace)。记录所有访问次数、晋升与降级。 ``
MEMORY.md (L1 热缓存 + 索引)
├── [内联热记忆及元数据] ← 高频使用,快速访问
└── Layer Index ← 指向 L2 文件
memory/.md (L2 冷存储)
├── identity.md ← 完整身份详情
├── user.md ← 完整用户档案
├── preferences.md ← 全部偏好
├── knowledge.md ← 稳定事实、规则、经验
├── decisions.md ← 带上下文的决策
├── skills.md ← 已安装技能
├── context.md ← 进行中项目
├── hygiene.json ← 访问追踪(非 layer 文件)
└── YYYY-MM-DD.md ← 每日会话日志
memory/archive/ ← 已归档冷内容
`
各层职责
| 层 | L1(热缓存) | L2(冷存储) |
|---|---|---|
| Identity | 姓名、灵魂、核心原则 | 完整人格详情 |
| User | 姓名、平台、语言 | 完整用户档案 |
| Preferences | 核心偏好 | 全部偏好 |
| Knowledge | 高频访问事实 | 稳定事实、规则、经验 |
| Decisions | 近期关键决策 | 全部带上下文决策 |
| Skills | 已安装技能、使用原则 | 详细技能文档 |
| Context | 进行中项目 | 完整项目详情 |
| Daily | — | 原始会话日志 |
| Hygiene | — | hygiene.json(单独追踪) | 检索策略
以下为行为准则,非死板流程。目标是自律的回忆习惯,而非机械分层。
首选:全局 memory_search
以 memory_search 为主要回忆工具——速度快且覆盖所有层。 次选:分层意识
当 memory_search 返回不确定或部分结果时:
- 检查 MEMORY.md L1 热缓存确认事实
*对memory/.md使用grep_search,在 L2 中精确匹配关键字或模式(比完整读文件快)- 查阅 L2 文件获取完整上下文
- 若仍未解决,检查每日日志
何时使用 memory_get
memory_search或grep_search结果不确定,需验证确切内容- 已知文件/位置
- 在清理检查时确认 L1↔L2 同步状态
行为规则
绝不假设——回答记忆问题前必先运行memory_search决策前自检(强制)——执行任何修改环境的工具(如run_shell_command、replace)前,必须快速memory_search或grep_search相关偏好或既往决策。若存在项目特定记忆,绝不使用模型默认值。- L1/L2 绑定——L1 是 L2 的派生缓存;二者从不独立。任何内容变更必先写 L2,再同步 L1。不存在仅编辑 L1 的情况。
- 分层思考,而非扫文件——清楚各层存放内容;搜索信号弱时检查 L1/L2
L2 → L1 晋升机制
触发条件
当内容满足以下任一条件即晋升至 L1:
访问频率——hygiene.json中accessLog[L2-key].sessions.length >= 3(3 个以上独立会话访问过该 L2 条目)- 上下文关键性——内容对每会话皆必需(如用户姓名、核心原则)
- 用户明确要求——用户说“记住这个”、“永远牢记”
- 单会话快速重访——同一会话内再次需要同一 L2 内容
晋升流程
- 从 L2 文件读取完整内容
- 将精简内联版本写入 MEMORY.md 对应层节
- 保持 L2 不变(真相源保持完整)
- 为 L1 条目添加晋升元数据 tag(见下方 Tag 格式)
从accessLog` 移除该条目**——L2→L1 晋升对该 L2 key 为终点;L1 访问通过 L1 节追踪