前言¶
在 DeepSeek Harness(DSH)里跑智能体时,会话结束后上下文往往就断了:项目约定、个人偏好、上次踩过的坑,下次要重新说明一遍。有人把要点写进仓库里的文档或规则文件,也有人靠每次对话开头手动粘贴摘要。前者要维护文件、不一定能随对话自动进入上下文;后者费时且容易漏。
下面介绍社区插件 dsh-memory-local(维护者 LISHUANGXI1412):在本机维护可跨会话的记忆条目,通过 Agent 工具显式读写,并把与当前任务相关的片段以有界块注入 system prompt;可选 Settings 页面做可视化管理。分类为「记忆」,当前 GitHub 星标为 1。插件归属社区生态,目录页见 SkillHub,源码见 GitHub。
这是什么¶
dsh-memory-local 的定位是:面向 DSH 的 local-only 跨会话记忆——不上传、不用 embedding、不连云。Agent 通过一组记忆工具写入与查询;插件把相关条目注入 system prompt(作为 bounded local-memory 块,不作为指令)。版本 0.1.1,许可证 MIT,运行环境要求 Node.js >= 20。
核心功能¶
Agent 工具¶
插件向 Agent 暴露以下工具(名称以 README 为准):
memory_remember— 写入记忆memory_recall— 召回memory_list— 列出memory_forget— 删除memory_inspect— 检查
写入是显式的:对话内容不会自动被抓进记忆库。
System prompt 注入¶
与当前上下文相关的记忆条目会注入 system prompt,形式为本地记忆块,并设有上限:最多 8 条、合计约 2000 字符;单条内容上限 4 KiB。
Settings 页面¶
安装并启用 Client 侧能力后,可在 Settings → Memory 管理记忆:增删改、置顶(pin)、搜索、删除,并预览下一次注入内容。该页面通过 settings.section 注册。
存储与作用域¶
默认目录为 ~/.dsh/memory/:
| 文件 / 路径 | 含义 |
|---|---|
global.json |
所有工作区共享的全局条目 |
projects/<id>.json |
按工作区(项目)隔离的条目 |
index.json |
工作区路径与 project id 的映射 |
可通过环境变量 DSH_MEMORY_DIR 覆盖存储目录。
作用域默认是 project(当前工作区);需要跨工作区跟随时,写入时使用 scope: "global"(需主动选择,适合稳定的用户偏好)。
安全与边界¶
README 中列出的约束包括:
- 形似凭证的内容会被拒绝(前缀如
npm_、ghp_、github_pat_、sk-、Bearer等)。 - 删除走
memory_forget/ 管理页,需显式操作。 - 无网络、无 embedding、无云同步。
Host 侧(工具与注入)可不依赖设置页单独使用;Client 半部与 Host↔Client 远程桥接依赖 @deepseek-ai/dsh-typert-protocol(package.json 中为 0.2.1-rc.2)。
安装与启用¶
官方 README 给出的安装方式是对本地检出目录执行 bundle 安装,而不是凭仓库名拼接在线安装命令:
# install the local checkout into a profile
plugin_manager install_bundle <absolute path to this directory>
将 <absolute path to this directory> 换成你本机插件目录的绝对路径。安装完成后打开 Settings → Memory 即可使用管理页(若已加载 Client 相关注入)。
DSH 插件以当前 DSH 进程权限运行;安装前请自行阅读源码与 MIT 许可证,确认存储路径与工具行为符合你的安全要求。
典型用法¶
README 未给出完整对话示例,可复现的流程如下:
- 按上一节完成
plugin_manager install_bundle。 - 在会话中让 Agent 调用
memory_remember写入项目约定或偏好(默认 project 作用域;跨工作区共用则使用scope: "global")。 - 新会话中用
memory_recall/memory_list查看,或依赖自动注入的 local-memory 块(可在 Settings → Memory 预览注入结果)。 - 过期或错误条目用
memory_forget删除,或用memory_inspect核对后再删。
管理页适合批量搜索、置顶和编辑,与工具调用互补。
适用场景与注意¶
适合:希望在 DSH 内保留本机、可审计的跨会话要点;不想把记忆交给第三方云服务;需要 project / global 两级作用域的团队或个人。
注意:
- 记忆质量取决于 Agent 是否按你的意图调用
memory_remember,插件不会自动从聊天里「学」内容。 - 注入有条数与字符上限,不宜把大段文档整段塞进记忆;长文仍适合放在仓库文档中。
- 社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,安装与升级以 GitHub 仓库说明为准。
结尾¶
dsh-memory-local 用本地 JSON 存储、显式工具 API 和有界 system prompt 注入,在 DSH「一切皆插件」的生态里补了一层跨会话记忆,并可选图形化设置页。若要进一步了解实现与 issue,请访问 GitHub 仓库 与 SkillHub 目录页。