首页龙虾技能列表 › simple-memory-skill — 本地零依赖 AI 记忆系统

simple-memory-skill — 本地零依赖 AI 记忆系统

v1.0.0

零依赖的本地 AI 记忆系统,无需 API 密钥。纯本地存储,配备智能搜索。适用于所有环境,提供完全私密的本地存储和智能搜索功能,适合隐私敏感用户、离线开发和特定数据政策的项目。

2· 477·0 当前·0 累计
下载技能包
License
MIT-0
最后更新
2026/3/15
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能内部逻辑与其声明目的一致:一个纯本地、零凭证的 Node.js 记忆 CLI,读写项目文件;代码和元数据中没有要求无关凭证或外部网络访问。
评估建议
该包看起来与其声明一致:一个基于本地文件系统的记忆 CLI,实现于普通 Node.js。安装或集成前:1) 检查数据写入位置(SESSION-STATE.json、MEMORY.md、memories/*.json)并决定是否可能包含敏感信息;2) 避免盲目粘贴 SKILL.md 系统提示文本到共享或高权限代理提示;3) 如果通过 npm 安装,优先从可信注册表安装;4) 备份(memory-export/import)可以导出所有存储内容——将导出的文件视为敏感数据。技能内部逻辑一致且仅限本地,但应谨慎处理存储的记忆和提示更改。...
详细分析 ▾
用途与能力
名称/描述(本地记忆,无 API 密钥)与代码和 CLI 一致:package.json、bin 脚本和 lib/memory-core.js 实现基于本地文件系统的存储和本地 TF-IDF 搜索。技能不请求无关环境变量、二进制文件或配置路径。
指令范围
SKILL.md 指示代理读取和更新 SESSION-STATE.json、运行 memory-* CLI 命令,并将明确文本添加到其系统提示中(使代理使用 CLI)。这对于集成本地记忆系统是预期的,但也是一种提示注入式指令:它指示模型改变其行为并在响应前始终写入记忆。这种行为与技能的目标一致,但用户应注意它鼓励将用户提供的数据自动写入磁盘(可能包括敏感内容),并且将提供的文本逐字添加到系统提示中给技能对代理行为的持久影响。
安装机制
注册表元数据没有安装规格,但 package.json 和 bin 脚本被包含,因此正常安装将通过 npm 进行(npm install -g)。没有从任意 URL 下载、没有从 URL 提取步骤,代码是普通 Node.js 文件。从安装机制角度看,这是低风险的。
凭证需求
技能不请求环境变量、凭证或配置路径。代码仅使用本地文件系统访问(memories/、SESSION-STATE.json、MEMORY.md),这对于本地记忆工具是必要和合理的。
持久化与权限
技能不请求 'always: true',也不修改其他技能或系统范围的代理设置。它在用户的项目目录内写入文件(其预期范围)。默认允许自主调用,但这本身并不异常;注意,将 SKILL.md 推荐内容集成到代理的系统提示中会增加代理自动使用这些工具的机会。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.0.02026/3/15
● 无害

安装命令 点击复制

官方npx clawhub@latest install simple-memory-skill
镜像加速npx clawhub@latest install simple-memory-skill --registry https://cn.clawhub-mirror.com

技能文档

面向 AI 代理的零依赖记忆系统。 无需 API 密钥。无外部服务。无云端依赖。仅使用本地存储配合智能搜索。

架构

┌─────────────────────────────────────────────────┐
│           SIMPLE LOCAL MEMORY                   │
├─────────────────────────────────────────────────┤
│                                                  │
│  ┌─────────────┐          ┌─────────────┐       │
│  │             │          │             │       │
│  │   HOT RAM   │          │  COLD STORE │       │
│  │             │          │             │       │
│  │             │          │             │       │
│  │  SESSION-   │          │   Indexed   │       │
│  │  STATE.json │          │   Memories  │       │
│  │             │          │              │       │
│  │  (active    │          │   (JSON +    │       │
│  │   context)  │          │    Search)   │       │
│  │             │          │              │       │
│  └─────────────┘          └─────────────┘       │
│                                                  │
│                                                  │
│            └────────────────┼─────────────────┘
│                              ▼
│  ┌─────────────┐
│  │             │
│  │  MEMORY.md  │ ← 人类可读
│  │  + daily/   │
│  │             │
│  └─────────────┘
│                                                  │
└─────────────────────────────────────────────────┘

三层记忆系统

第一层:HOT RAM (SESSION-STATE.json)

快速、活跃的工作记忆

{
  "current_task": "...",
  "key_context": ["...", "..."],
  "pending_actions": ["...", "..."],
  "recent_decisions": ["..."],
  "last_updated": "2026-03-15T10:30:00Z"
}

优势:

  • 快速 JSON 读写
  • 能在压缩后保留
  • 易于程序化解析

第二层:COLD STORE(索引记忆)

持久化、可搜索的记忆

# 存储一条记忆
memory-store --type preference --content "User prefers dark mode" --importance 0.9

# 搜索记忆 memory-search "what did user say about CSS"

# 列出最近的记忆 memory-list --limit 10

存储位置: 包含索引 JSON 文件的 memories/ 目录

第三层:CURATED ARCHIVE(MEMORY.md + daily/)

人类可读的长期记忆

workspace/
├── MEMORY.md              # 精选的洞察
├── SESSION-STATE.json     # 活跃上下文
└── memories/
    ├── 2026-03-15.json    # 每日记忆导出
    ├── preferences.json   # 用户偏好
    ├── decisions.json     # 关键决策
    └── lessons.json       # 经验教训

快速设置

第一步:初始化

npm install -g simple-local-memory
cd your-project
memory-init

这将创建:

  • SESSION-STATE.json - 活跃工作记忆
  • MEMORY.md - 长期精选记忆
  • memories/ - 记忆存储目录

第二步:与你的 AI 代理配合使用

对于 Claude Code:

# 添加到你的自定义指令中

当我给你重要信息时:

  • 首先写入 SESSION-STATE.json
  • 然后使用 memory-store 存储
  • 然后回复我

开始对话时:

  • 读取 SESSION-STATE.json
  • 使用 memory-search 搜索相关记忆
  • 查看 MEMORY.md 获取上下文

对于 ChatGPT/Cursor: 添加到你的系统提示中:

你可以访问本地记忆工具:
  • memory-store:保存重要信息
  • memory-search:查找相关的过去上下文
  • 回复前读取 SESSION-STATE.json
  • 用户分享偏好时更新 SESSION-STATE.json

记忆 CLI 命令

# 初始化记忆系统
memory-init

# 存储一条记忆 memory-store --type preference --content "User loves TypeScript" --importance 0.9

# 搜索记忆 memory-search "TypeScript preferences"

# 列出最近的记忆 memory-list --limit 10 --type preference

# 显示记忆统计 memory-stats

# 导出记忆 memory-export --format json --output backup.json

# 导入记忆 memory-import --file backup.json

WAL 协议(预写日志)

关键:在回复之前先写入记忆

触发条件操作
用户声明偏好更新 SESSION-STATE.json → 存储 → 回复
用户做出决策更新 SESSION-STATE.json → 存储 → 回复
用户给出截止日期更新 SESSION-STATE.json → 存储 → 回复
用户纠正你更新 SESSION-STATE.json → 存储 → 回复
原因? 如果回复在保存前崩溃,上下文会丢失。

记忆存储格式

memories/YYYY-MM-DD.json

{
  "date": "2026-03-15",
  "memories": [
    {
      "id": "uuid",
      "type": "preference|decision|fact|lesson",
      "content": "User prefers dark mode",
      "importance": 0.9,
      "tags": ["ui", "preferences"],
      "timestamp": "2026-03-15T10:30:00Z",
      "context": "Discussed during UI setup"
    }
  ]
}

memories/preferences.json

{
  "preferences": [
    {
      "key": "css_framework",
      "value": "Tailwind",
      "set_at": "2026-03-15T10:30:00Z",
      "reason": "User prefers over vanilla CSS"
    }
  ]
}

memories/decisions.json

{
  "decisions": [
    {
      "id": "uuid",
      "title": "Use React for frontend",
      "reason": "User requested component-based architecture",
      "made_at": "2026-03-15T10:30:00Z",
      "status": "active"
    }
  ]
}

搜索算法

基于 TF-IDF 的本地搜索:

  • 对查询和记忆进行分词
  • 计算词频
  • 按相关性 + 重要性 + 时效性排序
  • 返回前 N 个结果
// 示例搜索逻辑
function searchMemories(query, limit = 5) {
  const queryTokens = tokenize(query);
  const allMemories = loadAllMemories();
  
  const scored = allMemories.map(memory => {
    const score = calculateTFIDF(queryTokens, memory.content);
    const recencyBoost = calculateRecencyBoost(memory.timestamp);
    const importanceBoost = memory.importance || 0.5;
    
    return {
      ...memory,
      totalScore: score + recencyBoost + importanceBoost
    };
  });
  
  return scored
    .sort((a, b) => b.totalScore - a.totalScore)
    .slice(0, limit);
}

示例工作流程

用户:"让我们用 Tailwind 来做这个项目,不用原生 CSS"

代理处理流程:

  • 用决策更新 SESSION-STATE.json
  • 执行:memory-store --type decision --content "Use Tailwind, not vanilla CSS" --importance 0.9
  • 执行:memory-store --type preference --content "User prefers Tailwind over vanilla CSS" --importance 0.95
  • 然后回复:"明白了 — 用 Tailwind。我已经保存了这个偏好。"

记忆分类

类型使用场景重要性
preference用户表达喜欢/不喜欢0.8-1.0
decision项目决策做出0.9-1.0
fact重要信息0.6-0.8
lesson从错误中学习0.9-1.0
context背景信息0.4-0.6

维护

每日

# 检查记忆健康状态
memory-stats

# 查看今天的记忆 memory-list --date today

每周

# 归档旧记忆
memory-archive --days 7

# 清理重复项 memory-deduplicate

# 用洞察更新 MEMORY.md #(手动:查看 memories/ 并添加到 MEMORY.md)

每月

# 导出备份
memory-export --format json --output monthly-backup.json

# 清理旧的每日文件 memory-cleanup --days 30

记忆卫生建议

  • 具体明确 - "用户喜欢深色模式" > "用户有偏好"
  • 添加上下文 - 为什么会做出这个决定?
  • 使用重要性评分 - 不是所有事都是 1.0
  • 正确标记 - 有助于检索
  • 定期归档 - 保持 SESSION-STATE.json 精简

故障排除

搜索返回空结果:

→ 检查 memories/ 目录是否存在 → 验证 JSON 文件是否有效 → 尝试更宽泛的搜索词

SESSION-STATE.json 增长过大:

→ 将旧项目移至 memory-store → 归档已完成的任务 → 只保留活跃上下文

记忆没有被保存:

→ 检查文件权限 → 验证磁盘空间 → 检查 JSON 语法

高级功能

记忆关联

{
  "id": "uuid",
  "content": "Use React for frontend",
  "related_to": ["uuid-of-other-memory"],
  "followed_by": ["uuid-of-decision"]
}

置信度评分

{
  "confidence": 0.95,
  "source": "explicit_user_statement",
  "verified_count": 3
}

过期日期

{
  "expires_at": "2026-04-15T00:00:00Z",
  "auto_archive": true
}

与 elite-longterm-memory 对比

功能EliteSimple Local
需要 API 密钥是(OpenAI)
外部依赖LanceDB, Mem0
云同步否(可添加)
向量搜索TF-IDF 本地
自动提取Mem0手动/简单规则
设置复杂度中等简单
隐私依赖云端100% 本地
成本免费额度有限100% 免费

从 elite-longterm-memory 迁移

# 从 elite 系统导出
memory-export > elite-backup.json

# 转换格式 node convert-elite-to-simple.js elite-backup.json > simple-backup.json

# 导入到 simple 系统 memory-import --file simple-backup.json

未来增强(可选)

  • 添加本地嵌入模型(Transformers.js)
  • 为旧记忆添加压缩
  • 为敏感数据添加加密
  • 通过 GitHub Gist 添加同步
  • 添加 Web UI 用于记忆管理

无需 API 密钥。无云端。无追踪。仅纯本地记忆。

适用于:

  • 注重隐私的用户
  • 离线开发
  • 学习记忆系统工作原理
  • 构建自定义 AI 代理
  • 有严格数据政策的项目
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务