dsh-memory-nebula:把 DSH 记忆只读连成一张可检索星云

前言

在 DeepSeek Harness(DSH)里做智能体或长会话开发时,记忆往往落在不同工作区、不同记忆插件各自的库里。会话侧能注入的片段有限,跨项目的关联也缺少一张带证据的图。下面介绍维护者 hanhan9999999999999999999 发布的 记忆星图(npm 包名 dsh-memory-nebula):在不改写其它记忆库的前提下,把多来源记忆只读汇总,建成关联图,并提供可视化、扩散检索、证据链与离线快照。

这是什么

dsh-memory-nebula 是一句简介里的 local-first 记忆星云:graph、recall、paths、hygiene、snapshots。当前 npm 版本为 1.4.0,许可证 MIT,要求 Node >= 22.13.0。插件只在 $DSH_HOME/memory-nebula/ 写入自身数据;meow-memory、笔记目录、任意 SQLite、ingest 的 JSONL 等来源均以 readOnly 接入。

生态上,DSH 主张「一切皆插件」;SkillHub 目录页 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系。

核心功能

星云视图与交互

左侧栏打开「记忆星图」即为整片星云(Deep Space 风格,可缩放、筛选、搜索)。1 / 2 / 3 切换三档视图(星云 / 星系 / 时间螺旋)。点节点可看全文、出处、同会话邻居;两条节点之间用 Shift 点第二条可查看证据链。空库时提供三条接入路径,也可 ?demo=1 进入只读示例星系(64 条虚构记忆,不写真实库)。

图、检索与宿主工具

记忆经适配器扫描后,经分词/实体与 graph.js 建图(资料中表列为 6 类边 + 打分 + 剪枝),由 nebula.js 统一索引与缓存。宿主注册 9 个 nebula_* 工具,并有一段每轮注入的 systemPrompt,使会话内 AI 能沿连接做连带检索(含跨工作区)。

能力 入口(摘自 README)
顺着连接检索 nebula_recall、搜索框 /
跨插件补充邻居 nebula_bridge、每轮注入(可配预算)
管理记忆来源 nebula_sources、sources.json
远端 JSONL 推进 nebula_ingest、POST /ingest
静音错误关联 nebula_link(action="mute")
记忆体检(六类失效模式) 左侧「记忆体检」、nebula_hygiene

内置来源类型包括:meow-memory(<ws>/.dsh-meow/memory.db + sessions/)、任意 frontmatter 笔记目录、只读 SQLite、以及 $DSH_HOME/memory-nebula/ingest/*.jsonl。

导出、快照与运维

  • 导出 MD / JSON:GET /export?format=md|json 或顶栏「导出」。
  • 单文件 HTML 快照:顶栏「导出 → 整张星图 · 单文件 HTML」或 GET /share;可按工作区 / 项目 / 选中节点范围分享,并支持导出前隐私过滤(如 hide=ws:日记)。
  • 无端口归档:node lib/standalone.mjs --share <file> [--scope …] [--hide …]。
  • 大图性能:README 给出 20,000 条记忆量级下的建图与快照首屏基准(见仓库 docs/benchmarks.md)。
  • 诊断:不含正文与路径的版本/环境/图规模信息,可通过 ? →「复制诊断」或 GET /diagnostics 获取。

页面约每 12 秒比对 sig,其它会话写入新记忆时会自动反映到图上。

安装与启用

推荐:从 DSH 插件市场索引安装。 在 DSH 的「插件 → 发现」里添加市场索引 URL,再搜索「记忆星图」安装:

https://unpkg.com/dsh-memory-nebula@1.4.0/market/index.json

装完后执行一次 doctor(只读检查 Node、依赖、bundles、文件;失败时退出码 1):

node "<profile>\node_modules\dsh-memory-nebula\scripts\doctor.mjs" --profile "<profile>"

也可按 README 将包装进 profile 的 node_modules,在 package.json 中声明依赖并在 dsh.profile.bundles 加入 dsh-memory-nebula,再重启 DSH,从侧栏打开「记忆星图」。

若暂不重启或宿主仍是旧模块,可启 sidecar:sidecar.ps1 start(Windows,默认端口 7890)或 node lib/standalone.mjs --port 7890(其它系统)。

典型用法

接入新的记忆库(三步)

  1. 在会话中让 AI 使用 nebula_sources 查看当前来源,并说明你的记忆存放位置。
  2. 按 integration-guide 判断:落盘 SQLite / 笔记 → 编辑 sources.json 后重启页面(热载);仅 API 的远端 → POST /api/memory-nebula/ingest 或 nebula_ingest;临时补上下文 → nebula_bridge(memory_ids=[…])。
  3. 用 GET /sources 或 nebula_sources(verbose=true) 确认新来源读到了 N 条且无读取失败。

字段与安全边界见 docs/adapters.md。

命令行生成演示或工作区快照

不启动 HTTP 端口,直接写出离线 HTML:

node lib/standalone.mjs --demo --share .\snapshot.html
node lib/standalone.mjs --share .\work.html --scope ws:星港 --hide level:lesson

--scope 支持 all、ws:<工作区>、project:<项目>、focus:<节点 id>;--hops 控制 focus 跳数(1–5,默认 2)。

自检

npm test        # 95 项单元测试
npm run verify  # 单测 + 发布静态检查
node scripts/smoke.mjs   # 63 项接口契约(需运行中的实例)

适用场景与注意

适合谁: 已在 DSH 使用多种记忆插件或分散笔记/SQLite,需要一张只读关联图做浏览、证据核对、跨工作区 recall,以及给 AI 注入邻域补充包的开发者。

权限与安全: 插件以当前 DSH 进程权限运行,HTTP 服务边界、只读保证与威胁模型见仓库 docs/security.md 与 SECURITY.md。安装前请自行审阅源码与 MIT 许可证;勿在未信任的环境暴露 /ingest 等写入口。

已知设计: 不修改其它插件记忆库;关联由自动建图产生,可用 mute 纠错;导出与快照支持隐私规则与中英界面(?lang=en)。

结尾

dsh-memory-nebula 把「记忆」从单点检索变成一张带证据的星云:只读聚合、图检索、九工具与每轮注入、体检与离线快照,适合作为 DSH「记忆」类插件里的可视化与关联层。

  • 目录页:https://www.skillhub.cn/plugins/hanhan9999999999999999999/dsh-memory-nebula
  • 仓库:https://github.com/hanhan9999999999999999999/dsh-memory-nebula
羽毛球分组比赛记分
小程序二维码

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

Xiaoye