🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

长期记忆库 qwert702/dsh-memory

DeepSeek Harnessv0.1.0
qwert70217 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 网页端长期记忆插件:项目记忆 +…

31.5/100
综合分
2
GitHub 星标
1,509
npm 周下载
—/5
用户评分

数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-memory
npm 源 · dsh-memory 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · market
装得上吗
静态安装检查通过
未做真实安装
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 17 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-memory @ 0.1.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 17:51:26

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 写入本地文件
    lib/index.js:82
    if (path !== ":memory:") mkdirSync(dirname(path), { recursive: true });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 项目级与全局存储
  • 自动提取与注入
  • 链接图谱

README

由 DeepSeek 最新模型翻译生成
dsh-memory DeepSeek Harness 网页端长期记忆插件:项目记忆 + 全局记忆双库,自动提取、自动注入、小模型定期整理,外加一个 Obsidian 风格的记忆图谱。 兼容性:当前版本 2.1.0,适配 harness 0.2.0 / 0.2.0-rc.2(配置走 Config 导出 + apply(ctx, config)、会话日志走 snapshotEvents()、客户端坐席列属主包)。0.1.7 起 harness 已移除 settings.register(),因此本插件不再有可热改的设置命名空间——配置写在 profile 的 cordis.patch.yml 里(见下)。 一键安装: dsh plugin --profile web add <仓库或本地路径> 例如本地路径:dsh plugin --profile web add "D:\CBN-HT\Desktop\AI编程\dsh插件\dsh-memory(记忆插件)" 装完重启 harness(dsh web)、刷新页面,会话头部「对话 / 轨迹」旁边会出现「记忆」标签页。
展开完整文档(README 剩余 1 节)
dsh-memory

DeepSeek Harness 网页端长期记忆插件:项目记忆 + 全局记忆双库,自动提取、自动注入、小模型定期整理,外加一个 Obsidian 风格的记忆图谱。

兼容性:当前版本 2.1.0,适配 harness 0.2.0 / 0.2.0-rc.2(配置走 Config 导出 + apply(ctx, config)、会话日志走 snapshotEvents()、客户端坐席列属主包)。0.1.7 起 harness 已移除 settings.register(),因此本插件不再有可热改的设置命名空间——配置写在 profile 的 cordis.patch.yml 里(见下)。

一键安装:
dsh plugin --profile web add <仓库或本地路径>

例如本地路径:dsh plugin --profile web add "D:\CBN-HT\Desktop\AI编程\dsh插件\dsh-memory(记忆插件)" 装完重启 harness(dsh web)、刷新页面,会话头部「对话 / 轨迹」旁边会出现「记忆」标签页。

- 本地语义召回(可选增强) —— 安装可选依赖后自动启用 all-MiniLM-L6-v2 本地嵌入(transformers.js 纯 WASM,无原生编译):提取/新增的记忆自动向量化存入 sidecar,注入时按"语义相似度 × 词面重合 × 重要性"融合排序——换说法也能召回。未安装依赖或模型下载失败时自动回退纯关键词检索,状态在 Tab 状态栏可见。国内网络可用 embeddingRemoteHost 配置 hf-mirror 镜像。
- 整理时自动建链 —— 每次整理对余弦相似度 ≥ autoLinkThreshold(默认 0.78)且尚无关联的活跃记忆对自动补 related 双向边(单次上限 30 条),图谱随使用自然生长。
- 记忆详情与溯源 —— 列表中点击任意记忆展开详情卡:完整内容、类型/标签、创建与更新时间、强化次数;关联记忆可点击跳转;「打开来源会话」一键跳回当初产生这条记忆的对话(0.2.0 下经 Workspace UI 的 openSession 导航)。

功能

