前言¶
DeepSeek Harness(DSH)桌面版在长时间使用后,会话列表会逐渐膨胀,删除操作又分散在各个面板里,查看和清理都不方便。dsh-session-manager 插件在左侧导航栏增加一个「会话管理」面板,集中列出所有会话,支持按时间、体积、回合排序,以及批量删除和多种清理方式。
是什么¶
dsh-session-manager 是一个给 DeepSeek Harness 桌面版用的会话管理插件。插件在左侧导航栏注册一个面板,列出会话的标题、回合数、体积、最后活动时间和所属工作区。它提供批量删除、单条删除、多种排序方式、空会话清理和失效记录清理等能力,并内置 5 种布局和外观设置。
安装与启用¶
安装只需要一条命令:
dsh plugin --profile desktop add https://github.com/daxianya/dsh-session-manager/releases/latest/download/dsh-session-manager.tgz
安装后退出应用再打开,左侧导航栏会出现「会话管理」入口。也可以先下载 tgz 文件到本地再安装:
dsh plugin --profile desktop add ./dsh-session-manager-0.2.0.tgz
dsh plugin add 会自动处理依赖、登记 dependencies 并写入 dsh.profile.bundles,不需要手动编辑配置文件。
确认安装成功:
dsh --profile desktop --dump-config | grep -A2 session-manager
如需卸载:
dsh plugin --profile desktop remove dsh-session-manager
核心功能¶
会话列表
面板列出会话的标题、回合数、体积、最后活动时间、所属工作区,支持按时间、体积、回合、标题排序,并可切换升序或降序。
批量删除
勾选会话后点击删除,插件会进行两步确认,然后删除对应目录、清空索引、清除缓存。删除是硬删除,不留备份。
单条删除
每行右侧有垃圾桶图标,点两下确认后删除单条会话。
孤儿会话筛选
可筛选出所属工作区已被删除的孤儿会话。
空会话清理
有些会话点击了「新会话」但一句话没发,软件本身不会显示这些空壳,可在设置里一键清理。
失效记录清理
删除会话后,内存中的会话对象可能在下次写入 workspace.json 时产生残留条目,设置面板提供清理失效记录的功能。
5 种布局
表格视图、卡片视图、按项目分组、左右分栏、带体积条,可在设置面板切换。
外观设置
支持浅色、深色、跟随系统三种主题,字号分三档,只作用于本面板。
安全设计¶
不删当前正在对话的会话
插件通过服务端读取会话状态,如果会话正在运行回合,删除请求会被拒绝,理由回传「正在运行回合」。
同源校验
非本机 Origin 的 POST 请求一律返回 403。
id 白名单
只接受 session-<uuid> 格式的会话 ID,对 ../ 这类路径穿越尝试直接判非法。
原子写
修改 workspace.json 时使用临时文件 + rename 的方式,不会出现半个文件写入磁盘的情况。
典型用法¶
- 安装插件后,左侧导航栏会出现「会话管理」。
- 在面板顶部选择排序方式(时间、体积、回合、标题)和方向。
- 勾选不需要的会话,点击删除按钮,在确认对话框中再次确认。
- 如需清理空会话,在设置面板点击「清理空会话」按钮。
- 如需清理失效记录,先
⌘Q退出应用,再打开并进入设置面板,点击「清理失效记录」。
注意事项¶
插件只测过 macOS + DeepSeek Harness 桌面版。删除会话后建议重启一次应用,否则内存中的会话对象可能在下次写入 workspace.json 时产生失效记录,需要通过「清理失效记录」修复。
插件以当前 dsh 进程权限运行,安装前应检查源码与许可证(MIT)。
总结¶
dsh-session-manager 为 DeepSeek Harness 提供了一个集中管理会话的入口,支持批量删除、排序和多种清理方式。它不依赖宿主预留位置,通过插件自身的接口注册侧边栏,提供硬删除、同源校验、路径穿越防护等安全设计。适合需要在桌面版中集中管理会话的开发者使用。
插件目录页:https://www.skillhub.cn/plugins/daxianya/dsh-session-manager
GitHub:https://github.com/daxianya/dsh-session-manager