DeepSeek Harness 插件

dsh-memory-panel

Persistent memory plugin for DeepSeek Harness: memory_* model tools, automatic memory:recall prompt injection, /memory/api JSON routes, and a 设置→记忆 (Settings → Memory) management panel.(英文原文)

跳到安装方式

来源信息

GitHub 仓库
sdf-jkl-gh/dsh-memory-panel
最近更新
2026年8月15日
分类
记忆
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/sdf-jkl-gh/dsh-memory-panel
插件名:dsh-memory-panel
作者:sdf-jkl-gh

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.zh.md来源说明 · 只读预览
README 语言

dsh-memory-panel

> DeepSeek Harness 的持久记忆插件:面向模型的 memory_* 工具、自动 memory:recall 提示注入、/memory/api JSON 路由,以及「设置 → 记忆」管理面板。

![License: MIT](LICENSE) ![Node](package.json) ![CI](https://github.com/sdf-jkl-gh/dsh-memory-panel/actions/workflows/ci.yml)

English · [设计文档](./docs/design.md) · [常见问题](./docs/FAQ.md)

---

功能

dsh-memory-panel 为所有 agent 会话提供持久、可检索的记忆,进程重启后依然保留:

能力位置说明
memory_save模型工具新建或更新一条记忆(标题 + 内容 + 标签 + 重要度)
memory_search模型工具排序检索——英文整词 + 中文 bigram 双重评分
memory_list模型工具按更新时间倒序列出,可按标签过滤,附标签/重要度统计
memory_get模型工具按 id 读取单条完整记忆
memory_delete模型工具按 id 删除记忆
memory:recall系统提示组装提示时自动注入前 6 条记忆(高重要度优先)
/memory/api/*宿主路由供设置面板调用的 JSON API
设置 → 记忆Web 面板在 GUI 中浏览、搜索、新建、编辑、删除记忆

插件挂在 DSH profile 组合的用户层,因此无论当前启用哪个 agent 预设,其工具对所有会话可见。

工作原理

┌──────────────────────────  DSH 宿主进程  ───────────────────────────────┐
│                                                                          │
│  tools 注册表 ◄── memory_save/search/list/get/delete(面向模型)          │
│        ▲                                                                 │
│        │                    createMemoryStore (src/store.js)             │
│        │                    ┌──────────────────────────────────┐        │
│        │                    │ 纯逻辑:评分、回忆渲染、           │        │
│        └──── 执行 ──────────│ 串行化写入链                      │        │
│                             └───────────────┬──────────────────┘        │
│                                             │ load / persist(注入)    │
│  /memory/api/* 路由 ◄── POST ──┐            ▼                            │
│        ▲                      │    fs 服务                               │
│        │                      │        │                                │
│  systemPrompt.memory:recall ◄─┘        ▼                                │
│        ▲                          <用户主目录>/.dsh-memory/memories.json │
│        │ (30 秒兜底刷新 + 每次保存/删除后即时刷新)                        │
└────────┴──────────────────────────────────────────────────────────────────┘

┌────────────────────────────  浏览器(Web 客户端)  ────────────────────────┐
│  设置 → 记忆 面板 ── fetch('/memory/api/<method>', { method: 'POST' })     │
└────────────────────────────────────────────────────────────────────────────┘
  • 存储位置<用户主目录>/.dsh-memory/memories.json——根据宿主的

sandboxPolicy.workspaceRoot 解析为用户主目录,而非会话工作区; 首次保存时创建,重启后保留。

  • 并发安全:所有写操作经过串行化写入链,并发的保存/删除不会在文件上交错。
  • 自动回忆memory:recall 系统提示段在每次提示组装时同步读取纯字符串缓存

(段 text 钩子是同步的,而 ctx.fs 是异步的);缓存会在每次保存/删除后 重建,并有 30 秒定时器兜底(应对手工编辑文件)。

  • 评分规则:标题(×3)> 标签(×2)> 内容(×1);中文查询额外按重叠 bigram

计分,短查询也能命中长条目;高重要度条目获得 +2 固定加成(因此即使查询无 命中也会出现在结果中)。

安装

方式 A —— 官方 CLI(bundle 通道,推荐)

dsh plugin --profile <profile-name> add dsh-memory-panel

包内声明了 dsh.bundle.patch: ./cordis.patch.yml;CLI 会将其合并进 profile 的 bundle 栈,补丁自动插入插件行,无需手工编辑 profile 文件。

方式 B —— 手工补丁

把包放到 DSH 能解析的位置,然后在 profile 的 cordis.patch.yml 追加:

- insert:
    - id: tool-memory
      name: 'dsh-memory-panel'

重启 DSH。注意新增条目必须用 insert(不带 id 的覆盖会被补丁加载器忽略)。

> 从旧版手工挂载升级:如果你的 profile 里已有该插件行,切到 bundle 通道前 > 请先删掉旧行,避免重复挂载(两份宿主逻辑、工具和路由都会翻倍)。

使用

作为模型

直接自然对话即可——也可以显式调用工具:

memory_save(title="用户偏好:思考使用中文", content="……", tags=["preference"], importance="high")
memory_search(query="思考使用中文")
memory_list(tag="preference")
memory_get(id="m...")
memory_delete(id="m...")

每个 agent 都会通过 memory:recall 段自动看到顶部记忆(高重要度标记 [重要]),并被提示需要完整信息时调用 memory_search

在 GUI 中

打开 设置 → 记忆:浏览全部条目(含统计)、搜索、新建/编辑/删除。 面板通过 POST /memory/api/* JSON 路由与宿主通信。

开发

npm test          # node:test — 纯逻辑 + 插件级集成测试
src/
  index.js        宿主端:工具、路由、回忆注入(Cordis 插件)
  client.js       客户端:设置 → 记忆 面板(module-loader 包格式)
  store.js        纯逻辑:评分、回忆渲染、可注入的 store 工厂
test/
  store.test.js   src/store.js 的单元测试
  index.test.js   使用 mock Cordis ctx + 内存 fs 的集成测试
docs/
  design.md       架构与数据流深入解析
  FAQ.md          常见问题

许可证

[MIT](./LICENSE) © 2026 dsh-memory-panel contributors