wangxiang0605qvq
dsh-session-history
DSH 历史会话插件:侧边栏历史会话列表,支持单条恢复/删除、批量删除全部(含归档会话)
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 14, 2026
- Updated
- Aug 14, 2026
Introduction
dsh-session-history — 历史会话插件 | Session History Plugin
DeepSeek Harness(DSH)历史会话插件:在 Web 侧边栏底部提供「历史会话」入口,集中管理所有历史会话——浏览、恢复、单独删除或一键清理。
功能
- 历史会话列表:跨工作区列出所有历史会话,按最近更新排序,显示会话标题、工作区与相对时间;当前会话有「当前」标记。
- 归档会话分组:被归档的会话单独显示在「已归档会话」分组下,一眼可辨。
- 单条恢复:归档会话右侧的恢复按钮(↻)点击即取消归档并打开该会话,会话重新出现在工作区浏览器与正常历史中。
- 单条删除:每条会话(含归档)右侧的垃圾桶按钮,确认后永久删除该会话(目录 + 内存状态 + 记账全部清除,不会残留或误入"未分组")。
- 删除全部:底部「删除全部历史会话」按钮,一次删除所有非当前、非运行的会话(含归档),确认弹窗显示总数与归档数量。
- 运行保护:正在运行(有活跃回合)的会话不可删除;当前会话的垃圾桶禁用。
安装
1. 复制包文件
将本仓库整体复制到 DSH 的 plugins 目录下(按你的部署方式,也可能在 profile 的 node_modules 下):
# 以本机 plugins 目录为例
Copy-Item -Recurse . "D:\deepseek harness\plugins\dsh-session-history"
2. 注册插件
在 profile 的补丁配置(例如 ~/.dsh/profiles/web/cordis.patch.yml)中插入:
- insert:
- id: session-history
name: "@deepseek-ai/dsh-session-history"
inject: ["connection"]
config: {}
3. 重启并刷新
重启 DSH,然后在浏览器中硬刷新(Ctrl+F5)页面。侧边栏底部会出现时钟图标(历史会话)按钮。
说明
- 删除机制:宿主端按安全路径规则校验会话 id,先拆除空闲 agent、再从内存 store 移除、最后删除磁盘目录;不修改 workspace 记账,因此删除的会话不会变成"未分组"孤儿,也不会残留幽灵记录。
- 运行中会话保护:只有真正在运行回合(agent
status === "running")的会话会被拒绝删除;已结束的会话即使内存中留有空闲 agent 也可正常删除。 - 依赖 DSH 内置包:
@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-connection、@deepseek-ai/dsh-client-ui-primitives等(见package.jsonpeerDependencies)。 - 客户端
lib/client.js是供 DSH web 加载的模块格式,请勿直接用浏览器打开。
License
MIT