dsh-session-activity:DSH Web 侧边栏的活动优先会话组织

前言

在使用 DeepSeek Harness (DSH) Web 端进行开发时,侧边栏往往会积累大量会话。手动管理这些会话的可见性和优先级容易导致视线混乱。dsh-session-activity 插件通过活动优先级对会话进行自动分组,帮助开发者快速聚焦当前需要的上下文。

核心功能

该插件基于会话的 Last updated 时间戳,将可见会话划分为四个层级:Hot(热)、Warm(温)、Cool(冷)、Cold(冷)。系统会持续监控会话状态,并根据配置的规则动态调整分组。

排序逻辑遵循以下优先级(由高到低):
1. 显式用户交互(等待用户操作)。
2. 已完成 AI 回复(等待用户继续)。
3. 普通空闲会话。
4. AI 正在运行或子代理持续运行中的会话。

除了自动分组,插件还提供了以下能力:
- Focus 模式:提供一个持久按钮,隐藏除 Hot 以外的所有分组,仅显示活跃会话。
- 搜索与展开:Focus 模式下仍可搜索所有会话;当前会话所在的分组会自动展开,空组会被隐藏。
- 保留操作:保留会话的打开、重命名、分叉、归档、工作区创建/重命名/移除以及新建会话等原生操作。

安装与启用

使用 DSH 的命令行工具安装插件:

dsh plugin --profile web add dsh-session-activity

安装完成后,重启 dsh web 进程并刷新页面,插件即可生效。它会通过 DSH 的插槽优先级机制覆盖内置的工作区浏览器。

配置

配置文件位于 $DSH_HOME/session-organizer.json。通过 Settings → Session Organizer 菜单进行编辑,保存后侧边栏会立即更新。

默认配置如下:

config:
  hot:
    label: Hot
    within: 3h
    expanded: true
  warm:
    label: Warm
    within: 1d
    expanded: false
  cool:
    label: Cool
    within: 2d
    expanded: false
  cold:
    label: Cold
    expanded: false
  focus:
    defaultEnabled: false
  refreshEvery: 1m

配置说明:
- within 参数设定分组的时间阈值,单位支持 m、h、d、w。
- 时间阈值必须满足 hot.within < warm.within < cool.within。
- 边界判定为“包含在较旧的组中”:Hot 为 <,Warm 为 ≤ 且 <,以此类推。
- refreshEvery 最小值为 1m,控制分组计算频率。

典型用法

  1. 调整分组阈值:根据实际使用习惯,在设置中修改 hot.within(如 2 小时)或 warm.within(如 6 小时),以改变会话活跃度的判定标准。
  2. 手动排序:在会话的操作菜单中,使用键盘可访问的 Move earlier 和 Move later 功能,对同一层级内的会话进行微调排序。
  3. 添加工作区:在侧边栏中通过 Add workspace 功能,利用 DSH 的 browse 能力在应用内浏览目录,无需依赖操作系统的文件选择器。

适用场景与注意

该插件适合需要在 Web 端长时间运行 DSH、管理多个并发会话的开发者。

注意:
- DSH 拥有 Last updated 字段的持久化权限,插件仅在此字段基础上进行投影计算,不会修改 DSH 的会话摘要。
- 子会话(Subagent child Sessions)不会出现在顶层列表中,这与内置的工作区浏览器行为一致。
- 插件遵循 MIT 许可证。

结尾

dsh-session-activity 通过自动化的分组和排序逻辑,简化了 DSH Web 端侧边栏的会话管理。更多细节可查看社区目录或源码仓库。

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

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

小夜