【免费下载链接】LycheeMem
Lightweight Long-Term Memory for LLM Agents.
LycheeMem 是一个面向 LLM Agent 的轻量级长期记忆框架,通过 Claude Code 插件与 Hermes 插件,可以为 Agent 提供自动召回、会话镜像与记忆固化(consolidation)的完整工作流,让 AI 助手真正"记住"你的偏好、项目决策与历史对话,而无需你手动粘贴上下文。本文带你从零完成安装,并深入解析这两条插件链路的召回与固化机制。
一、为什么 Agent 需要长期记忆插件?
大语言模型本身是无状态的:会话一结束,上下文就全部丢失。你在上一周告诉 Agent"我喜欢简洁的回答风格",它在新会话里会一无所知。LycheeMem 把记忆拆分为三类互补存储:
| 记忆层 | 职责 | 插件中的角色 |
|---|---|---|
| 工作记忆(Working Memory) | 会话轮次、摘要、Token 预算管理 | 接收插件镜像进来的对话轮次 |
| 语义记忆(Semantic Memory) | 事实、偏好、事件等类型化 MemoryRecord | smart_search召回的核心来源 |
| 程序性记忆(Skills) | 可复用工作流与技能条目 | 召回时一并检索,提升答案质量 |
而插件要解决的核心问题只有三个:什么时候自动召回、什么时候自动写入、什么时候把临时对话固化为长期记忆。
二、准备工作:启动 LycheeMem 记忆服务
两条插件链路都依赖同一个后端服务,先把它跑起来。
git clone https://gitcode.com/gh_mirrors/ly/LycheeMem cd LycheeMem pip install lycheemem python main.py服务默认监听8000端口。也可以直接用官方 CLI 一键启动:lycheemem-cli。
确认服务健康:
curl http://127.0.0.1:8000/health💡 若
.env中使用了其他端口(如API_PORT=8100),后续所有LYCHEEMEM_BASE_URL都要保持一致。
三、Claude Code 插件实战:三步接入
1. 校验并加载插件
Claude Code 插件通过MCP + hooks两种机制接入,完整安装指南见 INSTALL_CLAUDE.md。
export LYCHEEMEM_REPO="/path/to/LycheeMem" export LYCHEEMEM_BASE_URL="http://127.0.0.1:8000" claude plugin validate "$LYCHEEMEM_REPO/claude-plugin/lycheemem" claude --plugin-dir "$LYCHEEMEM_REPO/claude-plugin/lycheemem"2. 在会话内验证
进入 Claude Code 后运行/plugin和/mcp确认插件与 MCP server 已加载,然后做端到端测试:
Please remember that my favorite fruit is lychee. What is my favorite fruit? Use LycheeMem to recall my favorite fruit.如果自动召回生效,Claude 会基于 LycheeMem 返回的background_context作答,而不是凭空猜测。
3. 插件内部:三个 Hook 串起完整工作流
Claude Code 插件的自动化逻辑全部由 hook 驱动,配置在 hooks.json 中:
| Hook 事件 | 触发时机 | 动作 |
|---|---|---|
UserPromptSubmit | 每次提交用户消息前 | 自动从 LycheeMem 召回相关记忆,注入上下文 |
Stop | 每轮回答结束 | 镜像助手回复到 LycheeMem |
SessionEnd | 会话结束(异步执行) | 触发记忆固化,沉淀为长期记忆 |
除了 hook,插件还注册了一个 memory skill,教会 Claude 在哪些场景下应主动调用lychee_memory_smart_search(例如询问历史对话、偏好、项目规范时),并规定了"召回优先、证据不足时明确说明而非编造"的回答原则。
四、Hermes 插件实战:运行时级自动记忆
Hermes 插件以 Python runtime 的形式接入,插件清单见 plugin.yaml,完整指南见 INSTALL_HERMES.md。
1. 安装并启用插件
mkdir -p ~/.hermes/plugins ln -sfn "$LYCHEEMEM_REPO/hermes-plugin/lycheemem" ~/.hermes/plugins/lycheemem hermes plugins enable lycheemem hermes plugins list2. 配置连接环境变量
export LYCHEEMEM_BASE_URL="http://127.0.0.1:8000" export LYCHEEMEM_TRANSPORT="http" export LYCHEEMEM_ENABLE_PRE_LLM_CONTEXT=true export LYCHEEMEM_ENABLE_AUTO_APPEND=true export LYCHEEMEM_ENABLE_AUTO_CONSOLIDATE=true export LYCHEEMEM_SMART_SEARCH_TOP_K=5 export LYCHEEMEM_RESPONSE_LEVEL=minimal3. 启动 Hermes 并做端到端验证
hermes在 Hermes 内依次执行:
/plugins /lycheemem status /lycheemem health Please remember that my favorite fruit is lychee. What is my favorite fruit? /lycheemem recall favorite fruit如果链路正常,/lycheemem recall会返回包含lychee的background_context。
4. 核心机制:pre_llm_call 到 on_session_end 的生命周期
Hermes 插件的工作流实现在 runtime.py 中,按会话生命周期划分为四个阶段:
pre_llm_call(自动召回):每次模型调用前,插件用用户消息调用smart_search,把召回结果以Relevant memory from LycheeMem:前缀注入为background_context。由于发生在模型调用之前,通常不会显示为可见的工具调用——这是"无感召回"的关键。post_llm_call(会话镜像):每轮结束后,把 user / assistant 两条消息镜像写入 LycheeMem。内部用 SHA1 指纹去重,同一轮次不会重复写入。on_session_end/on_session_finalize(记忆固化):会话收尾时触发 consolidation,由 LLM 从对话中提取事实、偏好等类型化记忆写入语义记忆,支持后台异步执行并带 60 秒冷却(LYCHEEMEM_AUTO_CONSOLIDATE_COOLDOWN_SECONDS),避免频繁打扰。- 手动调试通道:
/lycheemem recall <query>用于检查检索质量;lycheemem_smart_search工具留给显式召回场景。
HTTP/MCP 双通道的客户端封装见 client.py,所有开关与默认值集中定义在 config.py。
五、调参速查:让召回与固化符合你的场景
| 环境变量 | 默认值 | 作用 |
|---|---|---|
LYCHEEMEM_BASE_URL | http://127.0.0.1:8000 | 记忆服务地址 |
LYCHEEMEM_ENABLE_PRE_LLM_CONTEXT | true | 自动召回开关(关掉可强制模型显式调用检索工具) |
LYCHEEMEM_ENABLE_AUTO_APPEND | true | 自动镜像轮次开关 |
LYCHEEMEM_AUTO_CONSOLIDATE_BACKGROUND | true | 固化是否后台执行;调试时设为false |
LYCHEEMEM_AUTO_CONSOLIDATE_COOLDOWN_SECONDS | 60 | 固化冷却时间,调试时设为0 |
LYCHEEMEM_SMART_SEARCH_TOP_K | 5 | 每次召回的记忆条数上限 |
LYCHEEMEM_RESPONSE_LEVEL | minimal | 召回详略级别(minimal / compact / full) |
⚙️ 调试记忆流水线时推荐组合:
LYCHEEMEM_AUTO_CONSOLIDATE_BACKGROUND=false+LYCHEEMEM_AUTO_CONSOLIDATE_COOLDOWN_SECONDS=0,让固化同步执行、立即生效,再观察服务端日志中的/memory/append-turn、/memory/consolidate、/memory/smart-search调用。
六、常见问题排查
/plugins中看不到lycheemem:确认软链接存在(ls -la ~/.hermes/plugins/lycheemem),重新执行hermes plugins enable lycheemem后重启 Hermes。/lycheemem health失败:先用curl "$LYCHEEMEM_BASE_URL/health"验证服务,通常是端口或LYCHEEMEM_BASE_URL不一致。recall返回空:回忆需要先固化。改用同步固化参数重跑测试,并检查.env中的EMBEDDING_API_BASE;历史数据较多时首次启动会回填向量,属于正常现象。- 修改 Claude Code 插件或 MCP 配置后不生效:必须重启 Claude Code。
七、总结
LycheeMem 的 Claude Code 与 Hermes 插件展示了一套通用的"记忆接入"范式:用生命周期 hook 实现无感自动召回与会话镜像,用异步 consolidation 完成记忆固化,再用 slash 命令 / MCP 工具保留手动调试通道。接入后,Agent 无需依赖模型"想起来调用工具",记忆召回变成确定性的基础设施行为。
如果你正在构建跨会话的 AI 助手,这套工作流值得直接复用:先pip install lycheemem跑起服务,再按本文第三节或第四节接入你的 Agent 运行时,十分钟即可验证完整的"记住 → 召回 → 固化"闭环。
【免费下载链接】LycheeMem
Lightweight Long-Term Memory for LLM Agents.
相关推荐
Loop 快速上手:macOS 窗口管理免费工具完整指南
Loop 快速上手:macOS 窗口管理免费工具完整指南 Loop 是一款 macOS 窗口管理工具,它用一个触发键加环形菜单,把窗口分屏、对齐、换屏这些操作压
桌面应用OpenViking × OpenCode 记忆插件接入指南:安装、配置与自动召回实战
OpenViking × OpenCode 记忆插件接入指南:安装、配置与自动召回实战 OpenViking 为 OpenCode 提供了官方维护的统一记忆插件
人工智能AI AgentAgent 记忆RAG后端数据库Isaac Lab 基准测试框架实战:5 个关键机制让性能回归无所遁形
Isaac Lab 基准测试框架实战:5 个关键机制让性能回归无所遁形 如果你的仿真环境最近被改过几次,你是否遇到过这样的场景:某个 PR 合并后训练"感觉变慢
人工智能强化学习机器人具身智能深度学习
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考