dsh-session-toolbox:DSH 会话侧栏与记忆增强工具箱

前言

在 DeepSeek Harness(DSH)里长期跑同一工作区时,常见摩擦并不都在模型能力上:输入框里还没发的截图切个会话就丢了;侧栏项目多了却没法按组折叠;想把某条会话挪到另一个项目目录,又怕历史消息和归档对不上;助手改过的文件想「只回滚代码、保留聊天」也没有现成入口。DSH 本体提供会话、项目与原生归档,但这些会话级细节往往需要自己记流程或靠外部脚本补位。

dsh-session-toolbox 是社区维护的第三方插件(MIT),不修改 DSH 官方安装包,相关数据默认只落在本机。下面按「是什么 → 能做什么 → 怎么装 → 怎么用 → 注意点」说明其能力边界与操作顺序。

这是什么

dsh-session-toolbox(DeepSeek Harness 会话工具箱)由 AndroidSix 维护,在 SkillHub 插件目录 中归类为「记忆」。它面向 DSH 0.2.x 宿主,通过 Cordis 补丁扩展侧栏与会话 UI,补齐图片草稿备份、项目分组与会话迁移、统一归档池、引用回复、文件检查点恢复,以及可选的「后续任务联想」等能力。与 DeepSeek / 幻方无隶属关系;社区目录为独立站点,不是官方应用商店。

当前 README 标注的已发布版本为 0.1.45;package.json 中声明的 DSH 兼容范围为 ^0.2.0-rc.2 || ^0.2.1-rc.2,文档中的验收基线为 DSH 0.2.1-rc.2。

核心功能

以下能力均来自项目 README 与使用说明,按使用场景归纳。

图片草稿保险箱

备份输入框中尚未发送的图片。切换会话后再回来可恢复;消息发送或删除后,对应备份会清理,避免旧图反复出现。默认保留 7 天、上限 200 MB;图片字节存放在当前浏览器的 IndexedDB(库名 dsh-session-toolbox-vault),换浏览器或清站点数据可能导致备份不可用。

项目分组与会话迁移

侧栏可按「分组 → 项目 → 会话」展示并折叠。在「管理项目与分组」中创建分组、为项目选择归属;也可拖动分组标题或使用 Alt/Option + ↑/↓ 调整顺序,变更会自动保存并与侧栏同步。会话可通过拖到目标项目标题,或会话菜单「切换到其它项目…」迁移;前提是该会话空闲且没有待发送的排队消息。插件在取得写锁并完成生命周期清理后写入,已打开过的会话也可迁回,无需重启 DSH(宿主清理接口或布局不匹配时会拒绝写入)。

「编辑项目」可同时改名称与已存在的新代码目录路径:保存时会迁移该项目下全部已有会话的元数据(顺序、归档、置顶、分组等),不会移动磁盘上的代码文件,历史消息里的旧绝对路径也不会改写;中断后可点「继续迁移」。

归档池

在同一界面查看 DSH 原生归档与工具箱归档。原生条目标为「会话(原生归档)」;工具箱归档额外保存项目、顺序和置顶快照。支持「还原」回对应项目;「彻底删除」会删除本地日志等记录且不可通过归档池撤销,操作前需再次确认。默认关闭自动清理。

引用回复

消息操作栏的圆圈引号可引用整条用户消息或助手最终答复;也可选中正文后右键「引用所选内容」。输入区显示预览,原生输入框保留引用标记,可继续编辑、取消或连续引用多条。发送后引用以 Markdown 引用形式与问题一并交给当前会话模型;不复制推理过程、工具结果或图片字节。引用随会话原生草稿保存。

恢复文件检查点与编辑重发

用户消息旁的回转箭头进入「恢复检查点」:先预览待恢复文件,确认后撤销该条消息及之后在本会话中记录到的代码修改,聊天记录保留。快照独立于 Git,不改动提交、暂存区或分支。若该条消息没有记录到可恢复的文件修改,则显示铅笔「编辑并重新发送」:文字载入原生输入框,可改字、加截图后按原生方式发送,原消息及后续聊天保留。

检查点从启用后的工具调用开始记录,无法补回更早消息缺失的文件内容。默认保留最近 100 条消息相关记录、最长 30 天;单文件上限 8 MiB,单次扫描上限 64 MiB / 10,000 个文件,快照存储上限 256 MiB。仅支持本地项目内普通文件,并排除 Git 忽略项、环境文件、依赖与构建目录。外部在恢复前改动了目标文件时会拒绝覆盖。

