前言¶
在 DSH 里开新会话、输入提示词但还没点发送时,如果切换到别的会话或再开一条,原生行为往往会让这条「半成品」从侧边栏消失,草稿也容易丢。你要么硬着头皮先发出去,要么重新输入一遍。
下面介绍社区插件 dsh-pending-session(维护者 nvjaasouid,分类:客户端)。它把「有内容但未发送」的新会话留在侧边栏,显示为「待执行」,可随时点进去编辑、发送或删除;草稿与附件在本地持久化,重启 DSH 不丢。
这是什么¶
dsh-pending-session 是 DeepSeek Harness(DSH)的客户端插件,当前 npm 版本为 0.1.1,许可证 MIT。依赖 @deepseek-ai/dsh >= 0.2.0-rc.2,运行环境要求 Node >= 22。
插件在浏览器侧注入会话与工作区相关 UI(client.js),并在宿主侧注册删除相关端点(index.js)。除「待执行」草稿能力外,还会在每条会话行的菜单中增加「删除会话」——与归档不同,属于真删除,下文单独说明。
目录页:SkillHub - dsh-pending-session
源码与说明:GitHub - nvjaasouid/dsh-pending-session
核心功能¶
待执行会话如何出现¶
在一个会话里输入了内容但尚未发送时,若进入其他会话或开启新会话,原先那条新会话不再被隐藏,而是作为侧边栏条目与其他对话并列,显示名称为 「待执行」。
进入待执行条目后点击发送,即转变为正常会话。若把草稿删到只剩空白再离开,该条目会被回收(自动收走,仅归档侧栏展示,不删底层会话数据)。
可同时存在多个待执行;待执行与正常会话之间、各待执行之间互不影响。
排序与持久化¶
侧边栏按时间排序,规则如下:
- 待执行:按创建时间
- 正常会话:按最近一次向 DSH 发送对话的时间
- 编辑草稿不会改变待执行在列表中的位置
待执行保存在本地,重启 DSH 后仍在。
可进行的操作¶
对待执行条目,可随时:
- 编辑
- 重命名
- 归档
- 删除(会话下拉菜单;暂不支持 dsh-session-archive 的多选删除)
- 发送
安装与启用¶
任选一种安装方式(命令与名称以 README 为准):
在 DSH 插件管理器(设置 → 插件)中按名称安装:
dsh-pending-session
或在 profile 目录下用包管理器安装:
pnpm add dsh-pending-session
装完后请 重启一次 DSH。插件的宿主半边在启动时加载;不重启时删除相关能力不会生效。
卸载:在插件管理器中禁用或移除,或在 profile 目录执行:
pnpm remove dsh-pending-session
已有对话与归档记录不受影响,侧边栏恢复为未装插件时的样子。
典型用法¶
- 新建或进入一个会话,在输入框写好提示词或附件,不要发送。
- 切换到其他会话或再开新会话。侧边栏会出现名为「待执行」的条目。
- 点击该条目继续编辑;确认内容后 发送,条目转为普通会话记录。
- 若暂时不需要该草稿,可用重命名、归档或删除;不需要长期保留时,也可清空输入至仅空白后离开,让插件自动收走侧栏条目。
以上流程无需额外配置项;行为由插件在客户端注入逻辑完成。
适用场景与注意¶
适合谁: 经常在 DSH 里并行构思多条任务、先写草稿再决定发送顺序的开发者;希望「未发送的新会话」像普通列表项一样可见、可找回的用户。
安全与数据(必读):
插件会在 每条会话行(含非待执行会话)的「…」菜单中增加 「删除会话」。该操作会清理会话日志、投影缓存与工作区记账,不可恢复,不是归档。
- 正在运行的会话(agent 仍在输出)不允许删除。
- 归档与删除不同:归档仅从侧边栏收起,仍可在「归档会话」中找回。
- 草稿清空到只剩空白后离开,条目自动收走(仅归档展示,不删数据)。
- 删除由插件宿主端点执行;端点不可用时,会退回系统原生的归档行为。
安装前建议: 插件以当前 DSH 进程权限运行,会读写本地会话与工作区相关数据。安装前可阅读 GitHub 仓库 中的 client.js、index.js 与 FAQ.md,并确认 MIT 许可证是否符合你的使用环境。DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-pending-session 解决的是「未发送草稿在切会话时消失」的问题:侧边栏「待执行」保留草稿,发送即转正,本地持久化。使用时务必区分 归档 与菜单中的 删除会话(真删除)。
- 目录页:https://www.skillhub.cn/plugins/nvjaasouid/dsh-pending-session
- GitHub:https://github.com/nvjaasouid/dsh-pending-session