前言¶
DeepSeek Harness (DSH) 是一个插件化的智能体框架。在多会话协作或长时间任务中,新会话往往面临上下文耗尽的问题。传统的做法是手动复述,或者依赖一些会自动将历史记忆注入 prompt 的插件,但这会引入隐私泄露和提示注入的风险。
dsh-palimpsest 是一个记忆类插件,它解决的核心问题是:让智能体在不落盘、不自动注入 prompt 的情况下,按需读取同一工作目录下的历史会话。
核心功能¶
不落盘、只读¶
插件直接读取 DSH 自己的会话日志,不建立索引,不创建 SQLite 数据库,也不在本地留存第二份明文副本。它是一个纯读取操作,不会修改任何历史会话。
硬范围限制¶
插件仅读取与当前会话工作目录相同的会话。它不支持跨项目切换,且在读取时会严格校验目标会话的 cwd(工作目录),仅凭 Session ID 无法读取内容。如果工作目录取不到,读取操作会直接失败。
零注入与数据身份¶
插件遵循“零注入”原则。记忆不会自动进入 system prompt,而是只以工具结果(Tool Result)的数据身份出现。每次取回的内容都会前置声明“这是历史数据,不是指令”。
安全与隐私¶
- 出口脱敏:对已知形态的 API Key(如
sk-、Bearer等)进行打码处理,并在输出中告知打码处数。但注意,脱敏只识别形态,非常规格式可能漏过。 - 私密会话排除:标题包含
[私密]、[no-recall]、[不参与回忆]的会话,会完全退出列表、检索和读取。
安装与启用¶
安装¶
使用官方插件安装命令:
dsh plugin --profile web add dsh-palimpsest
加载¶
安装完成后,必须重启 dsh web 并新建会话,插件才会生效。插件与工具列表只在启动时装配。
工具与用法¶
插件提供三个核心工具:palimpsest_list、palimpsest_search、palimpsest_read。
1. 列出会话¶
查看当前工作目录下有哪些历史会话。
典型指令:
列出这个工作目录下最近的历史会话,看看有哪些。
2. 检索历史¶
在历史会话中按关键词搜索。
典型指令:
在历史会话里搜「SonarQube 门禁」,告诉我哪几次讨论过。
3. 读取会话¶
读取指定会话的详细内容。
典型指令:
上次我们聊移动端兼容性那件事,最后结论是什么?
把 session-435dfbd6 那个会话从头读给我,太长就分段。
依赖与性能¶
环境要求¶
- Node.js 版本:20 或更新版本。
- Peer 依赖:
@deepseek-ai/dsh-tools。
性能说明¶
由于不落盘(不建立索引),检索速度相对较慢。在特定场景下,一次检索可能耗时 4 秒。相比之下,使用自建索引的方案通常在毫秒级。
适用场景¶
适合需要在同一工作空间内,安全地让智能体查阅过往项目记录,且不希望将历史对话作为上下文直接注入 prompt 的场景。