DeepSeek Harness (DSH) 的智能体在会话之间是无状态的。对话中产生的上下文(项目决策、约定、调试技巧)仅存在于该对话中,会话结束后即消失。内置的 AGENTS.md 虽然是持久化文件,但它是静态的、项目级的指令文件:智能体无法自行更新,且将服务器地址、拓扑结构等敏感信息写入项目目录存在误提交的风险。
dsh-workspace-memories 是一个为 DSH 提供工作区级持久化记忆的插件。它为每个工作区创建独立的记忆文件,默认存储在 DSH 数据目录外,并在每个会话中自动注入系统提示,同时提供侧边栏面板和智能体工具来管理记忆。
核心功能¶
- 侧边栏管理:通过 Workspace Memory 侧边栏面板,浏览、创建、编辑或删除记忆文件。
- 智能体工具:注册
save_workspace_memory工具,允许智能体在对话中主动保存新的记忆。 - 自动注入:每个工作区的会话系统提示中都会自动包含该工作区的记忆文件内容。
- 存储模式配置:支持
home(默认,DSH 数据目录外)和workspace(项目目录内)两种存储模式。
安装与启用¶
使用 DSH 的插件安装命令添加该插件:
dsh plugin --profile desktop add github:lengfengng-tech/dsh-workspace-memories
安装完成后,可在侧边栏的插件页面找到并启用该插件。
典型用法¶
- 创建记忆:打开侧边栏中的“Workspace Memory”面板,选择“New file”创建 Markdown 格式的记忆文件。
- 智能体保存:在对话中输入指令,例如“remember: this project uses pnpm, not npm”。智能体会调用
save_workspace_memory工具将此信息持久化。 - 配置存储:通过配置项设置
storage: home(默认,存储在 DSH 数据目录)或storage: workspace(存储在工作区目录下)。
注意事项¶
- 会话刷新:工具注册后立即生效,但模型可见的工具列表是在每次会话开始时构建的。如果安装或升级后未开启新会话,模型可能无法看到
save_workspace_memory工具(PTC 模式下尤为明显)。建议开启新会话或发送新消息以更新工具列表。 - 权限与范围:浏览器面板的操作仅限于已注册的
workspaceId,无法访问任意路径。 - 文件限制:
- 文件名必须严格验证,不允许包含路径分隔符(如
/)、..、空白字符或控制字符。 - 单个文件大小上限为 1 MiB。
- 注入系统提示时,每个文件会被截断至 32K 字符,且记忆文件总数上限为 20 个。
- 文件名必须严格验证,不允许包含路径分隔符(如
- 许可与性质:该插件采用 MIT 许可证,为社区维护插件,非 DeepSeek 官方产品。
总结¶
dsh-workspace-memories 通过外部存储和自动注入机制,弥补了 DSH 原生无状态和 AGENTS.md 静态不可更新的缺陷。它让智能体能够在会话间保持一致性,同时也让开发者能更好地控制记忆的生命周期。
- 插件目录:SkillHub
- GitHub 仓库:lengfengng-tech/dsh-workspace-memories