DeepSeek Harness Hub
← 返回列表

6HOLLIS/dsh-session-manager

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

为 DeepSeek Harness Web UI 增加永久删除会话,以及按原工作区分组的已归档会话管理。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/25 · 已提供中文文档

DeepSeek Harness Web UI 的永久会话删除与文件夹感知归档管理。

综合分
28.4
GitHub 分
28.4
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add 6HOLLIS/dsh-session-manager
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-invariants@deepseek-ai/dsh-typert-protocol
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

DSH Session Manager

English

为 DeepSeek Harness Web UI 增加永久删除会话,以及按原工作区分组的已归档会话管理。

[!WARNING]
删除不可恢复。本项目是非官方社区扩展。0.1.1 版支持 DeepSeek Harness 0.1.0-rc.6 和 0.1.1-rc.2。

功能

- 在每条会话的 ⋮ 菜单中增加红色“删除会话”,删除前明确确认不可恢复。
- 在侧边栏底部增加“已归档”面板。
- 已归档会话按照归档前所属工作区分组;“未分组”只作为已归档面板内部的兜底分组。
- 恢复后自动回到原工作区分组。
- 删除前先停止并排空运行中的 Agent/Session,避免已删除对话又出现在主侧栏新生成的“未分组”工作区。
- 同时清理持久化目录、投影缓存、工作区挂接和归档集合。

为什么现在是三个补丁?

最初开发时确实只有两个:

1. P1——取消归档接口:为 WorkspaceRegistry 增加 unarchiveSession(id)。
2. P2——会话行菜单插槽:允许插件向会话 ⋮ 菜单贡献操作项。

后来发现删除逻辑虽然移除了文件和缓存,却没有关闭 DSH 内存中仍然存活的会话。侧栏刷新时会再次列出它,并把它放进主侧栏“未分组”;生命周期结束时还可能把它重新写回缓存。因此新增:

3. P3——按 ID 销毁 Agent:保留 Agent 生命周期句柄并增加 AgentRegistry.dispose(id),让删除操作先彻底关闭内存会话。

修复后的固定顺序:

停止并排空 live Agent/Session
-> 删除会话持久化目录
-> 删除投影缓存
-> 移除工作区挂接
-> 移出归档集合

兼容性

| 项目 | 已验证版本 |
| --- | --- |
| DeepSeek Harness | 0.1.0-rc.6、0.1.1-rc.2 |
| 一键安装 | Windows PowerShell / PowerShell 7 |
| 其他平台 | 仅提供手动安装思路,尚未实机验证 |

安装器会自动识别已安装的 DSH 版本,选择对应的补丁包和严格备份清单;版本或补丁上下文不匹配时,会在修改任何文件之前停止。

Windows 安装

先关闭 DSH,然后运行:

git clone https://github.com/6HOLLIS/dsh-session-manager.git
cd dsh-session-manager
pwsh -File .\scripts\install.ps1

如果安装器无法从 npm 的 npx 缓存发现 DSH,可以显式传入 node_modules:

pwsh -File .\scripts\install.ps1 -DshPackageRoot 'C:\path\to\node_modules'

安装完成后重启 DSH。安装器会:

- 校验所有受影响包的版本;
- 在修改文件前 dry-run 三份补丁;
- 把原文件备份到 ~/.dsh/backups/dsh-session-manager/;
- 安装 Web profile 插件并建立依赖链接;
- 在安装清单中记录修改前后的 SHA-256。

卸载

先关闭 DSH,然后运行:

pwsh -File .\scripts\uninstall.ps1

如果某个 vendor 文件在安装后又被其他程序修改,卸载器会拒绝覆盖。确认修改后才应使用 -Force。

常见问题

- 发现多个兼容的 DSH:按照报错列出的路径,重新运行并显式传入 -DshPackageRoot。安装器不会在多个 npx 缓存之间猜测。
- 版本或补丁校验失败:当前版本只支持 DSH 0.1.0-rc.6 和 0.1.1-rc.2,不要把任一补丁包强行套到其他版本。
- 卸载提示备份损坏或缺失:不要使用 -Force;它也不能绕过备份完整性校验。请保留 ~/.dsh/backups/dsh-session-manager/ 并从可信副本恢复。
- 卸载提示安装后的文件被改动:先检查本地修改。只有所有备份都通过校验后,-Force 才允许覆盖被改动的安装文件。
- 侧边栏仍是旧界面:安装或卸载后完全退出并重启 DSH。

手动安装

1. 先确认已安装的 DSH 版本,再从 DSH 的 node_modules 根目录应用对应 patches/dsh-/ 中的三份补丁。
2. 把 plugin/ 复制到 ~/.dsh/profiles/web/dsh-session-manage/。
3. 在 Web profile dependencies 中加入 "dsh-session-manage": "file:./dsh-session-manage"。
4. 在 dsh.profile.bundles 中加入 "dsh-session-manage"。
5. 链接到 ~/.dsh/profiles/node_modules/dsh-session-manage。
6. 重启 DSH。

测试

npm ci
npm test
npm run check
pwsh -File .\tests\install-roundtrip.test.ps1

安装往返测试会把两个受支持 DSH 版本的干净 npm 包下载到临时目录,分别执行安装和卸载,再确认所有原文件哈希完全恢复。

目录结构

plugin/                         DSH 宿主端和浏览器端插件
patches/dsh-0.1.0-rc.6/        三份最小、带版本的核心补丁
patches/dsh-0.1.1-rc.2/        适配当前 DSH 版本的三份补丁
scripts/install.ps1             带校验和备份的 Windows 安装器
scripts/uninstall.ps1           基于哈希的安全恢复
scripts/verify-patches.ps1      干净包补丁验证
tests/                          删除和安装回归测试

DSH 升级说明

DSH 升级会覆盖 vendor 补丁。条件允许时,请先卸载本项目再升级 DSH;升级到受支持版本后,拉取本仓库最新版并重新运行安装器,它会自动选择对应补丁包。绝对不要把版本号不一致的补丁目录强行应用到当前 DSH。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(6HOLLIS)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群