跨会话记忆:全文检索所有历史会话(复用 ctx.sessionQuery 的 SQLite FTS5 索引),把最强匹配片段带回当前上下文。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-plugin-recall
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:truelove-dreamer/dsh-plugin-recall
GitHub 来源的插件在安装时会在你的机器上执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
DeepSeek Harness 插件:给模型跨会话记忆 —— 全文检索所有历史会话,把最强匹配片段带回当前上下文。
背景
DSH 已经把每个会话持久化,并用 SQLite FTS5 建了全文索引(ctx.sessionQuery.searchSessions),但没有任何面向模型的工具去读它 —— 新会话对旧会话的决策、命令、踩过的坑一无所知。recall 把这个现成索引变成模型的能力:开新会话先 recall 一下,接着上次的进度继续。
使用
模型工具 recall:
recall query: "we decided to use sqlite" # 默认返回最多 5 个会话
recall query: "publish script" limit: 3
recall query: "权限绕过" sessionIds: ["s_xxx"] # 限定会话范围
返回每个命中会话:session id、时间、事件类型、live/persisted 标记、最强匹配片段。查询按字面短语处理(永不解释为 FTS 可执行语法)。
人类命令 /recall <查询>: 同样输出。
安装
dsh plugin --profile web add dsh-plugin-recall
挂载(标准 web profile 已含 dsh-session-query-sqlite,无需额外配置):
- insert:
- id: recall
name: dsh-plugin-recall
设计说明
- 复用官方基建:直接调用
ctx.sessionQuery.searchSessions(SQLite FTS5),不改任何官方包;sessionQuery未挂载时工具给出明确提示,而不是让组合加载失败。 - 纯逻辑可单测:参数校验 / 请求构建 / 命中映射 / 渲染在
lib/recall.js,npm test零依赖。 - 只拷贝叶字段:命中结果从 live 服务对象提取为纯 JSON(sessionId / time / type / snippet),绝不引用内部对象。
诚实边界
- 依赖
ctx.sessionQuery存在;openAt: never配置下全文检索被禁用时,recall会报错提示。 - 命中片段是 FTS5 的高亮摘录(unicode61 分词器,
AI匹配不到 tokenBRAID这类子串),不是精确回溯;需要精确读取请配合 session 工具。 - 检索范围为当前 DSH_HOME 的持久化会话语料,不含其他机器/部署的历史。
本地开发
cd plugins/dsh-plugin-recall
npm test # node --test,零依赖
接线集成测试(真实 Cordis + mock sessionQuery):见仓库根 test-wiring.mjs。
链接
同类插件
LoserFox/distill★ 15
自动对话蒸馏:后台 subagent 反省 + 技能 create/update。
omdsh-dev/dsh-mnemon★ 14
Mnemon 深度集成:本地三层记忆(Runtime Memory、可检索 Documents、受监督 Memory Spaces)。
modusensus/dsh-mneme★ 8
跨会话记忆:SQLite + 可人工编辑的 Markdown 镜像,后台自动巩固(去重/合并/冲突裁决),提供 6 个记忆工具。
nowledge-co/nowledge-mem-deepseek-harness★ 5
给所有 AI 工具和 Agent 共用的一层记忆:注入 Context Bundle、提示时检索、MCP 工具与回合结束 DSH 线程捕获。
Jesse-njx/dsh-memory★ 2
基于 DSH 无损会话日志的引用式记忆:蒸馏出的事实带 `(sessionId, eventRange)` 引用,可随时展开回原始日志片段。
PerryLink/dsh-memento★ 2
有界、分层、带审批门、可审计的跨会话记忆:`ctx.memory` 服务 + 零依赖 SQLite 存储 + `memory` 工具与冻结快照注入;写入必过审批门,模型可见内容可自会话日志重建。