dsh-workspace-archive-all: One-Click Workspace Session Archiving

前言

在 DeepSeek Harness (DSH) 的 Web 界面中,侧边栏的工作区文件夹通常包含多个会话。针对每个会话单独点击归档既繁琐又影响效率。为了解决这个问题,需要一个插件在菜单中添加“归档全部”的功能,实现批量操作。

插件简介

dsh-workspace-archive-all 是一个 DSH Web 插件,由用户 1959377950-dotcom 维护,采用 MIT 许可证。它为侧边栏中的每个工作区文件夹菜单(包括未分组 bucket)添加了一个“归档全部”操作,能够将该文件夹下所有未归档的会话一次性归档。

核心功能

该插件主要提供以下能力:

  1. 批量归档:支持在确认对话框后,将指定文件夹下的所有未归档会话依次归档。
  2. 智能跳过:自动识别并跳过以下类型的会话,避免误操作:
    • 正在运行的会话
    • 当前正在查看的会话
    • 空白的“新建会话”行
    • 子代理会话
    • 已经归档的会话
  3. 进度反馈:采用顺序归档方式,显示归档进度,最后给出结果摘要。
  4. 语言适配:支持英语和中文界面,文案会跟随 UI 语言自动切换。

安装与启用

使用官方 CLI 安装插件:

dsh plugin --profile web add dsh-workspace-archive-all

安装命令会通过 cordis.patch.yml 将插件挂载到配置中,无需手动编辑文件。

工作原理

该插件不依赖运行时拦截或脚本评估顺序,而是通过路由覆盖的方式工作:

  • 路由替换:插件注册了一个精确路由来覆盖官方的 workspace 客户端 bundle 路径:
    GET /plugins/@deepseek-ai/dsh-client-ui-workspace/client.js
      → this plugin's lib/workspace-client.patched.js
  • 无侵入性:卸载插件会移除该路由,原始的 bundle 服务器会再次接管,官方磁盘文件不会被修改。
  • 响应头一致性:插件返回的响应头与原始 bundle 服务器保持一致。

卸载与维护

卸载插件:

dsh plugin --profile web remove dsh-workspace-archive-all

如果需要升级 DSH,需要重新从官方 stock 文件生成补丁:

node tools/build-patch.mjs

该插件的 cordis.patch.yml 包含双重挂载保护机制:如果手动在 dsh.profile.bundles 中添加了条目,插件自身的插入行会失效,防止配置冲突。

生态背景

DSH 的生态理念是“一切皆插件”。该插件属于社区开发者维护的插件,可在 dsh-market 目录中查找,与 DeepSeek 或幻方研究院无官方从属关系。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye