@deepseek-ai/dsh-session
@deepseek-ai/dsh-session 是 dsh 的一个能力 seam:事件溯源的会话存储。会话以事件追加写入,所以会话文件是逐帧变大的,而不是整份重写。
这个包发布在 npm 上,当前版本 0.0.1-rc.1,安装位置是 $DSH_HOME/profiles/<名字> 的依赖列表。
安装
插件管理会把参数转发给 profile 目录里的 pnpm,这条命令的行为和 pnpm add 一致。
dsh plugin --profile web add @deepseek-ai/dsh-session它在 profile 里做什么
事件溯源的会话存储。会话以事件追加写入,所以会话文件是逐帧变大的,而不是整份重写。当前版本 0.0.1-rc.1。想知道它是否已经在你的 profile 里,看 $DSH_HOME/profiles/<名字>/package.json 的依赖,或用 --dump-config 读合成后的树。
什么时候你需要关注这个包
症状是列表里有个会话 id 打不开,或者你看到的对话跟日志对不上。SessionStore(ctx 键 sessions)是追加写的唯一事实来源,模型的对话历史是从它推导出来的——对不上是推导问题,不是文件丢了。
移除或换掉它,什么会坏
没有它就没有追加日志:压缩没有 surface 可投影,也没有东西被持久化。这个包还带着把记录写成磁盘行的 chunk-row 编解码器,以及读回来时用的无损 JSON 工具。
容易被混淆的那个包
它不是 dsh-workspace。工作区注册表负责列表和挂载记录,会话存储负责事件。一个会话可以只有事件、不出现在工作区列表里——会话索引体检报的就是这个状态。
常见问题
装错了怎么卸掉?
用 dsh plugin --profile <名字> remove @deepseek-ai/dsh-session,和装的时候对称。
版本不匹配会怎样?
插件通过 engines.dsh 或 DSH 的 peer 依赖声明兼容区间。不在区间内时命令行会跳过它并打印要求,而不是启动一个可能崩的组合。