dsh-infinite-context:DeepSeek Harness 插件,实现无限上下文的多层记忆管理

前言

DeepSeek Harness (DSH) 插件生态强调模块化与灵活性。在构建长对话智能体时,上下文窗口的限制是常见瓶颈,简单的截断或摘要往往难以平衡信息密度与计算成本。dsh-infinite-context 针对这一问题,提供了一套完整的多层记忆管理方案。

插件简介

这是一个 DeepSeek Harness (DSH) 插件,旨在通过多层记忆管理、语义检索和模型上下文感知,为长对话提供“无限上下文”的体验。

  • 维护者:chocobo77
  • 协议:MIT
  • 核心价值:解决长对话中的上下文溢出问题,保持对话连贯性与关键信息留存。

核心功能

插件通过以下机制实现长对话的维护:

  1. 多层记忆金字塔:将记忆分为 short(近期原文)、mid(LLM 摘要)和 long(合并摘要)三个层级,分别管理不同时效和重要性的信息。
  2. 渐进式压缩与动态阈值:根据 token 使用情况,动态调整压缩触发水位。当上下文超过阈值时,自动对旧消息进行摘要,近期对话原样保留。
  3. 深度思考介入:包装 LLM 流,在输入与输出逼近当前模型真实窗口时注入溢出信号,触发压缩与重试,确保模型在思考过程中也能被介入。
  4. 语义检索与三层去重:通过嵌入向量实现语义检索,并使用精确匹配、归一化模糊匹配和语义余弦相似度(阈值 0.92)进行去重,防止重复信息入库。
  5. 结构化记忆与持久化:记忆按 user/feedback/project/reference 分类,存储在 SQLite 中,支持重启后恢复。
  6. 模型上下文感知:自动读取 DSH 解析的真实模型上下文窗口,并支持本地模型探测,确保压缩在真实窗口范围内触发,而非声明值。

安装与部署

安装命令为:

dsh plugin add

根据文档说明,此安装方式存在临时路径陷阱。dsh plugin --profile <name> add <tgz> 会将 tarball 暂存到临时目录,该目录可能被系统清理,导致后续安装失败。推荐做法是使用持久化目录安装,或参考 README 中的详细部署说明(如通过 npm pack 打包并放入 ~/.dsh/packages/)。

配置说明

配置主要分为 memory-context 和 memory-compaction 两个部分。

memory-context 配置

键 默认值 说明
storePath dsh-infinite-context.db SQLite 数据库存储路径。设为 :memory: 可禁用持久化。
contextWindow 94000 模型上下文窗口(回退值)。插件会优先采用 DSH 解析的真实窗口。
headroomRatio 0.25 为系统、工具、输入、输出预留的比例。
modelProbe.enabled false 启用后,主动探测本地服务器(如 llama-server/Ollama)的真实上下文窗口。
budget.short/mid/long/retrieved 10000/20000/5000/15000 分层 token 预算。

memory-compaction 配置

键 默认值 说明
thresholdRatio 0.7 压缩触发比例。当上下文超过窗口的 70% 时触发基础压缩。
compaction_dynamic_threshold true 当真实窗口小于声明窗口时,按真实窗口推导阈值,强制压缩历史。
thinking_guard_enabled true 启用深度思考介入,在生成流中监控溢出。
compress_target_ratio 0.6 压缩目标水位,仅处理溢出部分。
retainRatio 0.3 压缩时保留最近 30% 的窗口内容。

手动工具

插件提供 10 个手动工具,用于管理记忆:

  • memory_search(query?, k?):语义检索持久化记忆。
  • memory_status:报告分层计数、预算、嵌入器、遗忘策略及模型 CTX。
  • memory_index(limit?):生成 MEMORY.md 风格的结构化索引。
  • memory_maintain:执行只读审计,检查重复、冲突和过时信息。
  • memory_model_probe(forceProbe?, model?):报告模型 CTX 来源,可强制探测。
  • memory_forget:执行遗忘扫描(低于 forgetting.minScore 的记忆)。
  • memory_consolidate:强制金字塔合并。
  • memory_reset:清空所有记忆。
  • memory_force_compress(sessionId?):强制压缩指定会话。
  • memory_ingest(text, source):手动入库一条文本。

适用场景与注意

  • 依赖环境:依赖 DeepSeek Harness 系列插件,且 Node.js 版本要求 >= 22.19.0。
  • 权限运行:插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证。
  • 测试覆盖:项目包含 133 个单元测试。

结语

dsh-infinite-context 通过分层记忆、动态压缩和模型感知,为 DSH 插件提供了实用的长对话管理能力。对于需要处理超长上下文或复杂多轮对话的开发者,该插件能够有效缓解上下文溢出问题。

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

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

小夜