- 双作用域记忆库:
- 项目记忆 —— 按会话工作区(cwd 哈希)分库,只在该项目的会话中注入;
- 全局记忆 —— 跨项目共享,所有会话都注入。
- 存储为纯 JSON(~/.dsh/memory/global.json + projects/<hash>.json,尊重 $DSH_HOME),原子写入 + 跨进程文件锁(headless/web 多实例并发安全)。
- 相关性召回 —— host 维护每个会话最近用户输入的滚动缓冲;注入时按"与当前对话的相关度 × 重要性"排序,问什么补什么,而不是盲目补最重要的。
- 记忆 Tab(轨迹旁边的视图环插槽,纯增量、不替换任何原装组件):
- 列表视图 —— 一条一张卡片:类型色点、内容、标签、来源时间、强化次数、链接数;行内编辑(内容/类型/标签)、📌置顶、归档/恢复、删除;两步点击建链接(可选 related/supersedes/contradicts 关系);搜索过滤;显示已归档开关;撤销整理 / 导出 MD·JSON / 导入备份。
- 图谱视图 —— canvas 力导向图:节点=记忆(颜色=类型、半径=链接度)、边=关联;滚轮缩放、拖拽平移/拖节点、点选高亮邻域并显示详情卡;静止后渲染循环自动休眠。
- 自动注入 —— 监听 system-prompt/assemble 瀑布,把 Top-K 记忆作为动态上下文追加进每个请求;置顶记忆保底携带;无 cwd 的组装只带全局;任何异常都原样放行 assembly,绝不影响请求。
- 自动提取(v2 协议) —— 监听 turn/end 排队提取;提示词携带既有相关记忆,模型对每条候选标注 add/update/supersede/contradict 动作:更新合并到原条目、取代时旧条目归档并建 supersedes 链、冲突时双向 contradicts 链共存;字面近似去重兜底;子代理会话不参与提取;连续失败 3 次自动暂停——暂停提示依赖「记忆」Tab 处于打开状态(Tab 每 25 秒轮询状态,转为暂停的瞬间弹出一次全局通知);记忆语言跟随对话主语言(可强制 zh/en)。
- 定期整理 —— 每作用域累计 N 轮自动触发或手动触发:模型提 merge/link/archive/retag 操作流,host 校验后事务应用;过期记忆按 autoArchiveDays 启发式自动归档(不依赖模型);每次模型整理前自动快照,Tab 内一键「↩ 撤销整理」。
- 多种记录入口:
- 斜杠命令 /remember <一句话>(存入当前项目/全局库);
- 每条 AI 回复旁的「✦ 记住」按钮(小模型提炼该消息要点入库)。

小模型路由

辅助调用(提取/整理)走 harness 的 ctx.llm,凭据不出服务器:

1. 配置里成对填写 extractProvider / extractModel(推荐配一个小模型);
2. 未配置时跟随会话自身路由的模型(与 dsh-context-compressor 同一约定);
3. 都没有时报错并在状态栏提示。

配置(profile cordis.patch.yml)

0.2.0 的配置通道是包导出 Config schema + loader 调用 apply(ctx, config):插件没有设置面板、也没有可热改的命名空间,改动即「改文件 + 重载」。

在对应 profile 的 cordis.patch.yml(如 ~/.dsh/profiles/web/cordis.patch.yml)里按条目 id 覆盖,条目 id 由插件自带补丁 dsh-memory.yml 插入时固定为 ui-memory:

profile patch 的 config 是「整体替换」语义:没写的字段由 Config schema 的默认值补齐(插件侧再兜一层 DEFAULTS),所以只写想改的键即可。
- id: ui-memory
config:
enabled: true # 总开关(false 时所有管线与写路由停用) injectEnabled: true # 自动注入开关 autoExtract: true # 自动提取开关 extractProvider: '' # 提取模型路由(成对填写;留空跟随会话模型) extractModel: '' manageProvider: '' # 管理/整理专用模型(成对填写;留空则用提取模型) manageModel: '' consolidateEveryTurns: 20 # 自动整理的提取轮次阈值(0 = 关闭自动整理) topK: 8 # 注入条数上限 maxInjectChars: 1500 # 注入总字符帽 maxInputChars: 12000 # 提取回放字符上限 maxTokens: 1024 # 辅助调用输出预算 autoArchiveDays: 90 # 过期自动归档天数(0 = 关闭) memoryLocale: '' # 记忆语言:空=跟随对话,或强制 zh/en embeddingsEnabled: true # 本地语义嵌入开关(需可选依赖,见下) embeddingRemoteHost: '' # HuggingFace 镜像(国内推荐 https://hf-mirror.com) autoLinkThreshold: 0.78 # 整理时自动建链的余弦阈值(0 = 关闭)

模型分工:extract 管高频的自动提取与「记住这条」提炼;manage 管低频的记忆整理/归档。manage 留空时回落到 extract,再留空则跟随会话模型。典型用法:提取用便宜快的小模型,整理用更强的模型。

启用语义召回(可选):让插件安装目录能解析到 @huggingface/transformers(在插件目录或 profile 的 node_modules 里 npm i @huggingface/transformers),重启后首次使用自动下载 ~23MB 量化模型(国内可配 embeddingRemoteHost: 'https://hf-mirror.com' 加速)。注意 0.2.0 桌面版自带的 asar 不再内置 transformers.js:装不上就自动回退关键词检索(/status 的 embeddings.state 会显示 unavailable),其余功能不受影响。

