读取本机上其他三十三个编程智能体已经写下的会话文件——Claude Code、Codex、Cursor、VS Code Copilot Chat、opencode、OpenClaw、Hermes、Kimi、Cline、Zed 等,包括安装之前的历史:提供 deja_recall、deja_session、deja_blame、deja_fix、deja_how、deja_remember 六个工具与 /deja 命令,并可选地把召回结果加入运行时上下文。本地 BM25 索引,不用大模型,不用向量嵌入,不联网(dsh plugin --profile web add dsh-deja)。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-deja
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:vshulcz/deja-vu#path:/extensions/dsh
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
该插件的 README 只有英文版本。
English | 中文
Part of deja-vu. Found it useful? Star deja-vu on GitHub.
DeepSeek Harness can already search its own sessions — that is what the built-in
session-query subsystem does. This plugin answers the other question: what you
did in the other agents on this machine.
deja indexes the session files that thirty-seven other coding agents — Claude Code, Codex, Cursor, opencode, Antigravity, Grok Build, Kimi, Cline and Zed among them — already write to disk. Nothing has to have been recorded ahead of time: the history is already there, including the months before deja was installed. If you moved to dsh last week, everything you did before last week is still reachable from inside it.
Install
dsh plugin --profile web add dsh-deja
From the repository instead of npm — the root manifest re-exports this directory, so either form works:
dsh plugin --profile web add github:vshulcz/deja-vu#path:extensions/dsh
The plugin runs the deja binary. It is pulled in as a dependency, so npm
installs it with the plugin; a deja already on PATH is used as-is, and
DEJA_BIN overrides both.
If you have the CLI, deja install --auto wires dsh too — it adds deja's MCP
server and a /deja command to your profile — and that is the shorter path.
Having both is fine: this plugin looks for what the installer wrote in
$DSH_HOME/plugins/deja/ and contributes only what is missing, so the tools and
the command are never registered twice.
What it adds
Six tools the model can call:
| Tool | Answers |
|---|---|
deja_recall |
Sessions matching an error string, function name, file path or flag. |
deja_session |
The full digest of one past session, when the reasoning behind it matters. |
deja_blame |
The sessions that discussed a file, before you edit or delete it. |
deja_fix |
What this machine ran after that same error before. |
deja_how |
The real invocation for a build, test or deploy, from what ran here. |
deja_remember |
Stores one settled decision for later recall. |
One command: /deja <what to look for>.
And, unless you turn it off, automatic recall: once per session the plugin adds what past sessions settled in this project, and before each step it asks deja whether this machine's history answers the prompt and adds the answer to the runtime context. Silence is the common case — it speaks only when there is something to say.
- insert:
- id: deja
name: dsh-deja
config:
autoRecall: false # tools and /deja only
How it is wired
Recall arrives through ctx.systemPrompt.context, evaluated on every assembly.
The obvious alternative — a middleware on agent/pre-step that splices a
message into the step — loads fine, completes the turn, and never reaches the
model: a later listener in that waterfall rebuilds its answer from the payload
and the added message is dropped with nothing reported. This was settled by
reading the requests dsh 0.1.1-rc.2 actually sent.
What it does not do
No LLM, no embeddings. The index is a local BM25 store over files that already exist, so a query answers in about a millisecond, with no network path unless you ask for one. Secrets are redacted at index time.
Part of deja-vu. MIT.
链接
同类插件
vectorize-io/hindsight#coding-agents★ 46361
Hindsight:会学习的 Agent 长期记忆系统,自动召回/保存、知识页、深度反思与按仓库隔离的记忆银行。
volcengine/OpenViking#examples/dsh-memory-plugin★ 39324
面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`viking://` URI 防护,以及对接 OpenViking 服务端的 recall/write 记忆工具。
agentscope-ai/ReMe#dsh★ 3555
将 DeepSeek Harness 接入 ReMe 本地优先、自进化的个人知识库:自动把已完成的主 Agent 对话沉淀为用户掌控的 Markdown 记忆,通过 reme_search 结合 BM25、可选向量检索和 wikilink 展开搜索对话与资料,并按日整理长期记忆。
zilliztech/memsearch#MemSearch★ 2722
供 DSH 与其他编程 Agent 共享的 Markdown 记忆,支持自动捕获、步骤前上下文注入、搜索召回,以及通过审阅面板实现 memory-to-skill 自进化。
adoresever/graph-memory★ 637
DeepSeek Harness 的可追溯、可检索跨会话记忆:把对话知识沉淀为带类型的图节点(任务/技能/事件)与关系边。
Ikalus1988/MisakaNet★ 524
失败恢复记忆库:从真实工程会话中搜索和记录失败恢复教训,支持 BM25 + 语义 RAG 检索和知识库管理。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。