前言¶
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 预设统一生效。
- 辅助功能:提供对话管理抽屉、清理子代理(孤儿)会话、打开日志文件夹等工具。
使用方法¶
基础操作¶
- 打开 DSH Web 界面侧边栏底部,进入 设置。
- 在左侧导航中选择 会话管理。
- 在主列表中可查看未归档会话,底部折叠区包含已归档会话与回收站。
- 行内仅保留删除按钮,其他操作(如继续、暂停、重命名、导出)需点击行内的 更多 菜单。
移动与批量操作¶
- 移动会话:直接将会话行拖拽到目标工作区标题上即可移动;也可在“更多”菜单中选择“移动到…”进行批量操作或新建工作区。
- 工作区管理:在工作区标题上悬停,可进行置于顶部、重命名或删除操作。
重命名与导出¶
- 在会话行的“更多”菜单中选择 重命名,输入新名称并确认。
- 在“更多”菜单中选择 导出 Markdown 或 导出 JSON,浏览器将自动下载对应文件。
全局设置¶
进入 设置 → 通用设置,可配置对话上下文压缩阈值(17%–90%)。该设置对所有 Agent 预设生效,保存后即时应用。
注意事项与限制¶
- 运行中的会话:当前正在运行或已加载(live)的会话无法被删除或移动。
- 彻底删除残留:已彻底删除的会话 ID 会保留在浏览器
localStorage中,这属于无害残留,防止刷新后数据“复活”。 - 本地运行:插件完全在本地运行,不包含任何遥测、统计上报或网络请求。
- 兼容性:该插件基于 DSH
0.1.xrc 版本开发,依赖ctx.sessionPersistence等核心服务。
结语¶
dsh-session-manager 通过提供本地化的会话管理功能,帮助开发者更高效地组织对话流。通过回收站机制和导出功能,它在保留数据安全性的同时,降低了 DSH 的使用门槛。安装并启用该插件后,可以显著改善多会话场景下的操作体验。