前言¶
在 DeepSeek Harness(DSH)里长期跑任务时,会话列表会快速变长。默认交互多是逐条打开、逐条归档,清理一批历史会话往往要重复很多次点击。文件管理器里常见的「先点一条、Shift 点最后一条、整段选中再批量操作」,在 DSH 原生会话侧边栏里并不总是顺手。
下面介绍社区插件 dsh-session-multiselect(维护者 XuYuanDaWang):给 Web 客户端会话列表加上连续多选,并配合顶部浮动条做批量归档与撤销。仓库在 SkillHub 目录 归类为客户端插件;源码与说明见 GitHub,许可证为 MIT。
这是什么¶
dsh-session-multiselect 的定位可以概括为:不改编 DSH 内核,在会话侧边栏实现「文件管理器式」的范围多选,并对选中项调用 DSH 已有的归档 / 取消归档能力。
同一仓库同时承担两件事:根目录的 client.js、index.js、package.json、cordis.patch.yml 是可安装的 DSH 插件本体;SKILL.md 是给 AI 助手看的安装与移植说明,也可软链到技能目录后,让助手按文档协助安装。
核心功能¶
以下能力均来自项目 README 中的交互说明。
选择与取消选择¶
| 操作 | 结果 |
|---|---|
| 普通点击会话 | 打开该会话,并记为范围选择的锚点 |
| Shift + 点击 | 从锚点到该条整段选中(不打开会话) |
| Cmd / Ctrl + 点击 | 单条加选或取消 |
| Esc / 点空白 | 清空选择 |
选中行会有整行淡品牌色高亮,以及左侧 3px 强调条。顶部浮出操作条,显示 「已选 N 个会话」,并提供归档与取消按钮。
批量归档与撤销¶
点「归档」会对当前选中会话批量归档;运行中的会话会先二次确认。归档完成后可点「撤销」,一键恢复刚归档的会话。若侧边栏处于「已归档」过滤且选中项均为已归档会话,按钮会自动变为 取消归档。
典型流程可以按 README 中的五步理解:普通点击设锚点 → Shift 点末条整段选中 → 必要时用 Cmd/Ctrl 微调 → 浮动条归档(可撤销)→ 换一批重复同样操作。
安装与启用¶
官方 README 给出的安装方式如下(安装命令以仓库原文为准,勿自行拼接其他 CLI 形式)。
git clone https://github.com/XuYuanDaWang/dsh-session-multiselect.git ~/.dsh/plugins/dsh-session-multiselect
~/.dsh/plugins/dsh-session-multiselect/install.sh # 自动登记到 profile 并建软链
install.sh 会登记到 profile 并建立所需软链。完成后需要完全退出并重开 DSH(例如 macOS 上 ⌘Q 后重开);仅刷新页面不够。
另一种路径:把本仓库软链到 ~/.dsh/skills/dsh-session-multiselect,让技能被发现,再对助手说「帮我安装会话批量选择插件」,按 SKILL.md 执行。手动安装时,需在 dsh.profile.bundles / dependencies 中登记本仓库,建软链并执行 pnpm install,然后重启 DSH。细节见仓库内 SKILL.md。
package.json 中包名为 @local/dsh-session-multiselect,版本 1.0.0;客户端注入依赖包括 @deepseek-ai/dsh-client-ui-workspace、@deepseek-ai/dsh-client-ui-sidebar、@deepseek-ai/dsh-client-ui-layout,并在 Web 平台 immediately 加载。
实现要点(便于评估与移植)¶
README 简述的实现方式如下,便于判断是否与当前 DSH 版本兼容:
- 在捕获阶段拦截会话行(
data-row-key="session:<id>")的点击,实现 Shift 范围选择。 - 通过
shell.overlay插槽渲染浮动操作条。 - 批量动作调用公开的
uiWorkspace.archiveSession/uiWorkspace.unarchiveSession。
适用场景与注意¶
适合谁:经常在 DSH 里积累大量会话、需要按区间或组合批量归档(或取消归档)的开发者;希望交互接近桌面文件管理器多选习惯的用户。
使用前请知悉:
- 插件在 Web 客户端侧运行,属于社区目录中的客户端类扩展;SkillHub 为独立社区站点,与 DeepSeek / 幻方无官方从属关系,安装前请自行阅读源码与 MIT 许可证。
- 插件以当前 DSH 进程权限运行,安装前建议检查
client.js、cordis.patch.yml等是否与你的环境一致。 - 归档运行中会话会触发二次确认,批量操作前仍建议确认选中范围,避免误归档仍在使用的会话。
结尾¶
dsh-session-multiselect 把 Shift 区间多选和批量归档接到 DSH 会话侧边栏,并保留撤销与「已归档」视图下的取消归档,适合需要定期清理工作区会话的场景。