记忆面包

Polar Sponsor
爱发电 赞助
.NET 9.0

「记忆面包🍞」— 为 OpenClaw AI 助手提供向量化长期记忆能力,让 AI 真正记住用户说过的话、偏好、决策和重要事件。文字记忆开箱即用,AI 每轮对话自动检索语义相关记忆并注入上下文,话题结束后自动提炼写入长期记忆库;收到图片/音频/视频时主动询问是否存入记忆库,支持渐进扩展多模态能力。基于 LanceDB + sentence-transformers,全本地运行,零外部 API 依赖,支持历史记忆迁移导入。触发场景:用户安装记忆增强功能、希望 AI 记住偏好/习惯/事件、需要跨会话持久化信息

记忆面包🍞 Skill

功能概述

记忆面包🍞 Skill是一项面向实际任务的技能,主要用于这个 Skill 是什么;这是 AI 助手内部使用的记忆增强引擎 ,核心使用者是 AI 助手本身,不是用户;

核心要点

  • AI 在对话中通过 exec 调用 Python 脚本写入/检索记忆,把检索结果注入回复上下文;
  • 用户感知到的是"AI 记住了我说过的话",而不是直接操作这些脚本;
  • 设计原则:可用性优先,渐进扩展;

使用与执行

文字记忆:核心功能,开箱即用,零额外依赖;图片/音频/视频:。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。

结果检查与注意事项

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

记忆面包🍞 Skill

这个 Skill 是什么

这是 AI 助手内部使用的记忆增强引擎,核心使用者是 AI 助手本身,不是用户。

AI 在对话中通过 exec 调用 Python 脚本写入/检索记忆,把检索结果注入回复上下文。用户感知到的是"AI 记住了我说过的话",而不是直接操作这些脚本。

设计原则:可用性优先,渐进扩展。

  • 文字记忆:核心功能,开箱即用,零额外依赖
  • 图片/音频/视频:可选扩展,不需要触发词,AI 主动感知上下文询问

⚠️ 重要:安装后必须更新 AGENTS.md

与其他 Skill 不同,记忆面包不完全依赖用户触发词,而是每轮对话自动执行。

安装完成后,必须将集成规则追加到用户的 AGENTS.md,否则记忆系统不会自动工作。

操作步骤:

  1. 读取 references/agents-integration.md
  2. 将其中的规则块追加到用户 AGENTS.md 的 ## Tools 章节
  3. 将 替换为实际安装路径
  4. 告知用户:"记忆面包已集成,从下次对话起自动生效"

首次安装

# 1. 安装核心依赖(仅文字记忆,体积小,约 200MB 模型缓存)
pip install -r scripts/requirements.txt

# 2. 检测环境
python3 scripts/check_env.py

# 3. 迁移历史记忆(把 memory/YYYY-MM-DD.md 导入向量数据库,可选)
python3 scripts/migrate_memory.py

# 4. 验证
python3 scripts/migrate_memory.py --status

⚠️ 首次运行会下载语言模型(~192MB),需要几分钟,check_env.py 会提前告知。

AI 调用方式

⚠️ 有两种写入方式,场景不同,必须区分使用。详见 references/agents-integration.md。

每轮对话:检索相关记忆

cd  && python3 -c "
from memory_store import search_memory
results = search_memory('')
for r in results:
    print(r['score'], r['display_text'])
"

把 display_text 以 🍞 *记忆召回:XXX* 格式注入回复上下文。

单轮重要内容:直接写入

当用户说出重要决策、目标、偏好等单条信息时,直接用 add_memory() 写入,不要等话题结束:

cd  && python3 -c "
from memory_store import add_memory
add_memory(
    text='[用户说] <内容摘要>',
    memory_type='decision',  # decision / preference / goal / fact / insight / exchange
    source='conversation',
    importance_score=8.0
)
print('[Memory] 已写入 1 条')
"

多轮话题结束时:批量提炼写入

⚠️ on_user_message() 需要缓冲区至少累积 2 轮才会触发,单轮必须用上面的 add_memory()。

cd  && python3 -c "
from topic_memory import on_user_message, on_assistant_message
on_assistant_message('''''')
written = on_user_message('''''')
if written:
    print(f'写入 {written} 条')
"

收到图片/音频/视频时:主动询问用户

(正常解析/回复图片/音频内容)

