Spirtxiaoqi7/mindspace-dsh-session-memory

mindspace-dsh-session-memory

Editable, session-isolated personalization memory for DeepSeek Harness

Uncategorizedagent-memorydeepseek-harnessmemory

Mindspace Memory:日常与工作分开,记忆持续维护

English · DeepSeek Harness 社区插件 · MIT

同一个人有工作和生活,同一个对话助手也不必把所有经历混在一起。Memory 根据当前情境加载 Chat 或 Work 记忆,同时让长期记忆在上下文压缩后得到独立维护。

0.7.1 桌面端兼容修复

  • 恢复插件入口:修复 DSH 0.2.0-rc.2 严格通信接口要求变化导致的“设置 → 个性化”和输入框 Chat / Work 按钮缺失,同时保留 DSH 0.1.5-rc.2 的接口兼容。
  • 适配会话接口:正确识别新版桌面端正在查看的会话,并通过工作区导航打开设定继承的新会话。
  • 保留官方人设:“对 AI 的要求”改用插件自己的提示段,不再覆盖官方人设前缀;即使该栏目为空,也不会清空官方设定。
  • 保护记忆文件:无法读取的记忆文件保留原样并报告错误;单个损坏的整理任务不再阻塞其他有效任务。
  • 改善失败与切换处理:初次读取失败显示重试入口,避免模式按钮重叠轮询;切换会话时隔离编辑草稿,防止旧响应写进新会话界面。压缩策略读取失败时,不再用默认值替代后保存。
  • 验证:54 项测试通过,包含两版官方通信注册器、官方人设共存、会话隔离和文件保护测试;另已使用桌面端自带运行库验证插件加载与记忆读写。真实模型的后台整理调用尚未验证。

升级插件后完整退出并重新打开 DSH。本次继续使用现有 V5 数据格式,入口故障无需清空记忆或会话数据。

0.7 的主要功能

  • Chat / Work:分开保存人物信息、关系、偏好、AI 自述、当前状态、长期经历和要求。衣着只是当前状态的一种内容,不是必须填写的专门功能。
  • 主动写入 + 后台整理:保留模型的记忆工具。压缩成功后额外调用一次整理流程,不再只依赖主对话模型主动记忆。
  • 压缩与整理分开:压缩负责精简近期对话;整理读取已有长期记忆和压缩前的原文证据,增加遗漏、修正过时内容、合并重复。不会因为最近没提到某件事就删掉它。
  • 不再按长度淘汰:超过三组不再替换最短记忆。每个模式的每个卡片栏目最多 100 组;合并以语义为依据。
  • 设定继承:点击后创建空白会话,复制两种模式、人物、设定、记忆、桥接和压缩策略,不复制旧聊天记录。后续修改彼此独立。

怎么使用

在输入框用 Chat / Work 按钮表达当前情境。模型发现主要意图改变时也可以切换;按钮不是永久锁。模式只改变记忆注入和写入目标,不限制工具能力或权限。

打开 设置 → 个性化 可以检查、修改或继承当前会话的记忆,调整自动压缩比例,或者点击“立即压缩当前会话”。

跨域信息先进入中立桥:最多 300 字的转场说明,以及待写入目标模式的说明。切换后再由模型审阅、合并或跳过,处理完成才清空。Chat 不直接写入 Work,反之亦然。

后台整理怎样工作

  1. DSH 开始压缩时,保存自上次成功压缩以来的原始文字对话,不使用新摘要代替原文。
  2. 压缩成功后,独立调用配置的模型,结合现有记忆提出带来源序号的增删改操作。
  3. 写回前检查记忆修订号;若用户或主模型已经修改,重新基于最新记忆整理。跨域操作仍进入桥接。
  4. 失败保留原有记忆和任务记录,每个批次最多尝试三次。长原文按顺序分批,正常短对话通常只需一次调用;不会截掉早期内容。
  5. 任务和证据保存在本地。主会话可以继续,下一步注入会使用已完成写回的记忆。

整理会产生额外模型费用,不是每轮都调用。默认复用当前会话的 provider/model,也可以指定较便宜的专用模型。整理调用不提供工具,不代替主对话执行任务。用户明确要求不保存的内容不应被纳入长期记忆;模型判断仍可能出错,用户可以在记忆中心纠正。

配置

安装后,在 Web profile 的 cordis.patch.yml 中覆盖以下配置:

- id: mindspace-session-memory
  config:
    maxTextBytes: 4096
    maxItemsPerSection: 100
    maxProfileCharacters: 300
    maintenanceEnabled: true
    maintenanceProvider: ''  # 空值:沿用会话 provider
    maintenanceModel: ''     # 空值:沿用会话 model
    maintenanceMaxTokens: 6000

修改配置后重启 DSH。自动压缩是否开启和阈值是会话级设置;后台整理开关是插件级设置。关闭自动压缩不删除手动压缩按钮,手动压缩成功也会触发整理。

兼容与迁移

0.7.1 已验证 DSH 0.1.5-rc.2 与桌面端 0.2.0-rc.2 的通信接口,声明支持范围为 >=0.1.5-rc.2 <0.3.0。 不支持直接装入旧的 0.1.1 核心;核心较旧时先升级 DSH,或继续使用插件 0.6.10。0.7.0 在 DSH 0.2 上会因缺少 Typert codec.create() 而无法显示个性化和模式按钮,需要升级插件。

数据仍位于 DSH_HOME/mindspace-session-memory/v1。目录名不是业务格式版本:

  • 现有 V5 的 Chat / Work 文档保持原样,不重新生成身份。
  • 旧 V1–V4 由现有迁移器读取到新版结构,既有内容进入 Chat,不凭空复制一份到 Work。
  • 旧会话日志中的记忆记录仍可导入;插件的新记忆写入使用侧车文件,不把私有事件塞进 DSH 会话日志。
  • 新增 DSH_HOME/mindspace-session-memory/maintenance 保存整理任务、原文证据及错误信息。它属于本地会话数据,不应随插件源码公开。
  • 无法读取或识别的记忆文件会保留原文件并报告错误;损坏的后台整理任务会单独跳过,不影响其他有效任务。不要通过清空记忆目录来修复加载故障。

升级前备份 DSH_HOME。核心会话格式升级由 DSH 自己负责;回退时使用对应版本及升级前备份,不应让旧核心写入新版转换后的日志。

安装与开发

git clone https://github.com/Spirtxiaoqi7/mindspace-dsh-session-memory.git
Set-Location .\mindspace-dsh-session-memory
corepack pnpm install
corepack pnpm run check
$memoryTgz = (Get-Item .\dist\mindspace-dsh-session-memory-0.7.1.tgz).FullName
Set-Location C:\path\to\deepseek-harness
corepack pnpm dsh plugin --profile web add $memoryTgz
corepack pnpm dsh web

插件是独立安装包,无需修改 DSH 核心。0.7.1 将“对 AI 的要求”注册为独立提示段,保留官方人设前缀;两边设定同时生效,因此相互矛盾的要求仍需要由用户调整。不要与同名的旧内嵌记忆实现同时加载。模型写入、后台整理、手动编辑共用同一套存储和修订逻辑。

详见 更新记录。