旧版本的 ~/.dsh/settings.yaml 命名空间写法在 0.1.7+ 已失效;若曾配置过,请按上表搬进 profile patch。

工作原理

turn/end ──▶ 提取队列 ──▶ 回放新增事件(snapshotEvents)──▶ 小模型出 JSON ──▶ 去重 ──▶ 写库 │ 累计 N 轮 ─┴──▶ 整理队列 ──▶ 小模型出 ops ──▶ 校验+应用任何请求 ──▶ system-prompt/assemble 瀑布 ──▶ 选 Top-K ──▶ 追加 <memory-briefing> 上下文浏览器「记忆」Tab ──▶ /api/dsh-memory/*(items/add/update/remove/link/unlink/graph/consolidate/extract/undo/export/import/distill/embed/status,共 15 条)配置 ──▶ profile cordis.patch.yml 的 ui-memory.config ──▶ Config schema 校验 ──▶ apply(ctx, config)

- 配置通道:包导出 Config(schemastery schema,符合 Standard Schema)→ loader 校验 profile 条目 config → apply(ctx, config);插件把结果与内置 DEFAULTS 合并后固定使用(无热更新)。
- 会话读取:0.2.0 的 Session 去掉了 events 取值器,插件统一走 snapshotEvents()(不可变快照),deriveEventMessage() / requestHeader() / session.header 契约不变。
- 机器流量识别:user/message 的来源 source 在 0.2.0 不再有统一 {kind:'plugin'},改为生产者自报 kind。插件同时识别 {kind:'plugin', plugin:'dsh-commander'}(0.1.x 旧拼写)与 {kind:'dsh-commander'}(0.2.0 新拼写);辅助调用自建消息使用 {kind:'dsh-memory'}。

仓库布局

- lib/index.js — host 半区:Config 导出 + apply(ctx, config) + 监听器(注入/提取)+ 整理管线 + 15 条路由。
- lib/store.js — 双作用域 JSON 库(缓存 + 每文件串行锁 + 原子写)与持久化游标/计数。
- lib/util.js — 纯函数:作用域键、相似度、简报挑选、模型输出解析、回放构建、来源分类。
- lib/embeddings.js — 可选本地嵌入(transformers.js WASM):向量 sidecar 读写与串行推理队列。
- lib/client.js — 浏览器半区(手写 bundle):conversation.view 增量条目(列表 + 图谱)+ 消息级「记住」动作 + 全局 toast。
- test/smoke.cjs — node test/smoke.cjs:Config 契约、纯函数断言、路由注册、注入监听器、提取/整理管线(临时 DSH_HOME 隔离)、client 注册、导航与 SSR。
- test/e2e-flow.cjs — 六阶段端到端业务流(node test/e2e-flow.cjs),同样用 apply(ctx, config) 装配真实插件。

已知限制

- 配置不可热更新:0.1.7+ 移除了 settings.register(),没有等价的热改通道——改配置必须改 profile patch 并重载;插件也没有设置面板(原「网页设置界面自动生成」能力随该 API 一并消失)。
- 同步日志读取被官方标记为弃用:Session.snapshotEvents() 在 0.2.0 仍可用且语义等价于旧的 session.events(注释标注「新代码不建议使用」,替代方案是异步的会话查询服务)。本插件用它构建提取回放;若未来版本删除该方法,需要改注入 sessionQuery 一类服务读取日志。
- 客户端导航依赖 Workspace UI:0.2.0 删除了 sessions.open(),「打开来源会话」改调 uiWorkspace.openSession();该服务缺席时按钮静默失效(不影响其他功能)。
- 相关性召回以 recent 缓冲中最近人类输入(约末尾 2000 字符)近似当前话题,长上下文的回指与远距离主题召回有限;靠 topK + 字符帽控制体量。
- 自动整理需要可用的模型路由;未配置且会话未路由过时会失败并提示。
- 本地语义嵌入需要环境能解析 @huggingface/transformers(0.2.0 桌面 asar 不再内置),否则自动回退关键词检索。
- 图谱布局为简单力导向(无社区着色等高级特性),数百节点内流畅。
- Windows 下项目键对路径做了大小写折叠,跨平台共享同一目录视为同一项目。

License

MIT
预览分享卡片长什么样 ↓qwert702/dsh-memory
分享 · DeepSeek Harness Hub
qwert702/dsh-memory

DeepSeek Harness 网页端长期记忆插件:项目记忆 +…

这是你的仓库?认领条目

回到顶部