dsh-sess:DeepSeek Harness 会话管理与清理插件

前言

DeepSeek Harness (DSH) v0.1.2-alpha.5 原生支持重命名、分叉和归档会话,以及重命名或删除工作区注册。然而,它缺乏两个关键功能:永久删除会话,以及在归档后重新管理会话(例如重命名或删除归档的会话)。dsh-sess 插件填补了这些空白。

插件简介

dsh-sess 是 DeepSeek Harness 的一个全局会话管理插件。它通过原生 Web UI 提供侧边栏会话删除和工作区归档管理(重命名、恢复、删除)。它通过官方 Profile Bundle + Cordis 机制挂载到 profile,并且绝不修改 DSH 源码。

核心功能

  • 会话列表与查询:在“所有会话”标签页中显示会话列表。它反映了侧边栏投影,显示标题、活动时间、工作区、运行/空标志。
  • 会话识别与元数据:显示持久化标题(回退到 ID)、工作区隶属关系、归档状态和活动时间。
  • 永久删除:在“所有会话”标签页和每个侧边栏会话行的菜单中提供“删除会话”选项。此操作仅适用于冷会话(未在运行进程中的会话),并拒绝正在进行的会话(agent-busy)。
  • 归档会话管理:在“已归档”标签页中列出归档会话,并允许重命名和删除它们。
  • 会话持久化与恢复:存在性检查通过官方 ctx.sessionPersistence.list() 进行。删除操作通过官方 locate() 进行。DSH 重启后,每个会话变为冷会话并可被删除。
  • 工作区关联:显示工作区标题。删除操作通过官方 workspaceRegistry 分离 API 释放工作区会计。
  • 异常会话安全处理:拒绝格式错误的 ID;对未知会话返回 session-not-found;拒绝运行中的会话;在接触文件之前拒绝不安全的工件路径。

安装与启用

此插件针对 Web UI,并要求 DSH v0.1.2-alpha.5 和 Node.js ≥ 20。

安装到运行 Web UI 的 profile:

dsh plugin --profile web add dsh-sess

安装后,停止 dsh web 并重新启动。设置页面现在包含一个“会话管理器”部分。

使用方法

  1. 打开设置:打开 设置 -> 会话管理器。
  2. 管理所有会话:
    • “所有会话”标签页显示所有非子代理会话。
    • 正在运行的会话已标记,无法删除。
    • 在会话行菜单中,选择 归档 以将其移动到“已归档”标签页。
  3. 管理归档会话:
    • 切换到 已归档 标签页。
    • 使用行内编辑器 重命名 归档会话。
    • 使用确认流程 删除 归档会话。
  4. 删除冷会话:
    • 切换到“所有会话”标签页。
    • 找到一个冷会话(未标记为运行)。
    • 在行菜单中选择 删除会话。
    • 确认删除。

注意事项

  • 不支持取消归档:官方工作区归档集是单向的。归档的会话无法恢复。
  • 拒绝运行中的会话:正在运行的会话无法删除以避免损坏。关闭会话或重启 DSH(这会使每个会话变为冷会话)后再次尝试。
  • 子代理不显示:子代理会话属于父会话,因此不在此处显示。
  • 侧边栏延迟:侧边栏更新可能需要刷新或重启 DSH 以进行协调。
  • 孤立归档标记:孤立归档标记是不活跃的,从不渲染。
  • 仅限 Web UI:此插件仅针对 Web UI。

结语

dsh-sess 提供了 DSH 原生管理流程中缺失的清理和重新管理能力。它严格依赖官方 API,确保与 DSH 核心保持兼容。

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

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

小夜