前言¶
DeepSeek Harness (DSH) 在处理复杂任务时,工具日志容易迅速撑爆上下文窗口。dsh-memory-canvas 插件解决了这个问题。它将大量的工具日志卸载到本地文件系统,同时保持任务画布的 Mermaid 结构在上下文中,并通过 node_id 进行记忆召回。该插件由 guobinmengxiang-rgb 维护,无需后台守护进程。
核心功能¶
该插件通过暴露以下工具供 Agent 调用,实现记忆管理:
-
memory_offload
- 参数:
title(必填),body(必填)。 - 结果:返回简短的
id、文件路径,并更新画布。
- 参数:
-
memory_recall
- 参数:
id(必填)。 - 结果:返回存储的
body(截断至 8k 字符并附带说明)。
- 参数:
-
memory_canvas
- 参数:无。
- 结果:返回任务画布的 Mermaid markdown。
存储与限制
* 默认存储路径为 <cwd>/.dsh-memory/canvas.md 和 <cwd>/.dsh-memory/refs/{id}.md。
* 可通过环境变量 DSH_MEMORY_DIR 覆盖根目录。
* 画布节点使用 24 字符的标题;完整文本保存在 refs/ 目录下。
安装与启用¶
- 安装插件到指定配置文件:
dsh plugin --profile web add github:guobinmengxiang-rgb/dsh-memory-canvas
- 检查配置层是否已添加(无需启动进程):
dsh --profile web --dump-config
你应该能看到 `dsh-memory-canvas` 层。确认无误后,像往常一样启动该配置文件。
典型用法¶
Agent 必须显式调用上述工具,插件不会自动拦截工具日志。仓库中包含一个 demo.mjs 示例,演示了写入 refs/、打印画布、通过 ID 回忆以及断言 body 匹配的完整流程。
注意事项¶
- 开发者预览:DeepSeek Harness 处于开发者预览阶段,存在破坏性变更。
- 本地运行:插件在你的机器上运行,不涉及云端数据传输。
- 工具区分:不要安装错误的
dsh。官方 CLI 是npx @deepseek-ai/dsh web。PyPI 包deepseek-harness-cli是一个不同的工具(用于dsh doctor/dsh chat)。 - 配置文件:该插件的
cordis.patch.yml捆绑使用包名dsh-memory-canvas,而不是文件系统路径。
总结¶
dsh-memory-canvas 提供了一个轻量级、基于文件的记忆层,适合需要管理大量工具输出的 DSH 代理任务。更多细节和源码可参考 GitHub 仓库。