dsh-session-manager:DeepSeek Harness 会话管理插件

前言

DeepSeek Harness (DSH) 的设计理念是“一切皆插件”,这为扩展系统提供了灵活性,但也意味着用户需要自行管理各类工具。在长期使用或进行 Agent 开发时,会话数量往往迅速增加,导致侧边栏混乱、难以检索和归档。dsh-session-manager 旨在解决这一痛点,为 DSH Web 界面提供一站式的会话管理能力,无需修改 DSH 核心代码即可运行。

插件简介

dsh-session-manager 是一款本地运行的 DSH 插件,由开发者 qewregrfhnm 维护,基于 MIT 许可证开源。它为 DSH Web 界面提供集中的会话控制,包括删除(含回收站机制)、工作区管理、会话移动、未读标记、导出以及全局上下文压缩设置。

安装

安装此插件需使用 DSH CLI。安装完成后,请重启 dsh web 服务以确保插件生效。

dsh plugin --profile web add 'https://github.com/qewregrfhnm/dsh-session-manager/releases/download/v0.4.1/dsh-session-manager-0.4.1.tgz'

核心功能

该插件提供以下具体能力:

  • 会话生命周期管理:支持删除(进入回收站,保留最近 10 条)、恢复、彻底删除以及已归档会话的一键恢复。
  • 会话重命名:将修改写入官方事件,重启后不丢失,侧边栏即时同步。
  • 数据导出:支持导出为 Markdown(可读对话记录)或 JSON(无损完整事件日志)。
  • 工作区操作:支持将会话移动到其他工作区,支持拖拽排序工作区;移动操作仅修改元数据,不破坏日志文件结构。
  • 检索与筛选:支持按标题、目录实时搜索,以及按状态(全部/运行中/未读/已归档)筛选。
  • 状态标记:支持手动标记未读/已读,并与官方状态点联动。
  • 活动统计:展示每个会话的轮次数、消息数及工具调用情况。
  • 会话控制:支持继续已归档会话、暂停运行中回合、在新聊天中继续。
  • 全局设置:提供全局上下文压缩阈值设置,对所有 Agent 预设统一生效。
  • 辅助功能:提供对话管理抽屉、清理子代理(孤儿)会话、打开日志文件夹等工具。

使用方法

基础操作

  1. 打开 DSH Web 界面侧边栏底部,进入 设置。
  2. 在左侧导航中选择 会话管理。
  3. 在主列表中可查看未归档会话,底部折叠区包含已归档会话与回收站。
  4. 行内仅保留删除按钮,其他操作(如继续、暂停、重命名、导出)需点击行内的 更多 菜单。

移动与批量操作

  • 移动会话:直接将会话行拖拽到目标工作区标题上即可移动;也可在“更多”菜单中选择“移动到…”进行批量操作或新建工作区。
  • 工作区管理:在工作区标题上悬停,可进行置于顶部、重命名或删除操作。

重命名与导出

  1. 在会话行的“更多”菜单中选择 重命名,输入新名称并确认。
  2. 在“更多”菜单中选择 导出 Markdown 或 导出 JSON,浏览器将自动下载对应文件。

全局设置

进入 设置 → 通用设置,可配置对话上下文压缩阈值(17%–90%)。该设置对所有 Agent 预设生效,保存后即时应用。

注意事项与限制

  • 运行中的会话:当前正在运行或已加载(live)的会话无法被删除或移动。
  • 彻底删除残留:已彻底删除的会话 ID 会保留在浏览器 localStorage 中,这属于无害残留,防止刷新后数据“复活”。
  • 本地运行:插件完全在本地运行,不包含任何遥测、统计上报或网络请求。
  • 兼容性:该插件基于 DSH 0.1.x rc 版本开发,依赖 ctx.sessionPersistence 等核心服务。

结语

dsh-session-manager 通过提供本地化的会话管理功能,帮助开发者更高效地组织对话流。通过回收站机制和导出功能,它在保留数据安全性的同时,降低了 DSH 的使用门槛。安装并启用该插件后,可以显著改善多会话场景下的操作体验。

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

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

小夜