后续任务联想

每轮问答正常结束后,可在最后一条回答下方看到最多 3 条候选后续任务;点击填入输入框,不会自动发送。默认开启,可在「插件 → 会话工具箱 → 接下来任务联想」关闭。开启后每轮结束会额外调用一次当前会话所选模型(最近最多 6 条可见文字,输入上限 12 KB、输出上限 600 token),用量单独记账,账本位于 ~/.dsh/session-toolbox/next-task-usage.json。排队中的新轮次、子代理、停止或失败轮次不会自动触发;可点回答旁的星光图标手动生成或重试。

删除单条历史消息

消息操作栏垃圾桶经确认后,该条从界面隐藏,并通过 DSH 原生上下文替换使其不再进入后续模型请求。原始磁盘日志保留,不撤销文件修改;含工具调用或已合并进摘要的消息不支持单独删除。

安装与启用

Node 版本需满足 ^22.19.0 || >=24.0.0(见 package.json 的 engines)。

在 DSH 侧栏 → 插件 → 安装 页面输入下列名称安装并启用:

dsh-session-toolbox

也可从 GitHub Release v0.1.45 下载本地包,在同一安装入口选择生成的 dsh-session-toolbox-0.1.45.tgz(后续版本号随发布变化)。通过 Plugin Manager 安装、更新或启停;宿主支持 HMR 时通常可直接生效。若安装结果报告 restart-required,或首次安装后菜单未出现,可按提示完全退出后重开 DSH。

说明:npm install -g dsh-session-toolbox 仅安装命令行工具,不能代替在 DSH 内安装插件。不要直接覆盖 DSH 的 node_modules 来更新本插件。

升级后若出现「未知的操作类型:nextTasks.generate」,可先于插件页停用再重新启用并刷新;0.1.45 起会在操作前检查版本并尝试请求宿主重新加载插件。

典型用法

README 建议的入门顺序如下,便于逐项验证功能是否生效。

  1. 打开 侧栏 → 插件 → dsh-session-toolbox,进入工具箱页面(标题下方可加入 QQ 交流群,群号 1124103038)。
  2. 查看「草稿保险箱」开关;在会话中放入一张未发送的示例图片,切换到其他会话再回来,确认图片是否恢复。
  3. 点击「管理项目与分组」,创建分组并为项目选择归属;回到侧栏展开分组,确认项目显示在分组下;必要时用项目「… → 编辑项目」调整归属或路径。
  4. 需要移动会话时,使用会话菜单「切换到其它项目…」;DSH 原生归档产生的条目可在工具箱归档池中查看与还原。

引用回复、检查点恢复、后续任务联想等交互细节与限制见仓库内 使用指南;架构与离线 CLI 见 架构说明。README 还提供约 50 秒图文导览视频(docs/media/session-toolbox-tour.mp4,虚构演示数据)。

适用场景与注意

适合谁: 经常在 DSH 里切换会话、管理多个本地项目目录,并希望侧栏分组、会话迁项目、草稿图不丢、归档统一查看,或对助手改文件做「保留聊天、回滚工作区」的开发者。

数据与隐私: 分组、设置、归档账本、迁移进度等位于 ~/.dsh/session-toolbox/;会话日志与工作区账本仍使用 DSH 原有目录 ~/.dsh/sessions/、~/.dsh/storages/workspace.json。开启后续任务联想时,会向当前会话的模型服务发送有限文字上下文,可在设置中关闭。

安全与权限: 插件以当前 DSH 进程权限运行,安装前宜自行查看源码与 MIT 许可证;删除、迁移与检查点相关风险见仓库 免责声明。反馈问题可附版本与脱敏步骤,避免公开完整会话、凭据或带真实路径的截图;也可通过 GitHub Issues 或 QQ 群联系维护者。

结尾

dsh-session-toolbox 把 DSH 会话侧栏里若干「记在心里」的操作做成可复现的本地能力:草稿图、分组与迁会话、归档池、引用与检查点,以及可选的任务联想,数据默认不出本机。若你已在用 DSH 0.2.1-rc.2 一类版本,可从插件名 dsh-session-toolbox 安装,再按工具箱页与 README 的入门四步逐项验收。

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

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

Xiaoye