前言¶
在 DeepSeek Harness (DSH) 中,Agent 的记忆默认是会话绑定的。当会话重置或重启服务后,之前的上下文信息通常会丢失。如果需要 Agent 在多轮对话中保持对用户偏好、历史关键信息的记忆,需要额外的持久化机制。dsh-memory-panel 插件提供了工具函数和可视化面板,解决了这一需求。
插件概述¶
该插件由 x2it 维护,分类为“记忆”。它为 DSH Agent 提供了一套持久化存储工具,并在 Web 界面的侧边栏提供了一个面板,用于可视化展示 Agent 记住的条目。
核心功能¶
插件提供了以下 Agent 工具和 UI 功能:
- 记忆工具:
memory_save:存储或更新一条记忆(通过 key 标识)。memory_recall:按关键词或分类搜索记忆。memory_list:列出所有记忆,支持按分类过滤。memory_delete:通过精确的 key 删除单条记忆。memory_clear:删除所有记忆(需确认)。
- Web 侧边栏面板:在 Web 界面侧边栏点击“记忆”按钮,可打开面板查看存储内容。面板跟随 UI 语言(中文/英文),且会对通过隧道访问的情况发出警告。
- 数据与安全机制:
- 存储位置:记忆内容以明文存储在
~/.dsh/memory.json。 - 原子写入与并发:使用原子写入(先写入临时文件再重命名)和并发队列机制,避免数据覆盖。
- 损坏恢复:如果
memory.json损坏,会自动备份为memory.json.corrupt-<timestamp>并尝试继续运行。 - 增长控制:单条内容上限 4000 字符,存储条目上限 500 条(旧条目会被淘汰),召回结果上限 30 条。
- 存储位置:记忆内容以明文存储在
安装与启用¶
安装命令如下:
# Web 交互模式
dsh plugin --profile web add dsh-memory-panel
# 无头模式(单次运行)
dsh plugin --profile headless add dsh-memory-panel
# 或直接从 GitHub 安装
dsh plugin --profile web add github:x2it/dsh-memory-panel
安装完成后,重启 dsh web。在侧边栏点击“记忆”按钮即可看到面板。
验证与用法¶
验证插件是否生效:
dsh --profile web --dump-config | grep memory-panel
安装成功后,Agent 的工具列表中应包含 memory_save、memory_recall、memory_list 等工具。Agent 可以使用这些工具来管理长期记忆。
注意事项¶
- 接口安全:
/api/memory接口目前没有认证机制。请务必将dsh web绑定在localhost或受信任的网络段,避免暴露给公网。 - 数据隐私:记忆内容以明文存储在
~/.dsh/memory.json。不要在此存储您不会直接写在本地文件中的敏感密钥或密码。 - 版本依赖:插件依赖
@deepseek-ai/dsh-tools(>=0.0.1-rc.1 <0.2.0)。
总结¶
dsh-memory-panel 适合需要在 DSH Agent 中构建长期上下文记忆功能的开发者。该项目采用 MIT 许可证开源。更多信息可在 GitHub 仓库 查看。