news 2026/10/14 17:43:52

如何让你的AI Agent自己想起历史?deja-vu MCP服务器与Hooks自动召回配置教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何让你的AI Agent自己想起历史?deja-vu MCP服务器与Hooks自动召回配置教程

【免费下载链接】deja-vu

Memory for Claude Code, Codex, Cursor and 38 more coding agents, built from the session history already on your disk. Local search, MCP and hooks, no LLM, one Go binary.

项目地址:https://gitcode.com/gh_mirrors/dej/deja-vu
点击查看免费下载

deja-vu 是一款本地运行的 AI Agent 记忆层:它把 Claude Code、Codex、Cursor 等 41 款编程智能体已经写在磁盘上的会话历史建成索引,再通过 MCP 服务器和 Hooks 把记忆自动召回给正在干活的 Agent——不需要 LLM、不需要向量库,只装一个 Go 二进制。下面是完整的配置教程。

为什么 Agent 每次都"失忆"

用过 Claude Code 或 Codex 的同学大概都有这个体验:

  • 上个月修好的connection pool exhausted,这次又从头调试一遍;
  • 上次定下的架构决策,换个 Agent 接手就全盘重议;
  • 会话被压缩(compaction)后,任务目标、失败的命令全丢了。

好消息是:这些历史并没有丢。每个 Agent 都会把每次会话写到本地文件(如~/.claude/projects、~/.codex/sessions),只是没人把它们变成可检索的记忆。

如上图所示,没有人手动搜索——是 Agent 自己调用了 deja-vu 的 MCP 工具完成召回。

三步装出记忆:deja-vu 一键安装步骤

deja-vu 的核心设计是"安装即满血":装完当天,几个月前的历史就已全部可搜索(官方实测 17.6 秒索引 19,195 个会话)。macOS / Linux 上只需两条命令:

curl -fsSL https://raw.githubusercontent.com/vshulcz/deja-vu/main/install.sh | sh deja install --auto

第二条deja install --auto是关键,它一次完成三件事:

  1. 把 MCP 召回接进它找到的每一个 Agent(写入各 Agent 的 MCP 配置);
  2. 在支持的地方打开会话启动召回(即 Hooks 自动召回);
  3. 建好第一份索引,让下一次会话不必等待。

其他安装方式:brew install deja-vu、npm i -g @vshulcz/deja-vu、go install .../cmd/deja@latest;Windows 用scoop install deja-vu或winget install vshulcz.deja-vu。仓库入口 install.sh,中文安装说明见 README.zh.md。

装完后打开一个新会话,问一句几个月前做过的事,比如"我们以前处理过 jwt refresh rotation 吗?"——开启自动召回后,Agent 打开会话就已经知道答案,你甚至不用特意去问。

MCP 服务器配置:一个工具,八种模式

deja-vu 的 MCP 服务器只暴露一个工具deja(通过deja mcp以 stdio 方式启动),用mode参数区分用途。官方配置文件 mcp.json 长这样:

{ "mcpServers": { "deja": { "type": "stdio", "command": "deja", "args": ["mcp"] } } }

少而精的设计带来了实打实的 token 收益:一个工具每轮只占 477 token 的定义开销,而同类服务器最大的是它的 17 倍。各mode的作用:

模式Agent 问什么返回什么
recall问题、报错原文高相关历史片段(≤4KB)
context同 recall最佳匹配会话的 Markdown 摘要,含改过的代码
blame文件路径哪些会话讨论过这个文件、定了什么结论
fix失败的输出这台机器上次遇到同样报错后做了什么
how工具名,如go test本机真实跑通过的调用方式(含完整参数)
orient无需参数本项目历史上跑过的命令和文件,帮新会话"定向"
remember一条持久决策存下来供以后召回
handoff会话 id目标、结论、进度交接,方便换 Agent 继续

想不装 MCP 也能用:deja warmup会写一个技能文件到~/.agents/skills/deja-search/SKILL.md,教会 Agent 直接走 CLI(deja search --json等),仓库副本见 skills/deja-search/SKILL.md。

Hooks 自动召回:记忆在五个时刻自己出现

这是 deja-vu 最出彩的部分。deja install --auto会在 Agent 支持的地方挂上 hooks,让记忆在五个时刻自动送达——Agent 不需要"想起来问":

触发时刻Hook作用
① 会话启动hook-context送达本项目相关的历史决策、未关闭的待办
② 每次提问hook-prompt若这个问题已解决过,直接提示deja-vu: you have been here
③ 编辑/执行前hook-tool(PreToolUse)给出该文件/命令此前的结论和有效的调用方式
④ 命令失败时hook-tool-after(PostToolUse)报出本机上次从同样报错中恢复的修复手段
⑤ 上下文压缩前hook-precompact保住任务目标、结论、命令成败,压缩后原样交还

以 Claude Code 插件为例,失败回调的声明在 claude-plugin/hooks/hooks.json 里一目了然:

{ "hooks": { "PostToolUseFailure": [{ "matcher": "Bash|PowerShell", "hooks": [{ "type": "command", "command": "\"${CLAUDE_PLUGIN_ROOT}/hooks/deja.sh\" hook-tool-after" }] }] } }

