dsh-project-memory:DeepSeek Harness 的持久化项目记忆插件
00080000/dsh-project-memory
为 DeepSeek Harness 提供持久项目记忆,索引文档与代码符号并自动刷新检索。
让 DeepSeek Harness 的 Agent 在会话压缩后快速重新定位项目上下文,无需重读全部代码。
dsh plugin --profile web add github:00080000/dsh-project-memory- 分类
- 记忆与上下文
- 平台
- DSH Plugin
- 作者
- 00080000
- 分发方式
- 插件
dsh-project-memory 核心特性
dsh-project-memory 仓库简介
dsh-project-memory 是 DeepSeek Harness(DSH)的持久化项目记忆插件(DSH plugin),由 00080000 维护,采用 MIT 协议,最近更新于 2026-08。它解决的是 Agent 在会话压缩后丢失上下文、需要反复重读整个项目的问题:插件在磁盘上维护一个紧凑的项目索引,每条记录都指向具体的文件和行号,让 Agent 能快速重新定位,而不是重新扫描全部代码。核心能力包括文档索引(PDF/Markdown/txt 分块并由 LLM 总结,带 path:line 引用)、代码符号表(轻量正则提取,不消耗 token)、自动刷新(后台轮询检测内容哈希变化)、读取时索引(模型实际读取文件时才索引,索引是正常工作的副产品)、文档与代码符号的交叉链接、BM25 检索(可选 LLM 查询扩展)以及有界经验笔记存储。
dsh-project-memory 这个 DSH plugin 支持哪些核心特性?
插件支持文档索引、代码符号表、自动刷新、读取时索引、文档与代码交叉链接、BM25 检索和经验笔记。文档索引将 PDF、Markdown 和纯文本文件分块并由 LLM 总结,每条记录带 path:line 引用;代码符号表用轻量正则提取函数和类名,不消耗 LLM token;自动刷新通过后台轮询(watch_repo)检测内容哈希变化,只重新索引变更文件;读取时索引意味着文件在模型实际读取时才被索引,未读文件不会被索引,项目根目录通过标记(.git、package.json 等)或 README 加源码目录检测。
dsh-project-memory 怎么安装?
插件已在 dsh 0.1.0-rc.7 至 0.1.1-rc.2 版本上测试,仅依赖稳定的接口(defineTool、llm.stream、Schema)。安装命令如下,注意 -w 标志是必需的,因为配置文件目录是 pnpm workspace 根:
dsh plugin --profile web add github:00080000/dsh-project-memory
如果从本地路径安装,同样需要 -w 标志:
dsh plugin --profile web add /path/to/dsh-project-memory -w
dsh-project-memory 的索引设计遵循哪些原则?
插件设计遵循四个原则:易失性(上下文是短暂的,会话压缩时丢失)、持久性(索引存储在磁盘上,跨会话保留)、紧凑性(只存摘要,索引大小约为源文件的 0.5%,例如 8.8 MB 源码对应 49 KB 索引)、可验证性(命中带 path:line 引用,Agent 可对照源码确认)。索引构建不需要预先扫描,而是随模型读取而增长,覆盖实际处理过的内容;未变更文件的重读是空操作(内容哈希),保持索引新鲜且开销最小。
dsh-project-memory 的经验笔记如何工作?
经验笔记存储问题到解决方案的映射,类似问题会取代而非重复,且仅在搜索匹配时返回。笔记存储有界:容量随项目规模缩放(限制在 100–2000 条),超过限制时修剪最旧的笔记。笔记是检索专用的,累积不会影响上下文。
dsh-project-memory 的依赖和兼容性如何?
插件是纯 JavaScript 实现,唯一运行时依赖是 pdfjs-dist(用于 PDF 文本提取),无需原生构建。宿主提供 @deepseek-ai/cordis ^4.0.1 和 @deepseek-ai/schemastery ^3.18.1,通过 peerDependencies 声明。插件仅使用稳定的接口,因此较新的 rc 版本预期可用,但未逐一验证。
