前言¶
DeepSeek Harness(DSH)在压缩会话日志时,只是把模型可见的那部分替换成摘要,原始日志并不会被删除。很多场景里,我们并不希望「压缩 = 永久失忆」。当对话变长、上下文被反复压缩,有用的历史片段容易被忽略。dsh-notebook 在 DSH 的插件体系里,把被压缩掉的消息归档成本地可检索的条目,让模型在需要时按关键词取回原文,不需要时只占一条目录。
它是什么¶
dsh-notebook 是一个面向 DeepSeek Harness 的「活页笔记本」记忆插件,由 yya12123 维护。它不改变 DSH 的压缩逻辑,只是把每轮对话落成一条笔记,按时间分层、按来源与话题分类,并提供检索与书签能力,让长期对话里的有用片段可被模型按需取回。
核心功能¶
- 持续抄写:每个 user/message / assistant/message 都落成一条笔记,不调用模型、不产生额外 token。
- 按时间分层:根据会话真实的「模型可见面」判断层级——
- 近:还在当前上下文里的消息;
- 中:已被压缩掉、但还比较近;
- 远:已被压缩掉、属于很久以前的。 - 按来源与话题分类:
- 来源:human(对方)/ self(自己)/ reflection(自己写下的思考);
- 话题标签:感情、重要节点、回忆、偏好、技术、日常等。 - 按需取回:模型先 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 仓库。