kagurazakayashi/dsh-delete-session:DeepSeek Harness Web 插件,用于会话删除

前言

在 DeepSeek Harness(DSH)的工作流中,会话管理是日常操作的一部分。当不再需要某个会话时,通常需要通过文件系统或特定的界面操作进行清理。对于习惯使用 Web 界面的开发者来说,直接在列表中删除会话能节省时间。

dsh-delete-session 插件正是为了解决这个痛点。它不依赖额外的配置文件修改,而是通过注册官方插槽,将“Delete session”选项直接集成到会话行的菜单中。

这是什么

这是一个 DeepSeek Harness Web 插件,由 kagurazakayashi 维护。它旨在为 Web UI 提供快速且彻底的会话删除能力。

该插件通过以下方式实现功能:
* 注册一个“Delete session”菜单项到会话行的菜单插槽中。
* 注册一个配置卡片到官方的 plugins.bundle.config 插槽中,用于管理删除确认策略。
* 提供三种确认模式,以适应不同的安全需求。

核心功能

  1. 菜单集成
    插件在会话行的 ... 菜单中注册了“Delete session”选项。在默认配置下,该选项会出现在“Archive session”下方。

  2. 三种确认模式
    用户可以通过插件设置选择删除时的确认方式:

    • click-again(默认):点击后变为警告状态,需再次点击才执行删除。
    • dialog:弹出确认对话框。
    • instant:无确认,点击即删除。
  3. 两步删除流程(默认模式)
    在默认的 click-again 模式下:

    • 第一次点击:菜单项变为红色警告状态,提示“再次点击删除”。
    • 第二次点击:调用删除接口,刷新列表。
    • 超时/失败:如果在 8 秒内未完成第二次点击,状态会自动恢复。
  4. 运行会话保护
    插件会检查会话状态。如果会话正在运行(Agent 状态不是 idle),删除请求会被拒绝,返回 HTTP 409。这是为了防止正在写入的日志文件被破坏。

  5. 配置持久化
    插件的设置通过官方插件管理器保存,写入到 cordis.patch.yml 的 id: delete-session 行的 config: 字段中。

安装与启用

安装该插件需要执行以下命令:

dsh plugin --profile web add @kagurazakayashi/dsh-delete-session

安装完成后,启动 Web 服务:

dsh web

重启服务并刷新页面后,在任意会话行的菜单中即可看到“Delete session”选项。

典型用法

默认情况下,插件使用两步确认模式。操作步骤如下:

  1. 在会话列表中,点击对应会话行的 ... 按钮。
  2. 在弹出的菜单中,点击“Delete session”。
  3. 菜单项变为红色警告状态,再次点击该选项。
  4. 会话被删除,列表刷新。

若要更改确认模式,需通过插件的配置卡片进行设置。该卡片位于侧边栏的 Plugins 页面中,在已安装列表中找到该插件并进入详情页,展开配置卡片即可选择模式。

注意事项

  • 运行中的会话无法删除:如果会话正在处理任务,插件会返回 HTTP 409 错误,并显示错误提示。只有状态为 idle 的会话可以删除。
  • 闲置但打开的会话可删除:即使用户切换了会话,只要会话没有处于运行状态,通常仍可被删除。
  • 不修改核心:该插件不会修改 DSH 核心安装或补丁核心文件,它是完全通过官方插件机制实现的。

结语

dsh-delete-session 插件通过标准化的插槽注册和可配置的确认机制,为 DSH Web 用户提供了更便捷的会话清理手段。对于需要频繁管理会话的用户来说,这是一个实用的工具。

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

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

Xiaoye