1959377950-dotcom/dsh-workspace-archive-all ↗★ 0

dsh-workspace-archive-all

一键归档侧边栏工作区文件夹下的所有会话 适合需要快速整理侧边栏、批量归档历史会话的用户,可自动跳过运行中或空白的会话。

包名
dsh-workspace-archive-all
兼容性
待验证
版本
0.1.1
许可证
MIT
最近更新
2026年9月23日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:1959377950-dotcom/dsh-workspace-archive-all

dsh-workspace-archive-all

中文说明 →

A DeepSeek Harness web plugin that adds an Archive All action to every workspace folder menu in the sidebar (the Ungrouped bucket included) — archiving all unarchived sessions under that folder in one go.

  • Confirm dialog → sequential archive with progress → result summary
  • Automatically skipped: running sessions, the session you are currently viewing, blank provisional "New Session" rows, subagent sessions, and anything already archived
  • English and Chinese copy, following the UI language

How it works

The sidebar comes from the official @deepseek-ai/dsh-client-ui-workspace package, whose client bundle is served by the client module system from the prefix route /plugins//client.js. This plugin's host half registers an exact route for that path (the webserver matches exact routes before prefixes), serving a patched copy of the bundle:

GET /plugins/@deepseek-ai/dsh-client-ui-workspace/client.js
  → this plugin's lib/workspace-client.patched.js
  • No runtime interception, no dependence on script evaluation order
  • Uninstalling the plugin removes the route and the stock bundle is served again — the official file on disk is never modified
  • Response headers mirror the stock bundle server (text/javascript; charset=utf-8, no-cache)

Install

One command with the official CLI (installs the package into the profile and mounts it via the bundled cordis.patch.yml — no manual file edits):

dsh plugin --profile web add dsh-workspace-archive-all          # from npm (once published)
dsh plugin --profile web add               # e.g. the GitHub release .tgz

Or as a local bundle without the CLI:

  1. Put this folder anywhere (e.g. ~/dsh-workspace-archive-all)
  2. Link it into the profile: ln -s ~/dsh-workspace-archive-all ~/.dsh/profiles/web/node_modules/dsh-workspace-archive-all
  3. Append "dsh-workspace-archive-all" to dsh.profile.bundles in ~/.dsh/profiles/web/package.json
  4. Restart dsh web (the bundle list is read at boot)

The bundle's cordis.patch.yml carries a double-mount guard: a manual dsh.profile.bundles entry makes the package's own insert row stand down, so the two channels do not collide — but pick one of them.

Once listed on the dshmarket marketplace, it can also be installed with one click from the settings UI.

Uninstall

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

Or, for a manual local-bundle install: remove the entry from dsh.profile.bundles and restart; the dependencies entry and the symlink can be removed too. Nothing to clean up inside DSH itself.

Upgrading DSH

Re-derive the patched bundle from the new stock file:

node tools/build-patch.mjs

The stock client path is auto-detected (nvm / Homebrew / /usr/local / PNPM_HOME / PATH); override with DSH_STOCK_CLIENT or node tools/build-patch.mjs [out-file]. The 11 find/replace patches each must match exactly once — a clear error means the official bundle drifted and the pairs need re-deriving.

Files

FilePurpose
lib/index.jsHost half: registers the exact override route
lib/workspace-client.patched.jsThe patched official workspace client (build artifact)
cordis.patch.ymlBundle patch: mounts the plugin (with double-mount guard)
tools/build-patch.mjsRebuilds the patched bundle from the stock one

License

MIT