dsh-memory-panel:为 DeepSeek Harness 提供左侧栏记忆库与星图面板

前言

在 DeepSeek Harness(DSH)里做长期协作时,记忆往往散在若干 markdown 页面里:人格与原则、用户档案、项目与决策、运行日志。若没有统一入口,开发者要在文件系统里翻目录,会话启动时也难把「该注入什么」收束成一块可读的上下文。社区里另有 dsh-plugin-memory 一类方案;dsh-memory-panel 由维护者 nanchen8888 发布,归类为「记忆」插件,在左侧栏提供「记忆」入口,用中央星图与索引浏览同一套 markdown 记忆库,并由插件自身完成 boot 注入与 digest 提醒,可替代 dsh-plugin-memory 独立使用。

下面介绍它的定位、能力与安装方式;事实以 GitHub 仓库 README 为准。目录页见 SkillHub。

这是什么

dsh-memory-panel(包名 @local/dsh-memory-panel,当前 README 中 tarball 示例对应版本 0.5.1)是 DSH 的 Web 客户端插件:读取本机 markdown 记忆目录,在 UI 中展示星图、索引与全文检索,并通过 Host 侧 API 读写页面。它不 import 其它记忆插件的模块或配置;记忆目录只认 memory-panel.json 里配置的路径,未配置则使用 ~/.memory。

默认关心的文件与目录包括:SOUL.md、MEMORY.md、index.md、log.md,以及 identity/、user/、skills/、decisions/、projects/、concepts/ 下的页面。

核心功能

会话启动与左侧栏

左侧栏有「记忆」入口,点开即中央面板。会话启动时,插件向系统提示注入 SOUL、MEMORY、核心事实(用户档案、协作偏好、当前项目各一句)、自动记忆地图与最近 3 条动态,体量约 7200 字符,并提示 agent 在收尾时做 digest。装了本插件后可卸载 dsh-plugin-memory,由本插件接管 boot 注入相关行为。

智能自动分类

分类不依赖 tags(tags 常为空)。当 frontmatter type 足够时按类型分面;缺失类型的页用词向量相似度归入最接近的簇;type 不足时按内容相似度与页间链接做凝聚聚类。SOUL、MEMORY、BOOTSTRAP、index、log 固定为「元记忆」。每页带有自动簇、簇标签与热度(salience、连接数、新近度),星图分组、索引分组与启动块地图共用同一套分类结果。

星图与调用光环

默认视图为近黑宇宙画布:背景星、银河带、缓慢自转的银河与偶发流星。记忆页按权重(salience + 连接数 + 新近度)表现为不同亮度与大小的小行星;簇为一棵小恒星,页面绕恒星公转。支持拖拽平移、滚轮缩放、点星打开右侧详情;每个光点可单独拖动摆位,轻点(位移小于 4px)才展开详情,拖动会先暂停公转。启动注入和面板打开过的页面会被 host 记录调用,星图上对应节点显示扩散光环与「调用 · 标题」,索引视图顶部有「最近调用」。

索引、检索与编辑

索引按自动簇分组,簇内按热度排序;常读与最近更新置顶,显示摘要与热度。全文检索在输入不少于 2 字后请求 /search,星图左上浮层列出命中页、路径与片段;回车打开第一条,星图同步高亮命中星。详情页轻量渲染 markdown,支持页内 .md 链接跳转,并展示字符数、被引用页与标题大纲。可直接编辑并保存 markdown(raw/ 只读);可通过「打开目录 / 在文件夹中显示」调用文件管理器。

记忆整理(压缩)

右上角「整理」将 45 天前的 log.md 条目搬到 archive/log-YYYY.md,log.md 只保留最近记录与一行归档指针,避免启动注入里的「最近动态」随日志无限变长。可通过 Host API 的 POST /compact 执行,可选 retainDays(默认 45)。

安装与启用

README 给出的流程是先在本机插件目录打包,再以 tarball 安装到 DSH profile(勿凭仓库名拼接 dsh plugin add github:...)。

先在插件源码目录执行:

# 改动后先改 package.json 的 version,避免复用旧 tarball
npm pack --silent

将生成的包安装进 profile(把路径换成你的绝对路径):

plugin_manager action=install_bundle target="<绝对路径>\\local-dsh-memory-panel-0.5.1.tgz"

Windows 上若 ~/.dsh 是指向其它盘的 junction,直接安装 bundle 目录可能导致 pnpm 符号链接穿过 junction 失效(dsh: cannot resolve profile bundle),此时用 tarball 安装更稳。安装后客户端可半即时热挂载;Host 侧 Node 模块需等待 DSH 客户端下次启动后换新代码。

开发期自检示例:

node --check index.js
node --check client.js
node .smoke.mjs   # tree/page/search/save/路径穿越/raw 只读/boot 块

可选配置:在 <dshHome>/memory-panel.json 中指定记忆目录;未配置则使用 ~/.memory。

Host API(本机同源)

路由前缀为 /api/dsh-memory-panel,供面板页面调用:

方法 路径 说明
GET /tree 页面树、链接、自动分类 clusters
GET /page?path=... 读取一页
GET /search?q=关键词&limit=40 全文检索
POST /page 保存 { path, content },仅 .md,禁止 raw/
POST /compact 归档旧日志
POST /reveal 在文件管理器中显示目录或页面

典型用法

  1. 在 ~/.memory(或 memory-panel.json 指定目录)维护上述 markdown 结构;会话重启后观察系统提示是否带上 SOUL、MEMORY 与记忆地图块。
  2. 从左侧栏打开「记忆」,在星图中点选节点阅读详情;用索引按簇浏览,或用搜索框输入至少 2 个字符检索。
  3. 在详情中编辑内容后保存;定期使用「整理」压缩旧日志。
  4. 需要对接或排错时,对本机 DSH 发起上述 GET/POST(仅同源页面使用)。

卸载旧版 dsh-plugin-memory 后,会少掉其附带的 memory 技能说明与 dsh-memory 命令行,但本插件的运行时注入与面板读写不受影响。

适用场景与注意

适合已经在用 markdown 记忆库、希望在 DSH 内可视化浏览、检索并自行掌控注入内容的开发者。星图采用固定深空配色,不随浅色/深色主题整体切换,以保证标签对比度;其余 UI 仍使用主题 token。

插件以当前 DSH 进程权限读写记忆目录;安装前请自行审阅 源码与许可证。边界方面:仅允许记忆目录内 .md 文件,路径穿越会被拒绝;raw/ 大小写均只读;面板不会在未点「保存」时自动改写记忆,boot 注入仅更新 last_access。

SkillHub 目录页显示该插件星标为 0,属社区收录信息,与功能无直接对应关系。

结尾

dsh-memory-panel 把 markdown 记忆库、自动分类、星图与全文检索收进 DSH 左侧栏与中央面板,并自带 boot 注入与日志压缩,适合替代独立的 dsh-plugin-memory 做一体化记忆工作流。进一步了解可访问 SkillHub 插件页 与 GitHub 仓库。

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

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

小夜