dsh-notebook:给长期对话的活页笔记本

前言

DeepSeek Harness(DSH)在压缩会话日志时,只是把模型可见的那部分替换成摘要,原始日志并不会被删除。很多场景里,我们并不希望「压缩 = 永久失忆」。当对话变长、上下文被反复压缩,有用的历史片段容易被忽略。dsh-notebook 在 DSH 的插件体系里,把被压缩掉的消息归档成本地可检索的条目,让模型在需要时按关键词取回原文,不需要时只占一条目录。

它是什么

dsh-notebook 是一个面向 DeepSeek Harness 的「活页笔记本」记忆插件,由 yya12123 维护。它不改变 DSH 的压缩逻辑,只是把每轮对话落成一条笔记,按时间分层、按来源与话题分类,并提供检索与书签能力,让长期对话里的有用片段可被模型按需取回。

核心功能

  1. 持续抄写:每个 user/message / assistant/message 都落成一条笔记,不调用模型、不产生额外 token。
  2. 按时间分层:根据会话真实的「模型可见面」判断层级——
    - 近:还在当前上下文里的消息;
    - 中:已被压缩掉、但还比较近;
    - 远:已被压缩掉、属于很久以前的。
  3. 按来源与话题分类:
    - 来源:human(对方)/ self(自己)/ reflection(自己写下的思考);
    - 话题标签:感情、重要节点、回忆、偏好、技术、日常等。
  4. 按需取回:模型先 notebook_search 用关键词找编号,再 notebook_read 读原文;notebook_mark 可把重要节点做成书签,或写一段自己的思考。

关键点:笔记本本身不参与每次请求。常驻的只有一条简短的提示(约 120 字)和三个工具的 schema;正文只在你真正调用时才进上下文。

工具

工具 作用
notebook_search 关键词 + kind / tag / tier 过滤,返回带编号的摘要卡片。省略 query 则列出最新条目。
notebook_read 按编号读原文,可带前后文(before / after),可读整页书签(page),有字数上限并标明截断。
notebook_mark ids + title 建书签页;text 写一条自己的思考。两者可同时用。

另外有 /notebook 命令,用于查看当前会话的条目数、分层、话题和书签。

安装与启用

本插件没有发布到 npm,需从 GitHub 取源码,再由 DSH 从本地目录安装。

git clone https://github.com/yya12123/dsh-notebook.git

然后在 DSH 对话里让 agent 安装这个目录(target 填克隆下来的绝对路径):

用 plugin_manager 的 install_bundle 安装 C:\path\to\dsh-notebook

装好后工具和提示段会立刻出现在会话里;如果没出现,重启 DSH。

注意:改完代码要重装。以本地链接目录安装的 bundle 不会热替换已加载的模块,必须 remove_bundle 再 install_bundle,否则跑的还是旧代码。这一点和普通插件不同。已在 DSH 0.2.1-rc.2 上验证过。

配置

cordis.patch.yml 里已给出全部可调项(都有默认值):

键 默认 说明
dataDir ~/.dsh/notebook 数据目录,每个会话一个 JSONL
entryChars 4000 单条最多存多少字
abstractChars 140 搜索卡片摘要长度
midTurns 20 超过多少轮才算「远」
searchLimit 8 默认返回条数
readMaxChars 2400 单次读取字数上限
instructions true 是否加一条系统提示说明笔记本存在
includeSubagents false 是否也给子会话记账
tagRules {} 追加话题规则,如 { 家人: '妈妈|爸爸|家里' }

数据与隐私

  • 全部在本机:~/.dsh/notebook/<sessionId>.jsonl,一行一条记录,可直接用文本编辑器翻看或备份。
  • 不删会话日志,不改写历史消息,不向任何服务发送内容。
  • 笔记本是派生缓存:删掉文件不会丢历史,下次会自动从会话日志重放重建。

已知边界

  • 插件本身不执行压缩。压缩仍由 DSH 的 compaction 负责;笔记本保证压缩之后还能取回原文。若某个 profile 没启用 compaction,笔记本仍可当检索目录用,但旧消息本来也在上下文里,省不了 token。
  • 条目按会话隔离。跨会话共享记忆不在本版本范围内。
  • 分类是词表启发式,不调用模型;检索质量主要来自全文搜索,标签只用于浏览。

适用场景与注意

适合长期对话场景,希望在被压缩的历史中保留可检索片段的开发者。使用前应检查源码与许可证,插件以当前 dsh 进程权限运行,数据完全本地存储。

短结尾

dsh-notebook 把「被压缩掉的消息」变成可检索的活页笔记本,让模型按需取回原文而非整段遗忘。如需查看更多细节,可访问插件目录页或 GitHub 仓库。

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

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

Xiaoye