前言¶
DSH 的归档操作只把会话从常规列表中隐藏,并不等于终止会话。如果要在 DSH Web GUI 中查找、筛选、恢复或清理已归档会话,需要一个更明确的管理入口。
下面介绍 dsh-better-archive。
这是什么¶
dsh-better-archive 是面向 DSH Web GUI 的客户端插件,由 huahai0202 维护,MIT 许可证。
它会在 DSH 侧边栏的设置区域新增「已归档」入口,并提供独立页面处理归档会话的查询、筛选、恢复和删除。
核心功能¶
- 在 DSH 侧边栏的设置区域新增「已归档」入口。
- 在 DSH 设置区提供独立的「已归档」页面。
- 按项目查看归档会话。
- 支持关键词搜索。
- 支持项目筛选。
- 支持按更新时间或名称排序。
- 一键取消归档,恢复后会话立即回到 DSH 正常会话列表。
- 支持删除单个会话。
- 支持删除某个项目下的全部归档会话。
- 支持清空全部归档会话。
- 仍在使用的会话会在重启 DSH 后自动删除。
- 页面文案跟随 DSH 语言设置,中英文切换无需刷新页面。
安装与启用¶
先确认环境:
- Node.js
22.19+ - pnpm
安装命令如下:
dsh plugin --profile web add github:huahai0202/dsh-better-archive
安装完成后重启 dsh web。插件会自动加入该 profile 的 dsh.profile.bundles;若未自动加入,请在 dsh.profile.bundles 数组中添加 dsh-better-archive,然后重启 DSH Web。
更新¶
对通过上述 GitHub 方式安装的插件,可使用以下命令更新:
dsh plugin --profile web update dsh-better-archive
更新完成后重启 dsh web,使正在运行的 Host 和客户端加载新版本。
本地开发¶
以本地检出方式安装:
dsh plugin --profile web add link:<path-to-this-checkout>
本地修改后重启 dsh web,以加载最新的插件代码。
提交前可运行以下检查:
node --check lib/index.js
node --check lib/client.js
npm pack --dry-run
删除行为¶
永久删除只作用于已归档会话,操作前会要求确认。
DSH 的归档操作只会将会话从常规列表中隐藏,并不等于终止会话。删除行为取决于会话当前是否仍存活:
- 冷会话:点击删除后立即永久删除会话目录,并同步移除工作区和归档记录。
- 当前仍存活的会话:点击删除后写入待删除标记,下次 DSH 启动时自动完成物理删除。
在 DSH 重启前点击「取消归档」,会同时撤销待删除标记,不会在下次启动时删除该会话。
批量删除可以同时处理冷会话和仍存活的会话;若中途失败,接口会报告已立即删除和已安排重启后删除的会话,并刷新页面状态。
DSH 的内容寻址附件由 DSH 独立管理,因此不会随会话记录一起删除。
开发接口¶
| 路由 | 方法 | 用途 |
|---|---|---|
/archived/pending |
GET |
查询标记为重启后删除的会话 |
/archived/unarchive |
POST |
取消归档一个会话 |
/archived/delete |
POST |
立即删除或安排重启后删除一个归档会话 |
/archived/delete-project |
POST |
删除或安排删除一个项目的全部归档会话 |
/archived/delete-all |
POST |
删除或安排删除全部归档会话 |
依赖与运行要求¶
engines:node >=22.19peerDependencies:@deepseek-ai/dsh-client-locale:^0.1.1-rc.2 || ^0.1.2-alpha.1@deepseek-ai/dsh-client-runtime:^0.1.1-rc.2 || ^0.1.2-alpha.1@deepseek-ai/dsh-client-ui-slots:^0.1.1-rc.2 || ^0.1.2-alpha.1@deepseek-ai/cordis:^4.0.1
适用场景与注意¶
适合在 DSH Web GUI 中使用、需要集中管理归档会话的开发者。
由于插件会在 DSH 运行时执行,安装前建议检查源码和 MIT 许可证。DSH 的插件生态属于社区扩展,安装来源应自行核对。
结尾¶
dsh-better-archive 把 DSH 中的归档会话从隐藏状态纳入可查找、可恢复、可删除的管理范围。
项目地址:https://github.com/huahai0202/dsh-better-archive.git