DeepSeek Harness - MiMoCode 工作区自动记忆插件

前言

在 DeepSeek Harness (DSH) 开发智能体时,上下文窗口有限,跨会话的记忆保持通常需要依赖显式的工具调用(如 view_file、grep)来检索历史文档。这会导致对话初期存在 1~2 轮的检索开销,且容易遗漏非文件类的隐性约定。

DeepSeek Harness - MiMoCode 工作区自动记忆插件基于 MiMoCode 记忆架构构建,旨在解决上述问题。它通过后台异步蒸馏与结构化落盘,让 Agent 开局即可掌握项目背景,并在空闲时自动沉淀知识,无需占用对话 Token。

插件概览

  • 名称:DeepSeek Harness - MiMoCode 工作区自动记忆插件
  • 所有者:Rainpomelo
  • 类别:记忆
  • 许可证:MIT
  • GitHub:https://github.com/Rainpomelo/deepseek-harness-mimo-memory
  • 目录:https://www.skillhub.cn/plugins/Rainpomelo/deepseek-harness-mimo-memory

核心功能

该插件主要实现以下功能:

  1. 开局 0 工具调用自动预注入:在会话启动时,自动读取并注入项目的长期记忆,无需 Agent 先执行检索工具。
  2. 后台异步蒸馏与沉淀:在 Agent 处于空闲状态时,自动分析已验证的结论与用户约定,静默更新记忆文件。
  3. 跨会话任务断点续接:通过 checkpoint.md 记录任务阶段与活跃状态,支持会话重置后的断点恢复。
  4. 显式结构化落盘工具:提供 update_project_memory 工具,允许模型或用户按章节追加或替换内容。
  5. 跨会话全局持久生效:记忆数据存储在本地文件系统,不同会话间共享。

运行机制

插件采用 MiMoCode 原版四层分级记忆与异步调度模型:

  1. Layer 1: 核心事实与架构契约 (MEMORY.md)

    • 作为跨会话全局持久生效的存储,按标准三段式结构化维护。
    • 在开局组装系统提示词时,自动拼装并注入到 System Prompt 头部。
  2. Layer 2: 工作区任务检查点 (checkpoint.md)

    • 记录最近的工作区目标、任务阶段与活跃状态。
    • 会话新建或重置时,自动带出断点背景,帮助 Agent 接续上下文。
  3. Layer 3: 后台异步蒸馏沉淀

    • 监听 Agent 空闲状态,在后台提取已验证结论与用户约定。
    • 纯异步执行,不占用对话上下文 Token,不增加对话响应延迟。
  4. Layer 4: 主动落盘工具

    • 提供 update_project_memory 工具,支持按 Markdown 章节精准追加或替换内容。

安装与启用

方式一:在本地 Profile 中引入(推荐)

  1. 将本仓库 clone 到本地,例如 C:/plugins/deepseek-harness-mimo-memory。
  2. 打开 Web profile 的配置文件(~/.dsh/profiles/web/package.json 或对应路径)。
  3. 在 dependencies 与 dsh.profile.bundles 中添加插件:
{
  "dependencies": {
    "dsh-mimo-memory": "file:C:/plugins/deepseek-harness-mimo-memory"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-mimo-memory"
      ]
    }
  }
}
  1. 进入 profile 目录并执行安装与启动:
cd ~/.dsh/profiles/web
pnpm install
dsh --profile web

方式二:直接从 GitHub 引用

在 profile 的 package.json 中配置:

{
  "dependencies": {
    "dsh-mimo-memory": "github:Rainpomelo/deepseek-harness-mimo-memory"
  }
}

配置与存储

工作区隔离

插件对每个工作区目录进行跨平台无冲突编码(例如 C:\Agent code\deepseek 映射为 --C-Agent~0020code-deepseek--),通过 projectKey 进行隔离存储。记忆统一保存在 ~/.dsh/memory/<project-slug>/ 目录下。

参数配置项

配置项 类型 默认值 说明
memoryRoot string ~/.dsh/memory 全局持久记忆存储根目录
maxChars number 12000 单工作区开局注入最大字符数,防止超出上下文
autoDream boolean true 是否启用 Agent 空闲时的后台自动蒸馏沉淀

记忆文件存储结构

插件会自动生成以下文件:

~/.dsh/memory/
├── --C-Agent~0020code-deepseek--/
│   ├── MEMORY.md          # 长期核心规则与技术沉淀
│   └── checkpoint.md      # 最近任务断点与阶段检查点

典型用法

1. 自动记忆注入

插件会在会话启动时自动注入 MEMORY.md 内容,Agent 开局即可直接引用项目背景信息,无需额外的检索步骤。

2. 主动更新工具

插件向 Agent 注册了 update_project_memory 工具。使用该工具可显式管理记忆内容:

  • section:指定章节(如“架构与技术选型”、“已验证结论”)。
  • content:具体事实或规则。
  • action:append(追加,自动去重)或 replace(覆盖)。

Agent 在空闲状态下会自动触发后台 Dreaming 流程,扫描最近交互并更新上述文件。

注意事项

  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • 插件为纯异步执行,不会阻塞对话主线程,也不会占用对话上下文 Token,不会增加对话响应延迟。
  • 不同项目通过 projectKey 进行严格隔离存储,互不串扰。

结尾

该插件通过文件系统实现了 DeepSeek Harness 下的跨会话长期记忆,适合需要长时间维护代码库或进行复杂多轮迭代的开发场景。

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

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

小夜