dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
DSH 归档会话管理插件:查看、恢复、永久删除归档会话。 / Manage archived DSH sessions: list, restore, and permanently delete from Settings.
ui-archive-manager 是 DSH Web 客户端的“归档会话管理”插件。它在“设置”页面中新增“归档管理”页面,以“工作区 → 会话”的层级结构统一展示所有已归档会话,并支持单个或批量恢复、永久删除、搜索筛选等操作。
如果你已安装 dsh CLI,可以按项目官方教程使用 dsh plugin 命令安装:
# 从本地插件目录安装
dsh plugin --profile web add C:/Users/<user>/.dsh/plugins/ui-archive-manager
# 或从 GitHub 仓库安装
dsh plugin --profile web add github:xiyue718/dsh-ui-archive-manager
安装后启动:
dsh --profile web
查看组合配置:
dsh --profile web --dump-config
详细命令说明见项目文档:docs/user/develop/basic/publish.md。
构建产物:host 为自包含的 lib/index.js,client 为 lib/client.js,打包文件为 dsh-external-ui-archive-manager-0.1.0.tgz。
安装前先构建一次:DSH_CHECKOUT=<dsh 源码 checkout> bash scripts/build.sh。官方渠道把插件装进 profile 后,宿主只从插件自身目录解析运行期依赖,所以 host 半由 tsdown 打包成自包含模块(内联 schemastery、zod 与 @deepseek-ai/dsh-* helper);未打包的 lib/index.js 会让该行以 failed to import 停用。
GET /@dsh-external/ui-archive-manager/api/archived
POST /@dsh-external/ui-archive-manager/api/restore
Content-Type: application/json
{ "sessionIds": ["session-xxx"] }
POST /@dsh-external/ui-archive-manager/api/delete
Content-Type: application/json
{ "sessionIds": ["session-xxx"] }
插件由 host 和 client 两部分组成。
Host 侧通过 webServer.register 暴露归档管理 API。读取归档列表时,它从 workspaceRegistry.archivedSessionIds 获取归档会话 ID,再通过 sessionQuery / sessionPersistence 读取会话标题、创建时间、最后活动时间和活跃状态。恢复操作通过 workspaceRegistry.setState 从 archivedSessionIds 中移除目标 ID;永久删除则依次完成:取消归档、从所属工作区解绑、从内存 live 会话/agent 注册表移除、删除对应持久化会话目录。
当前 DSH 主程序只保存归档会话 ID 集合,没有单独保存每个会话的归档时间,因此插件显示的是“最后活动/归档参考时间”(日志最后一条事件时间),并用创建时间辅助排序和搜索。
Client 侧在设置页中注册“归档管理”页面,通过 Host API 获取数据并渲染层级列表,使用项目内置 Modal 和 Toast 完成确认与反馈。