---
要把这张图片存入记忆库吗?存入后可以随时语义检索回溯。
📸 存入 / 不用了

用户选择存入后,根据媒体类型判断是否已安装对应模块:

# 检查图片模块是否可用
try:
    from image_memory import add_image_memory
    add_image_memory(file_path="", description="<描述>", context="<对话背景>")
except ImportError:
    # 模块未安装,提示用户
    print("图片记忆模块未安装,请运行:")
    print("pip install Pillow>=10.0 transformers>=4.0 torch>=2.0")

音频/视频同理,触发时检查 audio_memory / video_memory 模块是否可用,缺失则提示安装命令。

检索配置(经评测优化)

参数 默认值 说明
top_k 2 拐点在 top_2,再多无召回率收益
min_importance 6 过滤低价值噪音,不影响召回质量
max_chars 120 每条约 30 tokens,比全文节省 75%

效果:召回率 100%,每轮注入少量记忆上下文,实际开销因检索结果数量和内容长度而异

环境变量覆盖:

export MULTIMODAL_MEMORY_TOP_K=3
export MULTIMODAL_MEMORY_MIN_IMPORTANCE=5

与现有记忆系统的关系

  • memory/YYYY-MM-DD.md:人类可读的日记,继续保留,不影响
  • 向量数据库:机器可检索的语义记忆,是对日记的增强,不是替代
  • migrate_memory.py:把历史日记批量导入向量库的桥梁

核心原则

  • 不强迫用户:多模态存入是询问,不是自动触发,用户有选择权
  • 存原件,描述只是标签:图片/音频不折叠成文字,向量负责检索,原件负责回放
  • 双向记忆:用户说的和 AI 说的都值得记,speaker 字段区分
  • 操作日志不是记忆:「已存入/已写入」这类系统回复不写入记忆
  • 情绪背景比事实本身重要:写入时保留情绪/动机背景

可观测性(重要)

记忆 Skill 后台运行,用户看不到它是否在工作。必须在每次回复末尾追加运行日志:

---
🍞 memory: 检索到 2 条 | 本轮写入 1 条(「用户下周有重要计划」)
  • 检索 0 条也要显示(证明运行了,只是没相关记忆)
  • 写入 0 条也要显示(话题还在继续中)
  • 绝对不能省略,这是用户判断 Skill 是否在运行的唯一信号

模块说明

文件 用途 是否必须
memory_store.py 核心写入/检索 ✅ 必须
memory_writer.py 批量写入工具 ✅ 必须
topic_memory.py 话题边界检测,自动写入 ✅ 必须
config.py 路径/参数统一管理 ✅ 必须
check_env.py 环境检测 + 依赖提示 ✅ 必须
migrate_memory.py 历史日记迁移 推荐
search_all.py 跨模态统一检索入口 推荐
entity_extractor.py 实体抽取 + 图谱关系 推荐
image_memory.py 图片记忆 可选(按需安装)
audio_memory.py 音频记忆(需 ffmpeg) 可选(按需安装)
video_memory.py 视频记忆(需 ffmpeg) 可选(按需安装)

详细文档

  • references/architecture.md:完整架构说明、向量维度、存储策略
  • references/agents-integration.md:AGENTS.md 集成规则模板(安装后必读)

相关专题

更多
Vite 项目如何打包和部署
Vite 项目如何打包和部署

Vite项目打包部署专题汇集生产构建、产物预览、输出目录、资源路径、Nginx与GitHub Pages部署及常见白屏和路由404问题的已审核文章,帮助读者完成上线流程。

2026.10.28

0

16

Vite 如何搭配 Vue.js
Vite 如何搭配 Vue.js

Vite搭配Vue.js专题汇集创建Vue 3项目、配置开发环境、路径别名、Vue插件、代理、多环境构建与调试的已审核文章,帮助读者完成从初始化到日常开发的配置。

2026.10.28

0

15

Vite 项目目录怎么看
Vite 项目目录怎么看

Vite项目目录专题汇集入口文件、src源码、public静态资源、路径别名、项目根目录和构建输出目录相关的已审核文章,帮助读者理解各文件夹的用途与引用方式。

2026.10.28

0

10

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

0

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

0

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

0

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

0

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

0

15

热门下载

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

精品课程

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

共6课时 | 54.7万人学习

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

共89课时 | 134.1万人学习