Install
openclaw skills install @thcjp/memo-quickstart面向零依赖场景的本地记忆系统,解决搜索精度不足、上手门槛高、数据格式不统一四大痛点. 三层记忆架构(热内存SESSION-STATE.json/冷存储memories/目录/人类可读归档MEMORY.md+daily/)协同提供从快到慢的记忆存取. TF-IDF+近期加权+重要度加权+标签匹配四维混合检索算法,召...
openclaw skills install @thcjp/memo-quickstart功能说明: 本技能涵盖 中文交互、完整工作流程和配置指南、化工作流场景 等核心能力。
面向零依赖场景的本地记忆系统,用三层架构和混合检索算法,在不引入任何外部依赖的前提下,提供开箱即用的记忆能力。无 API Key、无云、无追踪,纯本地记忆.
| 类型 | 使用场景 | 重要度范围 |
|---|---|---|
| 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 |
处理: 解析记忆类型与重要度参考的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回记忆类型与重要度参考的响应数据,包含状态信息、结果数据和执行记录.
执行混合检索加权公式操作,使用input_params参数进行配置,支持创建/查询/导出等操作.
input_params参数,支持创建/查询/导出操作TF-IDF(50%):文本相关性,基础召回
处理: 解析TF-IDF(50%)的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回TF-IDF(50%)的响应数据,包含状态信息、结果数据和执行记录.
input_params参数,支持创建/查询/导出操作近期加权(20%):近期记忆优先
处理: 解析近期加权(20%)的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回近期加权(20%)的响应数据,包含状态信息、结果数据和执行记录.
input_params参数,支持创建/查询/导出操作重要度加权(20%):高重要度优先
处理: 解析重要度加权(20%)的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回重要度加权(20%)的响应数据,包含状态信息、结果数据和执行记录.
input_params参数,支持创建/查询/导出操作标签匹配(10%):标签命中加分
处理: 解析标签匹配(10%)的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回标签匹配(10%)的响应数据,包含状态信息、结果数据和执行记录.
input_params参数,支持创建/查询/导出操作处理: 解析混合检索加权公式的输入参数,完成核心逻辑,返回格式化结果. 输出: 返回混合检索加权公式的响应数据,包含状态信息、结果数据和执行记录. 能力覆盖范围:本技能覆盖以下场景关键词:解决零依赖记忆能、搜索精度低、上手难的本地记忆、快速启动器、面向零依赖场景的、本地记忆系统、解决搜索精度不足、上手门槛高、数据格式不统一四、大痛点、提供三层记忆架构、标签匹配混合检索、适用于隐私敏感场、离线开发、学习记忆系统、适用关键词、本地记忆、零依赖记忆、记忆快速启动、记忆搜索、记忆存储、local、zero、dependency等。这些关键词对应description中声明的使用场景,均已在上述能力点中提供对应的操作支持.
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 记忆快速启动处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
npm install -g simple-local-memory
cd your-project
memory-init
初始化创建 SESSION-STATE.json(活跃工作记忆)、MEMORY.md(长期精选记忆)、memories/(记忆存储目录).
在 Agent 的系统提示词中写入规则:收到重要信息时先写入 SESSION-STATE.json 再 memory-store 持久化,然后响应用户;会话开始时读取 SESSION-STATE.json 并用 memory-search 检索相关记忆.
memory-store --type preference --content "用户偏好 TypeScript" --importance 0.9
memory-search "TypeScript 偏好"
确认能召回刚存的记忆,验证混合检索算法工作正常.
用户表达偏好/做决策/给截止时间/纠正错误时,执行:更新 SESSION-STATE.json → memory-store 持久化 → 响应用户。确保崩溃前上下文已持久化.
每日运行 memory-stats 查看统计;每周运行 memory-archive --days 7 和 memory-deduplicate 归档去重;每月运行 memory-export 导出备份和 memory-cleanup --days 30 清理.
memory-init # 初始化
memory-store --type preference --content "..." --importance 0.9 # 存储
memory-search "关键词" # 检索
memory-list --limit 10 --type preference # 列表
memory-stats # 统计
memory-export --format json --output backup.json # 导出
memory-import --file backup.json # 导入
memory-archive --days 7 # 归档
memory-deduplicate # 去重
memory-cleanup --days 30 # 清理
输入: 用户说"这个项目用 Tailwind,不用 vanilla CSS"
输出:
memory-store --type decision --content "用 Tailwind 不用 vanilla CSS" --importance 0.9memory-store --type preference --content "用户偏好 Tailwind" --importance 0.95输入: 用户问"我们之前为什么选了 React?"
输出:
memory-search "React 选型" 找到决策记忆(uuid-1)输入: 用户想从旧记忆系统迁移到本系统
输出:
memory-export > old-backup.json
node convert-to-memo-quickstart.js old-backup.json > new-backup.json
memory-import --file new-backup.json
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| Agent 平台(Claude Code/Cursor/Codex 等) | 运行环境 | 必需 | 安装对应 Agent |
| Node.js | 运行时 | 必需 | nodejs.org 安装(运行记忆 CLI) |
| simple-local-memory | npm 包 | 必需 | npm install -g simple-local-memory |
| Transformers.js | npm 包 | 可选 | 用于本地 embedding 增强检索 |
| GitHub Gist Token | API Key | 可选 | 用于可选的 Gist 云同步 |
API Key 配置:
可用性分类: MD+EXEC(Markdown 指令驱动,需 exec 执行 memory CLI 命令)
Q1:真的完全不需要 API Key 吗?
A:是的。所有存储与检索在本地完成,零网络请求,零外部依赖.
Q2:混合检索比纯 TF-IDF 好在哪?
A:纯 TF-IDF 只看词频,查"用户喜好"找不到"偏好深色模式"(无共同词)。混合检索叠加标签匹配与重要度加权,即使无共同词也能通过标签关联召回.
Q3:能和其他记忆系统共存吗?
A:可以。本系统独立运行于 memories/ 目录,不干扰其他系统。提供迁移工具支持互导.
Q4:记忆多了会不会变慢?
A:1000 条以内无明显延迟。超 1000 条建议定期归档与去重。超 10000 条建议接入向量检索增强.
Q5:SESSION-STATE.json 与 MEMORY.md 有什么区别?
A:SESSION-STATE.json 是机器优化的活跃上下文(JSON),MEMORY.md 是人类可读的长期归档(Markdown)。前者频繁更新,后者定期整理.
| 风险类型 | 防范措施 |
|---|---|
| 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 |
| 可复用性 | 参数化配置 | 一次性脚本 | 模板化 |
| 安全合规 | 内置安全检查 | 无安全保障 | 无安全保障 |
| 适用场景 | 解决零依赖记忆能力弱、搜索精度低、上手难的本地记忆快速启动器。面向零依赖场景的本 | 通用场景 | 通用场景 |
针对记忆快速启动使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |