跨会话记住关键信息,长文与聊天记录随时检索
30/100
综合分
0
GitHub 星标
35
npm 周下载
—/5
用户评分
数据截至 2026/10/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-long-memorynpm 源 · dsh-long-memory 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · search
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 31 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-long-memory @ 1.0.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/8 09:42:34
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 27 处,展示前 25 条)
- 写入本地文件index.js:54
await mkdir(resolve(file, '..'), { recursive: true }) - 写入本地文件index.js:56
await writeFile(tmp, content, 'utf8') - 写入本地文件index.js:57
await rename(tmp, file) - 读取本地文件index.js:108
config = { ...config, ...JSON.parse(await readFile(join(root, 'config.json'), 'utf8')) } - 读取本地文件index.js:119
return { ...DEFAULT_CONFIG, ...JSON.parse(await readFile(join(root, 'config.json'), 'utf8')) } - 读取本地文件index.js:150
raw = JSON.parse(await readFile(join(docsDir, 'index.json'), 'utf8')) - 读取本地文件index.js:163
const doc = JSON.parse(await readFile(join(docsDir, `${docId}.json`), 'utf8')) - 读取本地文件index.js:477
if (!existsSync(path)) return { ok: false, error: `文件不存在: ${path}` } - 读取本地文件index.js:478
text = await readFile(path, 'utf8') - 写入本地文件lib/store.js:31
await mkdir(this.root, { recursive: true }) - 读取本地文件lib/store.js:34
st = await stat(this.file) - 读取本地文件lib/store.js:43
const raw = JSON.parse(await readFile(this.file, 'utf8')) - 写入本地文件lib/store.js:58
await mkdir(this.root, { recursive: true }) - 写入本地文件lib/store.js:60
await writeFile(tmp, `${JSON.stringify(this._cache, null, 1)}\n`, 'utf8') - 写入本地文件lib/store.js:61
await rename(tmp, this.file) - 读取本地文件lib/store.js:62
const st = await stat(this.file) - 写入本地文件lib/store.js:149
await mkdir(this.root, { recursive: true }) - 写入本地文件lib/store.js:150
await appendFile(this.trashFile, `${lines}\n`, 'utf8') - 读取本地文件lib/store.js:172
bytes = (await stat(this.file)).size - 读取本地文件lib/chat.js:78
const raw = await readFile(file, 'utf8') - 读取本地文件lib/chat.js:88
names = (await readdir(dir)).filter((n) => /^session-.*\.json$/i.test(n)) - 读取本地文件lib/chat.js:95
const st = await stat(file) - 读取本地文件lib/chat.js:132
const st = await stat(wanted) - 读取本地文件lib/chat.js:145
names = (await readdir(dir)).filter((n) => /^session-.*\.json$/i.test(n)) - 读取本地文件lib/chat.js:153
await stat(file)
扫描于 2026/11/1(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 跨会话长期记忆
- 长文分块检索
- 聊天记录提取精炼
DSH 超长记忆包:跨会话长期记忆 + 长文分块检索 + 聊天记录提取精炼,纯 JS 混合检索零依赖
README
由 DeepSeek 最新模型翻译生成dsh-long-memory 超长记忆包
给 DSH(DeepSeek Harness)装的插件:跨会话长期记忆 + 长文查找 + 聊天记录提取与精炼。
纯 JS(BM25 + 中文二元分词混合检索),零第三方依赖,数据全部落本机。
能力
- 长期记忆:memory_store / memory_search / memory_get / memory_list / memory_forget / memory_stats
- 中英混合检索、词组精确匹配("...")、tag/kind 过滤
- 相似记忆自动合并(保留历史版本),软删可恢复、硬删进 trash.jsonl
- importance≥4 的记忆每次会话开机自动注入上下文(可配)
- 长文查找:doc_ingest / doc_search / doc_read / doc_list
- 文件按行切块(可调块大小/重叠),块级检索带行号引用,跨块按行读原文
- 内容未变自动跳过;聊天记录也能入这个索引(chat_extract { ingest: true })
- 聊天记录提取与精炼:chat_list / chat_extract / chat_digest
- 读 DSH 会话投影缓存,逐轮取「用户提问 + 助手回复」,可按轮区间截取
展开完整文档(README 剩余 1 节)
dsh-long-memory 超长记忆包
给 DSH(DeepSeek Harness)装的插件:跨会话长期记忆 + 长文查找 + 聊天记录提取与精炼。
纯 JS(BM25 + 中文二元分词混合检索),零第三方依赖,数据全部落本机。
能力
- 长期记忆:memory_store / memory_search / memory_get / memory_list / memory_forget / memory_stats
- 中英混合检索、词组精确匹配("...")、tag/kind 过滤
- 相似记忆自动合并(保留历史版本),软删可恢复、硬删进 trash.jsonl
- importance≥4 的记忆每次会话开机自动注入上下文(可配)
- 长文查找:doc_ingest / doc_search / doc_read / doc_list
- 文件按行切块(可调块大小/重叠),块级检索带行号引用,跨块按行读原文
- 内容未变自动跳过;聊天记录也能入这个索引(chat_extract { ingest: true })
- 聊天记录提取与精炼:chat_list / chat_extract / chat_digest
- 读 DSH 会话投影缓存,逐轮取「用户提问 + 助手回复」,可按轮区间截取
- chat_digest 产出确定性骨架(逐轮主旨、文件、命令、URL、结论信号句),语义级精炼由模型在骨架上完成后再 memory_store 入库
- 系统提示词注入 + Skill:教 agent 何时存、何时查、怎么引用;long-memory skill 可手动/自动调用
工具一览(14 个)
| 工具 | 作用 |
| memory_store | 写入/更新记忆(自动去重合并) |
| memory_search | 混合检索记忆(tag:/kind:/"词组") |
| memory_get / memory_list / memory_forget / memory_stats | 单条/列表/删除/统计 |
| memory_config | 配置(自动注入开关、数量、分块参数等),即改即生效 |
| doc_ingest | 长文件/文本切块建索引 |
| doc_search / doc_read / doc_list | 块级检索 / 按块或行读原文 / 列出文档 |
| chat_list / chat_extract / chat_digest | 列会话 / 提取逐轮原文 / 精炼骨架(可入库) |
安装(本机 desktop 版)
插件源码放到 %APPDATA%\dsh-desktop\harness\plugins\dsh-long-memory\,并在 profile(%APPDATA%\dsh-desktop\harness\profiles\web\package.json)里注册:
1. dependencies 加 "dsh-long-memory": "file:../../plugins/dsh-long-memory"
2. dsh.profile.bundles 数组加 "dsh-long-memory"
3. 保证 profiles\web\node_modules\dsh-long-memory\ 有插件拷贝(pnpm install 或直接复制)
4. 重启 DSH Desktop,会话里喊一句「memory_stats」验证
数据位置
$DSH_HOME/storages/dsh-long-memory/
├── memories.json # 记忆库(原子写) ├── trash.jsonl # 硬删回收站 ├── config.json # 运行配置 └── docs/ # 长文索引(index.json + 每文档一个 json)
整目录可备份/迁移。环境变量 DSH_LONG_MEMORY_DIR 可把数据挪到别处。
设计说明
- 检索内核在 lib/search.js:ASCII 词 + CJK 滑动二元分词,BM25(k1=1.4,b=0.75) + 词组命中加成
+ 覆盖率;记忆层叠加 importance / recency 小幅加成。
- 聊天数据来自 storages/session_projcache/sessions/session-*.json(DSH 自己的投影缓存),解析容错:坏文件跳过,不炸会话列表。
- 本插件刻意不内置 LLM 调用:提取/骨架是确定性的,精炼由 agent 完成——可见、可控、可改。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Tangcuyu4/dsh-long-memory
跨会话记住关键信息,长文与聊天记录随时检索
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,032已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6