dsh-knowledge-sync:DeepSeek Harness 会话轮次知识库冻结

前言

DeepSeek Harness (DSH) 的对话会话通常是临时的。随着轮次增加,历史记录会消耗上下文窗口。该插件将成功的轮次冻结为文档,而不是将所有内容都注入到提示词中。

插件简介

名称:dsh-knowledge-sync

维护者:liugu2023

许可证:MIT

该插件将 DSH 会话的每一轮冻结为知识库文档,并允许后续对话查找它们。会话结束时,提出的问题、得出的结论以及运行的工具都会被记录为一个 Markdown 文件,且不会发送给模型进行处理。

核心功能

插件提供以下核心能力:

  • Markdown 文档与 YAML Front Matter:每个文档为一个 Markdown 文件,包含 YAML front matter,记录元数据(如 ID、标题、会话、轮次、类型等)。
  • 显著性过滤:只有通过显著性过滤的轮次才会被保存。根据配置,过于简短或无实质内容的轮次(如仅状态报告)会被丢弃。
  • 凭证脱敏:在写入磁盘前,会自动移除工具参数中的敏感信息(如 token、密码、PEM 密钥等),支持配置额外的脱敏正则表达式。
  • 全文搜索:基于内存中的 BM25 索引实现全文搜索,支持搜索文档正文(不仅仅是标题)。
  • 工作区隔离:知识库作用域限定在当前目录,确保不同项目的知识不会相互干扰。
  • 工具与 UI:提供 knowledge_search 和 knowledge_read 工具,并在 Web UI 的设置页面提供知识管理和配置界面。

安装与启用

在终端中执行以下命令以安装该插件:

dsh plugin --profile web add dsh-knowledge-sync

安装完成后,可通过 Web UI 访问设置页面的 Knowledge 部分查看状态。

典型用法

文档存储位置:文档默认保存在 ./knowledge 目录下,或由环境变量 DSH_KNOWLEDGE_ROOT 指定的位置。文件路径通常为 <root>/<session>/<id>-<slug>.md。

文档类型:
* raw:通过显著性过滤的原始轮次。
* note:智能体在执行过程中手动调用的 knowledge_note 工具生成的记录。
* distilled:通过可选的蒸馏功能压缩后的轮次总结。

工具使用:
在对话中,智能体可以通过以下工具操作知识库:
* knowledge_search:在文档库中搜索,支持按类型、标签或工具过滤。
* knowledge_read:读取特定 ID 的完整文档。

配置方式:
在 Web UI 的设置页面进入 Knowledge 部分,在 Config 标签页中可实时修改配置,包括根目录路径、脱敏规则、显著性阈值、蒸馏开关等。

注意事项

  • 搜索机制:当前实现为基于 BM25 的词法搜索,不支持语义搜索(Embedding)。这意味着无法搜索从未出现过的短语。
  • 目录隔离:知识库的召回限制在当前目录内。位于记录知识的工作区子目录中的会话无法访问该知识库。
  • 依赖版本:开发该插件需要与 DSH 安装包中发布的 @deepseek-ai/* 包版本保持一致,建议使用确切版本而非范围版本,以避免引入过时的包。

结语

dsh-knowledge-sync 通过将对话轮次结构化为可搜索的文档,解决了 DSH 会话上下文管理的问题。它提供了基于目录的隔离机制和内存中的高效检索,适合需要在长期会话中维护知识库的开发场景。

该插件位于社区目录:https://www.skillhub.cn/plugins/liugu2023/dsh-knowledge-sync
源代码仓库:https://github.com/liugu2023/dsh-knowledge-sync

羽毛球分组比赛记分
小程序二维码

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

小夜