各 Agent 的挂载脚本统一是deja.sh分发到上述子命令(源码入口 cmd/deja/main.go,Claude Code 钩子脚本见 claude-plugin/hooks/deja.sh)。每个 hook 都是本地词法检索:端到端约 0.2 秒,不会拖慢 Agent,更不等待任何模型。

终端里直接敲deja(无参数)就打开图中的搜索界面:↑↓选会话、↵打开、r恢复、o换 Agent 继续,支持codex:、today、in:<项目>等筛选。

常用命令速查与自检:装完怎么验证

装完建议跑一遍deja doctor——它会逐项报告 MCP 是否接好、hook 是否生效、索引是否健康。平时最常用的几个命令:

  • deja "jwt refresh token"—— 全量历史搜索(多词为 AND,支持模糊词形);
  • deja brief—— 今日会话 + deja 已送达过什么 + 最近工作概览;
  • deja wip—— 当前目录上一个会话在干什么、卡在哪条命令;
  • deja fix <报错>—— 本机历史上从同样报错中恢复的修复;
  • deja friction—— 在 3 个以上会话里反复出现的错误(附 Agent 名);
  • deja log --last—— 回放 Agent 上一次实际收到的召回内容,排查"它看到了什么"。

隐私方面可以放心:索引、搜索全部本地(~/.cache/deja),建索引时密钥、token、PEM 等会自动替换为[redacted:<kind>];不想索引的项目逐行写进~/.config/deja/exclude即可。完整数据流见 docs/SECURITY-MODEL.md。

总结:十分钟,给 41 个 Agent 装上共享记忆

回到本文开头的场景:接好 MCP + Hooks 之后,你在 Codex 里修好的坑,Claude Code 接手时自动记得;会话被压缩后,任务和命令的成败记录原样交还;新会话一打开,项目过去的决策就已经在上下文里。这就是 deja-vu 的完整价值闭环:

  1. install.sh+deja install --auto两条命令完成全部接线;
  2. MCP 单工具deja覆盖 recall / context / fix / how 等 8 种查询模式;
  3. Hooks 在会话启动、每次提问、编辑前、命令失败、压缩前五个时刻自动召回,全程本地、毫秒级。

相关文档:ARCHITECTURE.md(索引与数据流)、compaction.md(压缩时保住了什么)、docs/readme/README.zh.md(完整中文说明)。

【免费下载链接】deja-vu

Memory for Claude Code, Codex, Cursor and 38 more coding agents, built from the session history already on your disk. Local search, MCP and hooks, no LLM, one Go binary.

项目地址:https://gitcode.com/gh_mirrors/dej/deja-vu
点击查看免费下载

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/14 17:42:07

用Python构建测井曲线清洗与地质剖面图绘制工作流

简介&#xff1a;geolog-app 是一份基于 Python/Django 开发的地质类 Web 应用源码包&#xff0c;面向初入门的 Web 开发者或想了解 Django 项目结构的读者。压缩包仅 14KB&#xff0c;共 22 个文件&#xff0c;以 14 个 .py 文件为核心&#xff0c;覆盖路由、视图、模型、配置…

作者头像 李华
网站建设 2026/10/14 17:41:06

周报写得越漂亮的项目,死得越快

干了这么多年项目和产品&#xff0c;我有个邪门观察&#xff0c;说出来你们可能不信&#xff1a;周报写得越漂亮的组&#xff0c;项目死得越快。不信你回想一下&#xff0c;是不是这么回事儿——当年我同时盯两个项目。A组周报永远三行字&#xff1a;进度正常&#xff0c;风险没…

作者头像 李华
网站建设 2026/10/14 17:40:25

Remix IDE智能合约开发实操指南:从编译部署到调试排错

做智能合约开发&#xff0c;尤其是刚起步的时候&#xff0c;绕不开一个叫 Remix 的在线 IDE。它在以太坊生态里的地位&#xff0c;几乎相当于记事本之于写网页——看着简陋&#xff0c;但谁都得先拿它上手。我见过不少人一上来就追新工具、配命令行环境&#xff0c;结果被环境问…

作者头像 李华
网站建设 2026/10/14 17:40:03

华笙软件分析与选点全流程:从参数配置到脚本自动化避坑指南

简介&#xff1a;这份资源围绕华笙软件的分析与选点展开&#xff0c;面向从事电子制造、治具制作与电路板测试的工程师及软件分析人员&#xff0c;重点解决EzGrid与siland等工具在治具设计、四线测量场景中的功能评估与版本选型问题。压缩包共2562个文件&#xff0c;约22.28MB&…

作者头像 李华
网站建设 2026/10/14 17:39:30

C# Winform串口助手开发实战:SerialPort稳定收发与避坑指南

简介&#xff1a;这是一款基于C# WinForm开发的串口调试助手源码&#xff0c;面向正在学习串口通信、需要快速搭建上位机调试工具的开发者&#xff0c;尤其适合具备一定C#基础、希望深入理解SerialPort类用法的中初级程序员。资源包共26个文件&#xff0c;以8个cs源码文件为核心…

作者头像 李华