Claude Memory Optimizer

基于 Claude Code 架构的结构化记忆系统,支持四类分类与自动迁移。

已扫描
适合谁
使用 OpenClaw 的开发者、需要长期记忆管理的研究者
不适合谁
不熟悉 OpenClaw 环境的初学者、无需长期记忆功能的临时任务用户
国内可用性
需网络配置。可能需要网络配置或第三方服务可访问。
安装难度
新手友好(★☆☆)。基于终端操作、依赖、API Key 和本地环境要求的初步判断。

安装与下载

openclaw skills install @mystour/claude-memory-optimizer

Skill 说明

命令、参数、文件名以原文为准

Claude Memory 优化器

适用于 OpenClaw 的结构化记忆系统,支持四类分类与自动化迁移。

使用场景

  • 在 OpenClaw 中首次设置记忆系统
  • 从无结构的 memory/*.md 文件迁移到分类组织结构
  • 通过语义化的 frontmatter 提升记忆检索效果
  • 实现类似 Claude Code 的记忆架构

功能特性

  • 四类分类:user、feedback、project、reference
  • Frontmatter 元数据:结构化 name/description/type,支持语义搜索
  • 自动迁移:一键命令完成现有记忆文件的重构
  • 日志模式:可选的追加式每日日志(KAIROS 风格)

快速开始

安装

clawhub install claude-memory-optimizer

执行迁移

# 自动检测工作区
node ~/.openclaw/skills/claude-memory-optimizer/scripts/refactor-memory.js

# 或手动指定路径
node ~/.openclaw/skills/claude-memory-optimizer/scripts/refactor-memory.js ~/.openclaw/workspace

验证结果

ls -la ~/.openclaw/workspace/memory/
cat ~/.openclaw/workspace/MEMORY.md

记忆类型

类型用途示例
user用户角色、偏好、技能"数据科学家,偏好简洁回复"
feedback行为修正或确认"不要附加总结 — 用户可以自行阅读 diff"
project项目背景、决策、截止日期"论文截止日期:2026-06-01"
reference外部系统引用"Kaggle: https://kaggle.com/chenziong"

目录结构

memory/
├── user/          # 用户信息
├── feedback/      # 行为指导
├── project/       # 项目上下文
├── reference/     # 外部参考
└── logs/          # 追加式日志(可选)
    └── YYYY/
        └── MM/
            └── YYYY-MM-DD.md

记忆文件格式

每个记忆文件使用 frontmatter 元数据:

---
name: 数据科学背景
description: 用户是专注于可观测性和 LLM 的数据科学家
type: user
---

用户就读于北京工业大学与都柏林大学,GPA 3.95/4.2。
研究方向:LLM、AI Agent、MCP。

**技能:** Python、PyTorch、Transformers、NLP

**如何应用:** 使用数据科学术语,假设具备机器学习背景。

不应保存的内容

  • 代码模式、架构、文件路径(可从代码库推导)
  • Git 历史记录、最近变更(使用 git log
  • 调试解决方案(修复已存在于代码中)
  • 已存在于 CLAUDE.md 中的内容
  • 临时任务细节(仅在当前会话中有用)

配置项

OpenClaw 配置

{
  "agents": {
    "defaults": {
      "memorySearch": {
        "enabled": true,
        "provider": "local",
        "maxResults": 20,
        "minScore": 0.3
      },
      "compaction": {
        "memoryFlush": {
          "enabled": true,
          "softThresholdTokens": 4000
        }
      }
    }
  }
}

使用示例

保存用户偏好

用户:"记住,我偏好简洁回复,不要带结尾总结。"

AI:保存至 memory/feedback/reply-style.md

---
name: 回复风格偏好
description: 用户希望回复简洁,不带结尾总结
type: feedback
---

**规则:** 保持回复简洁,不添加结尾总结。

**原因:** 用户表示“我自己能看 diff”。

**如何应用:** 在完成任务后直接结束回应。

检索记忆

用户:"我之前关于数据库测试说过什么?"

AI:执行 memory_search query="database testing" → 返回 memory/feedback/db-testing.md

验证记忆

用户:"dong-thesis.md 中的实验设计是否仍然有效?"

AI:执行 grep 检查 → 发现过时信息 → 更新记忆文件。

迁移指南

迁移前

memory/
├── 2026-03-21.md
├── 2026-03-28.md
├── research-memory.md
└── video-memory.md

迁移后

memory/
├── project/
│   ├── 2026-03-21-.md
│   ├── 2026-03-28-.md
│   └── research-memory.md
├── reference/
│   └── video-memory.md
└── logs/2026/04/2026-04-02.md

高级功能

语义检索(未来)

async function findRelevantMemories(query: string, memoryDir: string) {
  const memories = await scanMemoryFiles(memoryDir);
  const selected = await selectRelevantMemories(query, memories);
  return selected.slice(0, 5); // 返回前 5 个相关记忆
}

检索时验证(未来)

在推荐记忆内容前:

  1. 若记忆提及文件名 → 使用 ls 验证是否存在
  2. 若记忆提及函数名 → 使用 grep 确认是否存在
  3. 若记忆与当前状态冲突 → 以当前观察为准,更新记忆

“记忆说 X 存在” ≠ “X 当前存在”

维护建议

每日(心跳)

  • memory/YYYY-MM-DD.md 追加内容
  • 记录决策、对话、学习心得

每周(回顾)

  • 阅读每日笔记
  • 将重要信息提炼至 MEMORY.md
  • 删除过时条目

每月(审计)

  • 回顾项目进展
  • 更新长期目标
  • 检查 .learnings/ 记录

故障排查

记忆未加载

  • 确保工作区根目录存在 MEMORY.md
  • 检查 agents.defaults.memorySearch.enabled = true
  • 重启 OpenClaw 网关

检索质量差

  • 在 frontmatter 中添加具体 description
  • 使用一致的关键字
  • 调整 minScore(数值越低,匹配范围越广)

迁移失败

  • 先备份 memory/ 目录
  • 使用 --dry-run 选项(如可用)
  • 检查文件权限

参考资料

  • Claude Code:src/memdir/(memdir.ts、memoryTypes.ts、findRelevantMemories.ts)
  • OpenClaw 文档:docs/concepts/memory.md
  • 相关技能:memory-setup-openclawelite-longterm-memory

许可证

MIT-0

M
@mystour

已收录 1 个 Skill

相关推荐