simple-memory-skill

Polar Sponsor
爱发电 赞助
.NET 9.0

零依赖AI记忆系统,无需API密钥,纯本地存储支持智能搜索,全平台适用。

简单的本地内存 QQ AI 代理的零依赖内存系统

功能概述

简单的本地内存 QQ AI 代理的零依赖内存系统是一项面向实际任务的技能,主要用于没有 API 密钥;没有外部服务;

核心要点

  • 没有云依赖性;
  • 只需纯本地存储, 并进行智能搜索;
  • . architecture. the 3。

使用与执行

它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。

简易本地记忆系统 🧠

面向 AI 智能体的零依赖记忆系统。

无需 API 密钥,无需外部服务,无需云依赖——仅靠智能搜索支持的纯本地存储。

架构

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

三层记忆结构

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

快速、活跃的工作记忆

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

优势:

  • 快速 JSON 读写
  • 可抵御压缩操作(compaction)影响
  • 易于程序化解析

第 2 层: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

存储位置:memories/ 目录下的索引化 JSON 文件

第 3 层:人工整理归档(MEMORY.md + daily/)

人类可读的长期记忆

workspace/
├── MEMORY.md              # 人工整理的关键洞见
├── SESSION-STATE.json     # 当前活跃上下文
└── memories/
    ├── 2026-03-15.json    # 当日记忆快照
    ├── preferences.json   # 用户偏好
    ├── decisions.json     # 关键决策
    └── lessons.json       # 经验教训

快速开始

步骤 1:初始化

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

该命令将创建以下文件与目录:

  • SESSION-STATE.json —— 活跃工作记忆
  • MEMORY.md —— 长期人工整理记忆
  • memories/ —— 记忆存储目录

步骤 2:在您的 AI 智能体中使用

适用于 Claude Code:

# 添加至自定义指令中

当我向您提供重要信息时:
1. 首先写入 SESSION-STATE.json
2. 然后使用 memory-store 存储
3. 最后回复我

每次开启对话时:
1. 先读取 SESSION-STATE.json
2. 使用 memory-search 检索相关记忆
3. 查阅 MEMORY.md 获取背景上下文

适用于 ChatGPT / Cursor:
在系统提示(system prompt)中添加:

You have access to local memory tools:
- memory-store: Save important information
- memory-search: Find relevant past context
- Read SESSION-STATE.json before responding
- Update SESSION-STATE.json when user shares preferences

记忆 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 协议(Write-Ahead Logging,预写式日志)

关键原则:务必先写入记忆,再响应用户

触发条件 操作流程
用户表达偏好 更新 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 的本地搜索:

  1. 对查询语句和记忆内容进行分词(tokenize)
  2. 计算词频(term frequency)
  3. 按相关性 + 重要性 + 新近度综合排序
  4. 返回 Top 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);
}

示例工作流

User: "Let's use Tailwind for this project, not vanilla CSS"

Agent process:
1. 更新 SESSION-STATE.json 中的决策字段
2. 执行:memory-store --type decision --content "Use Tailwind, not vanilla CSS" --importance 0.9
3. 执行:memory-store --type preference --content "User prefers Tailwind over vanilla CSS" --importance 0.95
4. 然后回复:"Got it — Tailwind it is. I've saved this preference."

记忆类型分类

类型 适用场景 重要性范围
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. 表述具体明确 —— “User likes dark mode” 优于 “User has preference”
  2. 附带上下文 —— 说明该决策/偏好产生的原因
  3. 合理设置重要性 —— 并非所有记忆都应设为 1.0
  4. 正确打标签 —— 提升后续检索效率
  5. 定期归档 —— 控制 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 的对比

特性 Elite Simple 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 智能体
  • 有严格数据合规要求的项目

相关专题

更多
Postman身份认证怎么配置
Postman身份认证怎么配置

本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。

2026.11.06

0

12

Postman请求头Headers怎么设置
Postman请求头Headers怎么设置

围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。

2026.11.06

0

13

Postman接口请求发送教程
Postman接口请求发送教程

详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。

2026.11.06

0

10

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

2026.11.05

0

12

DBeaver安全防护教程大全
DBeaver安全防护教程大全

DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。

2026.11.05

0

12

DBeaver连接创建与配置教程
DBeaver连接创建与配置教程

本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。

2026.11.04

0

16

XORM框架结构体映射与表结构同步
XORM框架结构体映射与表结构同步

本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

15

XORM框架安装配置与数据库连接
XORM框架安装配置与数据库连接

本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。

2026.11.04

0

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.7万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 134.1万人学习