本地记忆复用:为 Agent 提供可直注的 SQLite 长期记忆

前言

多轮对话里,偏好、项目约定和任务状态往往散落在聊天记录里。每次新开会话,模型要么重复问同样的问题,要么靠你把大段历史贴进上下文,token 开销很快上去。把「该长期记住什么」交给模型自己从海量上下文里挑,也不稳定。

下面介绍 SkillHub 社区技能「本地记忆复用」(坐标 @user_3dda8f37/yoyo-nnm-11,当前版本 3.0.1)。它把结构化记忆落在本机 SQLite,通过 CLI 做分类写入与检索,并以 direct 注入 形式返回固定结构结果,减轻模型自行筛选记忆的成本。页面标注 requires_api_key=false,不依赖外部 API Key。

这是什么

「本地记忆复用」是面向 AI 助理的本地长期记忆 Skill,由社区发布者 user_3dda8f37 维护,分类为 ai-agent,来源为 community。官方入口:

  • SkillHub 展示页:https://www.skillhub.cn/skills/user_3dda8f37/yoyo-nnm-11
  • API 坐标页:https://api.skillhub.cn/user_3dda8f37/yoyo-nnm-11

简介与 SKILL 描述一致:支持分类管理、快速检索、直接注入、历史引用、TTL、低 token 读取与本地 SQLite 持久化。SkillHub 页面当前显示评分 100000、下载 738 次(以页面为准)。

与「整段对话塞进 system prompt」相比,这套方案把记忆拆成可管理的条目,由插件按分类、优先级和固定标记挑选后再注入。

核心功能

以下能力均来自技能包内的 SKILL.md、skill.json 与 references/usage_zh.md,经安装包核对。

  1. 本地 SQLite 持久化:偏好、规则、项目上下文、词汇表、任务状态、历史摘要等写入本地库;不含云同步、远程上传或 hook 类逻辑(见 SKILL.md 安全说明)。
  2. 分类管理:建议分类包括 profile、preference、rule、project、task、session、glossary、summary,各分类说明在 categories/ 目录。
  3. 直接注入(direct):memory_cli.py direct 按查询返回可直接给模型使用的记忆块,无需模型自行决定用哪几条(见 references/direct_use_zh.md)。
  4. 紧凑读取:direct --compact 用于更低 token 的上下文格式(见使用说明)。
  5. 检索与维护:支持 search、list、update、delete;prune 清理过期条目,对应 TTL 能力;单条写入可设 --ttl-days。
  6. 历史与快照:history-add 记录对话角色与内容;snapshot 保存摘要快照;context / full-context 组合记忆与历史。
  7. 配置项:config/default.json 中含 ttl_days(默认 365)、reference_history_enabled、direct_injection_enabled、compact_mode_enabled 等;安全文档说明当前版本为更快读取默认不加密,数据仅在本机 SQLite。

skill.json 列出的特性标识:categorization、direct_injection、compact_context、history_reference、ttl_cleanup、priority_ranking、fast_read。

安装与启用

通过 SkillHub CLI 安装

SkillHub 页面给出的安装指引是:参照 https://skillhub.cn/install/skillhub.md,安装 @user_3dda8f37/yoyo-nnm-11。

若本机尚未安装 CLI,可先检查版本:

command -v skillhub && skillhub --version

未安装时可用官方脚本(完整安装含 CLI 与默认 Skill):

curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash

安装技能时必须用 --dir 指向当前 Agent 的 skills 目录,否则默认落在 ./skills/ 且可能不被识别。示例:

skillhub install @user_3dda8f37/yoyo-nnm-11 --dir ~/.cursor/skills/

常见客户端 skills 路径(摘自 SkillHub 安装文档):

  • Cursor:~/.cursor/skills/
  • Claude Code:~/.claude/skills/
  • Codex:~/.codex/skills/ 或项目下的 .agents/skills/

安装完成后,技能目录内包含 SKILL.md、scripts/memory_cli.py、database/、config/ 等。Agent 读取 SKILL.md 后即可按其中推荐方式调用 CLI。

初始化数据库

进入已安装的技能目录(例如 ~/.cursor/skills/@user_3dda8f37/yoyo-nnm-11),执行:

python scripts/memory_cli.py init

也可使用包内脚本:

sh scripts/bootstrap.sh

上述命令会在本地创建/初始化 SQLite 库(具体路径由 memory_core 默认配置决定)。

典型用法

以下命令均在技能根目录执行,路径与官方 references/usage_zh.md、examples/cli_examples.txt 一致。

写入长期偏好与规则:

python scripts/memory_cli.py add --category preference --text "用户偏好中文回答"
python scripts/memory_cli.py add --category rule --priority 20 --always-include --text "回答先给结论"
python scripts/memory_cli.py add --category project --text "当前项目使用 SQLite"

按查询直接注入记忆(推荐入口):

python scripts/memory_cli.py direct --query "继续上次项目"
python scripts/memory_cli.py direct --query "继续上次项目" --compact

关键词检索:

python scripts/memory_cli.py search --query "SQLite"

定期清理过期记忆:

python scripts/memory_cli.py prune

CLI 统一输出 JSON,含 status、timestamp、data 等字段;需要更小体积时可加 --compress(gzip+base64,见 memory_cli.py 帮助)。

在 Agent 会话中,可由模型按 SKILL.md 的「推荐调用」在适当时机执行上述命令,把返回块并入当前上下文。

适用场景与注意

适合谁

  • 希望偏好、项目约定、术语表跨会话保留,且数据留在本机的开发者。
  • 希望减少「模型从大段历史中自己挑记忆」带来的 token 与不稳定性的团队。
  • 已使用 Cursor、Claude Code、Codex 等支持 Skill 目录的客户端,并愿意用 SkillHub 管理技能包的用户。

使用注意

  • 仅本地存储:换机器或清空 skills 目录不会自动同步记忆库,需要自行备份 SQLite 文件或 dump 导出。
  • 安全文档明确不含云同步;敏感内容请谨慎写入,可使用 add 的 --sensitive 等字段并按需审查。
  • 为控制体积,官方建议只存长期有效信息、先分类再写入、优先 direct --compact,并定期 prune。
  • config/default.json 与 FAQ 对加密的表述以安全说明为准:当前版本侧重读取速度与解析成本,默认不加密。

结尾

「本地记忆复用」把 Agent 长期记忆收敛到本机 SQLite 与一套 CLI:分类写入、检索、TTL 与 direct 注入一条线打通,适合作为 SkillHub ai-agent 类技能里的本地记忆方案。安装与坐标以 SkillHub 页面为准:https://www.skillhub.cn/skills/user_3dda8f37/yoyo-nnm-11 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