跨会话记忆管理插件 (Workspace Memory DSH)

前言

在 DeepSeek Harness (DSH) 架构中,Agent 在会话间丢失上下文是常见问题。现有的目录扫描方式缺乏语义结构,难以复用项目进度。该插件旨在为 DSH 提供跨会话的持久记忆管理能力,让 Agent 能够记住任务内容、进度和决策原因。

插件简介

插件全称为 workspace_memory_dsh,由开发者 LYRA-88 维护。它基于 DSH 架构,在会话工作区下维护 project_memory/ 目录,通过命题图和三层内存漏斗将对话内容转化为结构化的节点索引,并注入模型上下文,使 Agent 按“覆盖命题”导航,而非扫描无类型目录。

核心功能

该插件包含以下核心机制:

  • 跨会话持久记忆管理:保存项目进度、任务状态和关键决策。
  • 命题图:将原子命题归类为覆盖命题(节点),构建节点网络(nodeEdges 和 entryLinks)。
  • 三层内存漏斗:每节点下分为 core.md(核心事实)、regular.md(常规记忆)和 log/<sessionId>.md(过程日志,不做向量化)。
  • 混合检索:支持向量(余弦距离)与词法检索,通过 RRF 算法融合结果。
  • 浏览器端审查面板:提供预览和确认界面,Agent 可审阅记忆更新并提交。
  • 有界节点索引注入:将结构化的节点索引有界地注入模型上下文。

安装与启用

插件安装路径位于代码仓库外部。执行以下命令安装:

dsh plugin --profile web add <path-to-this-plugin>

安装后需重启 dsh web 进程才能生效。

使用方式

插件提供了客户端组件和远程 API 两种调用方式。

客户端组件

  • MemoryButton (conversation.input.memory):在当前会话输入区打开记忆预览/确认面板。
  • MemoryPreviewPanel (conversation.input.overlay):读取有界子项目的文档,预览更新 diff 并提交,支持绑定/解绑会话。
  • MemoryTreeSection (sidebar.workspaces.memoryTree):在侧边栏渲染工作区记忆组。

远程 API

通过 workspaceMemory 命名空间调用,支持的方法包括:
* listSubprojects / listSubprojectsByPath
* bindSession / classify / commitClassify
* previewUpdate / commitUpdate
* search
* memoryReindex / memoryStatus
* 以及删除、重命名、会话列表查询等方法。

存储与配置

每个工作区下会生成 project_memory/ 目录,包含 .registry.json(注册表)、manifest.json(Schema 3)、向量分片 (vec/) 和图结构 (graph.json)。

嵌入配置

插件支持通过 api.json 配置 OpenAI 兼容的 Embedding 端点。如果配置缺失或无效,插件会自动降级为纯词法模式(Lexical-only),同时保留图结构。

{ "embedding": { "baseUrl": "https://…/v1", "apiKey": "sk-…", "model": "text-embedding-3-small" } }

适用场景与注意事项

该插件专为 Session Memory(会话记忆) 设计,主要用于保存和恢复项目进度、任务状态、决策原因及下一步计划。它并非为大型知识库或通用长期存储系统构建,适合在几到十几次会话内完成的工作流。

  • 运行依赖:必须依赖 DSH 主机(CLI 或 web 进程)运行。
  • 版本迁移:早期版本(带 dimensions 树的 manifest)在首次加载时会自动迁移。
  • 权限与安全:安装前应检查源码与许可证(MIT)。

总结

该插件通过结构化的命题图和三层漏斗,为 DSH Agent 提供了可控的跨会话记忆机制。通过混合检索和浏览器审查面板,可以在保持上下文连贯性的同时,降低记忆管理的复杂度。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