DSH Session Manager:按工作区浏览、清理与回收会话

前言

在 DeepSeek Harness(DSH)里长期开发智能体时,会话记录会按工作区不断累积:磁盘占用变大,侧边栏项目也多,却缺少集中查看、搜索和安全删除的入口。手工删目录容易误删正在运行的会话,也难区分「暂存」与「永久删除」。下面介绍社区插件 dsh-session-manager(维护者 ysthink,目录分类为工作流),它在 Harness 设置里提供专用页面,按工作区列出会话、支持搜索与批量操作,并带回收站与保留策略;与直接删日志目录相比,删除前有确认、运行中会话会被跳过,且可从回收站恢复。

这是什么

DSH Session Manager 是面向 DeepSeek Harness 的本地插件包(@local/session-manager,版本 1.0.0,许可证 MIT)。源码仓库:https://github.com/ysthink/dsh-session-manager;社区目录页:https://www.skillhub.cn/plugins/ysthink/dsh-session-manager。

插件在 Settings → Session manager 展示各工作区下的已存储会话,并可搜索、移入回收站或永久删除、清空整个工作区会话,以及从侧边栏移除工作区注册——不会改动工作区文件夹里的项目文件。README 写明在 DeepSeek Harness 0.2.2-rc.1(Windows desktop profile)上做过验证;依赖宿主提供的 webServer、sessionQuery、sessionPersistence、workspaceRegistry、agents 与 configEditor。

核心功能

会话总览与搜索

设置页按工作区分组列出会话,并显示会话总数、磁盘占用与工作区数量。搜索可按会话标题、会话 ID 或目录过滤。

删除与批量操作

每次删除都会弹出确认,可选 Move to recycle bin(可恢复)或 Permanently delete(不可恢复)。支持勾选单个会话、整个工作区(工作区标题旁复选框)或全选后一次提交删除。

回收站与保留策略

回收站支持将条目还原到原目录与工作区、单条或多选永久删除、或清空整个回收站。回收站页有保留天数下拉:off / 7 / 14 / 30 / 90 / 180 / 365 days;写入插件配置 trashRetentionDays,下次打开页面时清理过期项。

移除工作区

Remove a workspace 会删除该工作区的会话记录,并从侧边栏注销该工作区;不删除工作区目录及其中文件。进行中的实时会话会保留并变为未分组。

运行中会话保护

凡删除路径都会跳过当前正在运行的会话,避免正在使用的对话被删掉;界面会报告跳过的数量。

实现要点(供排查用)

宿主侧 index.js 注册仅限本机的 HTTP 路由 /api/dsh-session-manager(需请求头 x-dsh-session-manager: 1,变更操作为 JSON)。浏览器侧 client.js 注册设置页,使用宿主模块表中的 React,无独立构建步骤。移入回收站时,日志目录被挪到 <sessions-root>/.dsh-session-trash/<timestamp>-<session-id>-<random>/,并附带 manifest.json 记录元数据。

安装与启用

官方 README 的安装方式为克隆仓库后,在 Harness 中以 local bundle 安装(非 dsh plugin add github:… 一类拼接命令)。

  1. 克隆仓库:
git clone https://github.com/ysthink/dsh-session-manager.git
  1. 在 Harness 中打开 Settings → Plugins,将克隆目录安装为 local bundle。cordis.patch.yml 会插入 session-manager 插件行,默认无需额外配置。

  2. 刷新页面一次,然后打开 Settings → Session manager。

若通过智能体操作 Harness,可让其从上述检出目录安装 bundle。开发时修改代码后需在插件管理器中重装或重载,并刷新页面(宿主改动随插件行重启生效,客户端改动需刷新页面)。

配置

键 默认值 含义
trashRetentionDays 0 打开页面时 purge 超过该天数的回收站项;0 表示关闭自动清理。有效值夹在 1–3650,非法值视为关闭。

可通过补丁示例覆盖(与 UI 下拉写入同一字段;若值等于默认 0,覆盖会被移除):

- insert:
    - id: session-manager
      name: '@local/session-manager'
      config:
        trashRetentionDays: 30

典型用法

  1. 打开 Settings → Session manager,查看各工作区会话与占用。
  2. 用搜索框按标题、ID 或目录定位会话。
  3. 勾选目标后删除:确认里选移入回收站或永久删除。
  4. 在回收站页恢复、批量永久删除或清空;按需设置保留天数。
  5. 若要侧边栏不再显示某工作区且清掉其会话日志(不动项目目录),使用移除工作区相关操作。

适用场景与注意

适合需要定期整理 DSH 会话、控制日志盘占用、又希望删除可回滚的桌面 Harness 用户。插件以 当前 DSH 进程权限 读写会话存储;安装前宜自行查看仓库源码与 MIT 许可证。

安全说明(来自 README): 永久删除与「清空回收站」无法通过插件撤销;永久删除后只能依赖你自己的文件系统备份。移除工作区后若再从回收站恢复会话,原工作区注册已不存在时会以未分组形式回到列表。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

DSH Session Manager 把「按工作区看会话、搜会话、带进回收站的删除、保留策略、侧边栏移除工作区」收到 Harness 设置页里,并保护运行中会话。需要了解分类与简介时见目录页 https://www.skillhub.cn/plugins/ysthink/dsh-session-manager;安装与行为细节以 GitHub 仓库 README 为准:https://github.com/ysthink/dsh-session-manager。

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

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

小夜