这个项目能做什么

deja-vu 是面向 AI 编码代理的纯本地记忆层。它索引 34+ 代理——包括 Claude Code、Codex CLI、Cursor、Copilot CLI、Gemini CLI、Goose 等众多代理——已经写入磁盘的会话记录,并让这些历史记录在所有代理之间可搜索。在一个代理中找到的修复方案,可以在任何其他代理中检索到。 核心能力: - 回溯搜索:查询数 GB 的既有历史记录,包括安装 deja-vu 之前的会话。自然语言查询会回退到相关性层级;时间只是提示,不是过滤器。 - 通过 MCP 实现跨代理召回:在 `recall` 模式下使用单个 `deja` MCP 工具,即可回答诸如“我们三周前修好了这个”之类的问题,无论最初解决问题的是哪个代理。 - 压缩存活:在 Claude Code 和 Codex 上,钩子会在压缩开始时捕获任务、文件和命令,然后在下一个会话中一次性返回它们。在 43 次压缩中测得,摘要保留了 77% 的决策,但只保留了 0.2% 的命令;deja-vu 会恢复其余部分。 - 行动点召回:在代理编辑文件或运行命令之前,deja-vu 会呈现先前的决策或可用的调用方式。PostToolUse 钩子会回答此前同一错误之后发生了什么。 - 工作索引:记录打开的文件、带退出状态的已运行命令,以及精确的编辑范围——这些是摘要会丢弃的细节。 - 脱敏:AWS 密钥、API 令牌、JWT、PEM 私钥块、bearer 令牌、URL 凭据和高熵值会在索引时被剥离。 CLI 命令包括:`deja <query>` 用于搜索,`deja blame <path>` 用于文件级历史,`deja fix <error>` 用于过往错误解决方案,`deja friction` 用于反复出现的错误,`deja ctx <query>` 用于生成 markdown 摘要,`deja sync ssh` 用于机器到机器的记忆传输,以及 `deja stats --card` 用于可视化摘要。`deja forget` 会写入墓碑,以防止已删除的会话被重新索引。 安装方式包括 curl 脚本、Homebrew、Scoop、Go install 或 npx。`deja install --auto` 会将 MCP 召回接入每个检测到的代理,并构建首个索引。可选的语义召回可通过 `deja embed` 使用本地 Ollama、LM Studio 或 OpenAI 兼容端点;即使没有它,词法搜索也可用。 该仓库附带基准测试工具(LongMemEval-S 和 LoCoMo),以及多个 `deja bench` 子命令,用于召回排序、上下文消化、块存活和摄取成本。所有索引和搜索都在本地运行;网络仅由 `deja update`、`deja sync ssh` 和版本检查使用。