前言¶
DeepSeek Harness (DSH) 的一个会话通常以“空白 slate”开始:对话记录保存在磁盘上以备审计,但模型无法再次访问历史内容。这导致项目偏好、决策约束等持久化事实无法在重启或配置切换后保留。dsh-memory-lite 插件为智能体提供了一个显式的 memory 工具,使这些事实能够跨会话持久化。
这是什么¶
pacoyi/dsh-memory-lite 是 DeepSeek Harness 的轻量级跨会话记忆插件。它提供了一套审批门控的 memory 工具(保存/召回/列表/遗忘)以及设置页的“记忆库”UI 卡片。插件完全本地化,不发送网络请求或遥测数据,所有数据存储在本地 JSON 文件中。
核心功能¶
- memory 工具
提供四种操作:save(保存)、recall(召回)、list(列表)、forget(遗忘)。 - 设置卡片 UI
在 DSH 的设置页提供“记忆库”卡片,支持查看、新增、删除、回收站恢复,以及导入向导和导出面板。 - 审批门控
save和forget操作需要主机审批(tools/pre-execute),防止未经授权的写入。 - 导入/导出
支持幂等的记忆导入导出,支持从其他 Agent(如 Claude Code 的CLAUDE.md)迁移记忆。 - 范围隔离
记忆范围基于主机执行上下文(会话工作目录),不同项目之间互不可见。 - 审计日志
记录每次变更的意图、提交状态、来源和条目 ID。 - 本地存储
数据存储在~/.dsh/memory-lite.*,文件损坏时会被隔离,不会静默覆盖。
安装与启用¶
需要先安装 DSH CLI。安装命令如下:
dsh plugin --profile web add github:pacoyi/dsh-memory-lite
安装后,重启对应的 profile(例如 dsh --profile web),memory 工具即可使用。
典型用法¶
直接与智能体对话即可触发记忆工具。智能体会决定何时保存和召回,并先请求用户审批。
示例对话:
* “记住:这个项目用 pnpm,不要用 npm”
* “我之前跟你说过什么关于部署的事?”
工具参数:
| 参数 | 适用操作 | 描述 |
|---|---|---|
operation |
全部 | save | recall | list | forget |
text |
save | 要记住的笔记内容,需自包含且 ≤ 2000 字符 |
tags |
save | 可选标签,如 ["preference", "project-x"],最多 8 个 |
query |
recall | 关键词,不区分大小写匹配文本和标签 |
tag |
recall | 匹配携带该标签的条目 |
limit |
list/recall | 返回的最大条目数,默认 10,最大 100 |
id |
forget | 要移入回收站的条目 ID |
注意与限制¶
- 隐私与数据安全
插件本身不发送网络请求。但recall和list的结果会进入模型可见的对话面,发送给模型提供商,并记录在会话日志中。切勿在此存储敏感数据(如 API Key、客户数据、私有源代码)。 - 内容限制
- 笔记长度 ≤ 2000 字符
- 标签数量 ≤ 8 个
- 单个条目 ID ≤ 1000 个
- 环境要求
需要 Node.js >= 20。 - 文件编辑
如果需要直接编辑~/.dsh/memory-lite.json,必须停止 DSH 主机进程,因为插件拥有并发写入权限。
短结尾¶
dsh-memory-lite 适合需要在多个会话间保持项目上下文、注重审计和安全性的开发者。它通过本地文件存储和审批机制,提供了一种轻量、可控的 Agent 记忆方案。更多细节可查看 GitHub 仓库。