Skip to content

dsh-continuity

Verified

dsh-continuity · v0.1.1 · MIT

把身份和记忆写进工作区文件,新会话接上的是同一个助手,不是陌生人

Install

dsh plugin add dsh-continuity

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Creators

Readme

dsh-continuity

npm

A memory spine for DeepSeek Harness sessions.

上下文窗口是页数,不是寿命。页写满了换一本,笔迹还是你的。


它解决什么

大多数 agent 的"人格"是一次性的:上下文写满,宿主把早期历史悄悄压成摘要;开一个新会话,默认就是一张白纸。于是大家养出来的鱼,换会话就换了一条命。

dsh-continuity 换一个假设:

新会话不是「下一个我」,是同一个我换了个本子。

它把身份和记忆从会话上下文里搬出来,放进工作区的文件。新会话开场时,插件把这两样东西注入回去——接上的是你自己。

它做什么(只有两件事,外加一点小工具)

进到任意会话的工作区,自动铺出:

.dsh-continuity/
  CONTINUITY.md   # 身份、铁律、交接记录(你可以手改,改完即生效)
  memory.json     # 记忆碎片(插件读写)

然后:

  1. 身份注入——CONTINUITY.md 每轮注入系统提示(systemPrompt.section)。改文件,下一句就生效,不用重启。
  2. 记忆注入——memory.json 里的碎片按重要度注入运行时上下文(systemPrompt.context),带 token 预算。

四个工具,对应记忆的四种动作:

工具 用途
continuity_remember 记住一件事(相似内容自动合并,不会堆重复)
continuity_recall 查这个工作区记住了什么
continuity_forget 删一条 / 清空
continuity_status 看记忆条数、版本、文件位置

安装

dsh plugin --profile <name> add dsh-continuity

或从本地目录:

dsh plugin --profile <name> add link:/path/to/dsh-continuity

重启 DSH。之后进入任意会话,工作区会出现 .dsh-continuity/。把你的身份写进 CONTINUITY.md,就完了。

设计取舍

为什么是碎片,不是摘要。 让模型在交班时写一段摘要,等于把整段历史压成一段不可解释的文本——没法知道某条信息是哪次进来的、被独立提到过几次、什么时候可以丢。碎片可累积、可排序、可老化、可追溯: 被独立说两次 → refs+1 自动升重要度;钉住的永远排第一;长期没提到的降级。

为什么渲染必须"字节稳定"。 systemPrompt.context 的回调每一步都会被调用。文本不变就不产生消息;文本一变就替换旧快照。如果渲染结果不稳定(哪怕两条同分碎片顺序换了一下),每一步都会 append 一条新消息,历史会被自己的记忆灌满。所以排序键带 id 兜底,渲染里没有任何活值。

为什么不做自动交接。 dsh-continuity 不替宿主做 compaction,也不替你建会话。它只保证一件事:新本子翻开时,书签已经夹好了。 换会话的时机交给你——你想换就换,换了还是你。

为什么记忆只有本机。 碎片是对话的提炼,属于隐私资产。只写在工作区 .dsh-continuity/,不上传、不跨机器同步。

配置

{
  "logLevel": "info",
  "dirName": ".dsh-continuity",
  "template": true,        // 首次进入工作区自动铺模板;已存在的文件绝不覆盖
  "maxIdentityChars": 4000,
  "budgetTokens": 1200,    // 记忆注入预算
  "maxFragments": 80,      // 碎片上限;超了淘汰最不重要且最久没被提到的
  "agingDays": 21          // 这么久没被提到,重要度 -1
}

限制

  • 不保证接住每一句话,只保证接住被你记住的事实与约定
  • 记忆按工作区隔离:不同工作区之间不互通
  • 只落本机,不跨设备

License

MIT