前言¶
DeepSeek Harness (DSH) 采用了插件化架构。在进行复杂的智能体开发或任务编排时,维护一套稳定的系统指令是核心需求。dsh-instruction-memory 专门解决这一痛点:它允许用户在 DSH 的设置界面维护长期指令,这些指令会被自动注入到后续每一轮对话的系统提示词中,而无需用户手动重复输入。
核心功能¶
本插件提供以下核心能力:
- 用户主导的维护:指令内容仅由用户输入和修改,模型无任何写入权限,确保指令的准确性。
- 自动注入:维护的指令会自动附加到每一轮对话的系统提示词中。
- 多实例并发保护:支持多实例与多窗口并发,通过写锁和修订号机制防止数据冲突。
- 外部文件同步:通过 SSE 机制,外部修改文件会自动触发设置页刷新。
- 数据管理:支持记忆的导出与导入,也支持直接编辑 JSON 文件。
安装与启用¶
安装插件需要使用 DSH 的插件管理命令。请确保宿主版本落在 peerDependencies 声明的兼容性范围内,否则安装会被拒绝。
dsh plugin --profile web add dsh-instruction-memory
安装完成后重启 DSH,在设置页面会出现「指令记忆」入口。如需卸载:
dsh plugin --profile web remove dsh-instruction-memory
使用方法¶
- 添加指令:在设置页的「指令记忆」模块中,点击添加条目,输入标题、内容和适用场景。
- 配置优先级:通过优先级控制注入顺序。
- 利用适用场景:填写「适用场景」有助于模型判断该条指令是否适用于当前对话。
- 数据迁移:首次运行时不会立即创建磁盘文件(惰性创建),第一次保存或导入时会自动生成。
数据存储与同步¶
记忆文件默认存储在 DSH 数据根目录下:
<DSH_HOME>/instruction-memory/memory.json
DSH_HOME 默认为 ~/.dsh。路径优先级遵循官方 @deepseek-ai/dsh-home-paths 规范。
- 外部文件修改:设置页打开期间,如果外部进程修改了
memory.json,设置页会通过 SSE 机制自动刷新,无需手动重新载入。 - 备份与恢复:保存操作采用原子替换策略。若
memory.json解析失败,系统会自动尝试从memory.json.bak恢复。 - 导出与导入:支持将记忆导出为 JSON 文件,也支持从文件导入并合并现有记忆(去重逻辑:按 id 与「标题+内容」)。
技术要求与注意事项¶
- 环境要求:宿主环境需满足 Node.js >= 20。
- 注入限制:注入字数上限为 40000 字符,超出时按优先级截断。
- 版本兼容:宿主版本必须在
peerDependencies声明的范围内,否则安装会被拒绝。 - 安全提示:若宿主绑定到非回环地址(如
0.0.0.0),插件会自动关闭 Host 头校验以避免阻断正常访问,此时路由不再具备安全防护,存在被恶意请求修改指令的风险,需自行承担安全责任。