DeepSeek Harness plugin

dsh-session-manager-superpai

DSH 批量管理会话(纯增量):会话头部可删除,侧栏底部可批量多选删除(进系统回收站),不替换官方界面

Jump to install

Source facts

Repository
SuperPaiGu/dsh-session-manager
Latest update
Aug 21, 2026
Category
Plugin Markets & Managers
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/SuperPaiGu/dsh-session-manager
Plugin: dsh-session-manager-superpai
Author: SuperPaiGu

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer2 files
README.mdSource · read only

dsh-session-manager

给 DeepSeek Harness(DSH)的 Web GUI 加一个批量管理会话工具,纯增量、完全不动官方界面

  • 侧栏底部出现「批量管理会话」按钮,点开一个批量面板:列出所有会话、勾选、全选、一键删除选中;每行也有独立的「删除」按钮(单删)
  • 删除是物理删除并送进系统回收站Microsoft.VisualBasic + SendToRecycleBin),不是不可恢复的 rm;正在运行的会话会被置灰、不可删除

不替换官方侧栏:DSH 自带的搜索、视图切换、分组/未分组、排序、拖拽、官方三点菜单全部原样保留,插件只通过 DSH 官方的加性插槽(additive slots)额外加了入口。卸载后官方界面恢复。

> ## ⚠️【重要】当前已知问题(使用前必读) > > 删除后批量管理面板立即消失,但官方侧栏可能仍然显示已删除的会话(尤其是打开过的会话),需要重启 DSH Web 才能清空侧栏。 > > 这是 DSH 内核的限制(没有公开的会话释放/删除 API,插件无法强制移除内存中的会话),不是本插件的 bug;删除本身是完整、安全的(日志已进回收站)。详见文末「⚠️ 当前已知问题(重要,务必阅读)」。

功能

  • 批量管理面板:侧栏底部「批量管理会话」按钮 → 面板列出全部会话(含未分组),支持:

- 每个会话一行 + 勾选框 - 每行独立「删除」按钮(单删,确认后进回收站) - 全选 / 清空 - 已选计数 - 「删除选中」(进回收站) - 运行中的会话置灰,不可勾选、不可删除(提示"进行中(不可删除)") - 删除后立即消失:面板里即时移除(关闭再打开也不复现);官方侧栏的隐藏受 DSH 内核限制,可能残留到重启(见顶部警告与文末「当前已知问题」)

  • 删除通过 DSH Host 的 sessionPersistence.locate 精确定位会话目录,再移入系统回收站;路径带护栏,不会误删 Work 区外的东西
  • 自动生效:装好后每次打开 DSH Web 就有,无需手动激活或审批

> v0.2.x 起改为纯增量,不再遮蔽官方侧栏。 > v0.2.4:删除统一收进批量面板(每行单删 + 多选批量),移除了会话顶栏垃圾桶——原单删只能作用于当前打开的(几乎总是运行中的)会话,没有实用价值。 > v0.2.8:删除成功的会话立即从批量面板消失(本地过滤 + 列表刷新),关闭面板再打开也不会复现。 > v0.2.9:删除成功后 Host 把会话 id 加入官方归档集合(workspaceRegistry.archiveSession),尝试让官方侧栏立即隐藏;已在 DSH 0.1.0-rc.7 实测,仍未生效,内存常驻会话残留到重启(见「当前已知问题」)。

怎么安装(手动安装)

你需要先有

  • 电脑上已经能用的 DSH(终端里 dsh 命令能跑)

两步装好

第 1 步:到本仓库的 Release 页面下载 dsh-session-manager-0.2.10.tgz,然后在终端执行:

dsh plugin --profile web add ./dsh-session-manager-0.2.10.tgz

第 2 步:重启 DSH Web 服务(先停止当前的 dsh web,再重新启动)。

打开侧栏即可使用。安装后,在 设置 → 插件 → 插件列表 中会显示为 session-manager

从 GitHub 直接安装(不下载文件)

dsh plugin --profile web add github:SuperPaiGu/dsh-session-manager

装完同样需要重启 DSH Web 服务。

卸载

dsh plugin --profile web remove dsh-session-manager

卸载并重启后,官方界面一切照旧(本就不受影响)。

注意事项

  • 删除后立即消失:批量面板里立刻移除(关闭再打开也不复现)。官方侧栏的隐藏受 DSH 内核限制,实测 rc.7 下内存常驻会话仍残留,需重启清空(见顶部警告与「当前已知问题」)。
  • 删除是回收站删除:会话目录被移进系统回收站,可以从回收站恢复。它不是立即永久删除。
  • 正在运行的会话不可删:运行中的会话置灰,勾选框与删除按钮均不可用(Host 端也会保护跳过)。
  • 未持久化的会话:新建但还没有日志落盘的会话无法删除(Host 报 missing),这类空会话重启后会自然消失。
  • 纯增量:本插件不遮蔽、不替换任何官方区域,只通过 sidebar.footer.action 官方加性插槽叠加功能(批量面板作为按钮组件的子组件渲染);侧栏隐藏复用官方 workspaceRegistry.archiveSession 归档集合,不新增任何界面。

⚠️ 当前已知问题(重要,务必阅读)

现象:删除会话后,批量管理面板里立即消失,但官方侧栏里仍然显示该会话(点开仍能看到标题,但日志文件其实已经进了回收站)。重启 DSH Web 后侧栏恢复干净。此现象在 DSH 0.1.0-rc.7 上已实测复现。

为什么会这样:DSH 官方侧栏的会话列表由内存中的会话(已打开过、agent 常驻) + 磁盘上的冷会话两部分组成:

  • 磁盘冷会话:删除后文件即消失,列表刷新(ctx.sessions.refresh())后立即从侧栏消失。✅
  • 内存常驻会话:DSH 内核没有任何公开 API 允许插件强制释放(dispose)一个内存会话——AgentHandle.dispose() 是创建者专属能力(Web 后端恢复会话后即丢弃该能力),也没有任何"删除/关闭会话"的官方 RPC。因此这类会话会一直留在侧栏列表里,直到 DSH 进程重启后按磁盘重新扫描(文件已删,自然不再出现)。

插件已做的努力(v0.2.9):删除成功后调用官方 workspaceRegistry.archiveSession(id),把 id 加入注册表归档集合——这是官方分组视图过滤行的唯一机制。理论上侧栏应立即隐藏该行且刷新后不回来;实测(含 DSH 0.1.0-rc.7)归档隐藏未能生效——归档调用成功与否无法从外部确认,但侧栏残留依旧存在,原因可能是归档帧未推送或客户端分组视图未随之重算。

当前结论:删除在数据层面是完整、安全的(文件已进回收站,重启后侧栏必然干净);残留只是界面列表的显示问题,不影响数据正确性。在 DSH 提供公开的会话释放 API 之前,这是无法根治的 DSH 内核限制

后续计划:等 DSH 内核提供公开的会话释放/删除 API(或本机 DSH 升级后归档帧行为改变),即可让官方侧栏也即时移除该行,无需改动本插件界面。

怎么安装(Agent 安装)

> 由 AI Agent 在用户机器上执行的确定性指令,按顺序执行,每步有验收条件。

0. 环境检测

dsh --version    # 命令不存在则提示用户先安装 DSH

1. 安装插件(首选 GitHub,无需下载文件)

dsh plugin --profile web add github:SuperPaiGu/dsh-session-manager

验收:退出码 0,输出含 + dsh-session-manager

(如需固定版本:从 Release 下载 dsh-session-manager-0.2.10.tgz,用 dsh plugin --profile web add ./dsh-session-manager-0.2.10.tgz。)

2. 重启 DSH Web 服务

停止当前 dsh web,再以用户原有方式重新启动。

验收:启动日志无报错;设置 → 插件 → 插件列表session-manager 行为 active。

3. 验收清单

  • [ ] 第 1 步退出码 0
  • [ ] dsh --profile web --dump-configsession-manager
  • [ ] 重启后侧栏底部出现「批量管理会话」按钮

目录结构

dsh-session-manager/   组合包根
├── package.json        dsh.bundle + dsh.client 声明
├── cordis.patch.yml    插件层(id session-manager → dsh-session-manager)
├── index.js            Host 插件:/session-manager/delete 端点 + 回收站删除
├── client.js           Web 客户端 bundle:纯增量(侧栏底部批量按钮 + 批量面板)
└── README.md

License

MIT