中文EN

dsh-workspace-mover

session已测通过npmMIT

拖拽跨工作区真迁移会话,找回失联与未记账会话,文件夹改名后一键原地重定向工作区;ID 与历史原样保留,步步备份回滚。

下载量 / Downloads
2,872
依赖体积 / node_modules
1.01 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-workspace-mover

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-workspace-mover

当前版本:2.4.3。已通过 DSH Desktop 0.2.1-rc.5 删除、还原、即时显示、继续发送及语言切换验收,详见[2.4.3 验收与 PR 审查记录](docs/compatibility/issue-11-pr-12-review-2026-11-02.md)。

支持即时迁移的会话:空闲时释放写入句柄、实际搬移并重新加载;运行中可取消,或明确选择「停止任务并迁移」。迁移保留标题和历史。安装或热更新后请彻底重启 DSH 一次,以接入会话生命周期;无法安全释放的会话会明确阻止拖动迁移。旧队列仍保留恢复与取消入口。后端验证与实际验收结果见 [即时迁移记录](docs/compatibility/immediate-migration-2026-10-26.md)。

[!IMPORTANT]
非官方项目,由社区成员独立开发和维护。

<!-- Hero -->

<div align="center">

<b style="font-size: 1.15em;">在侧边栏把会话拖到另一个工作区——真迁移原始档案,而不是复制</b><br /><br />

<p style="font-size: 0; line-height: 1;">

<a href="https://github.com/PianoPrince/dsh-workspace-mover/actions/workflows/test.yml"><img alt="CI" src="https://github.com/PianoPrince/dsh-workspace-mover/actions/workflows/test.yml/badge.svg" style="height:20px; margin:0 2px;" /></a>

<a href="https://www.npmjs.com/package/dsh-workspace-mover"><img alt="npm version" src="https://img.shields.io/npm/v/dsh-workspace-mover" style="height:20px; margin:0 2px;" /></a>

<a href="https://www.npmjs.com/package/dsh-workspace-mover"><img alt="npm 最近 30 天下载量" src="https://img.shields.io/npm/dm/dsh-workspace-mover" style="height:20px; margin:0 2px;" /></a>

<img alt="plugin version" src="https://img.shields.io/badge/dsh--plugin-2.4.3-4d6bfe" style="height:20px; margin:0 2px;" />

<img alt="DSH tested 0.2.1-rc.5" src="https://img.shields.io/badge/DSH_tested-0.2.1--rc.5-4c8dff" style="height:20px; margin:0 2px;" />

<img alt="Node" src="https://img.shields.io/badge/Node-%E2%89%A522-339933" style="height:20px; margin:0 2px;" />

</p>

<p style="font-size: 0; line-height: 1;">

<a href="https://github.com/PianoPrince/dsh-workspace-mover/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/PianoPrince/dsh-workspace-mover" style="height:20px; margin:0 2px;" /></a>

<a href="./LICENSE"><img alt="License: MIT" src="https://img.shields.io/badge/License-MIT-yellow.svg" style="height:20px; margin:0 2px;" /></a>

<a href="https://awesome-dsh-plugin.com"><img alt="Awesome DSH Plugin" src="https://awesome-dsh-plugin.com/badge.svg" style="height:20px; margin:0 2px;" /></a>

<a href="https://www.dsh.so/artifact/dsh-workspace-mover/"><img alt="dsh.so risk: low" src="https://www.dsh.so/badge/dsh-workspace-mover.svg" style="height:20px; margin:0 2px;" /></a>

<img alt="真迁移" src="https://img.shields.io/badge/-真迁移-4d6bfe" style="height:20px; margin:0 2px;" />

<img alt="零 token 消耗" src="https://img.shields.io/badge/-零%20token%20消耗-4d6bfe" style="height:20px; margin:0 2px;" />

<img alt="备份回滚" src="https://img.shields.io/badge/-备份回滚-4d6bfe" style="height:20px; margin:0 2px;" />

</p>

<p style="font-size: 0; line-height: 1;">

<img alt="GitHub clones observed(自 2026-08-25 累计,含 unique)" src="https://img.shields.io/endpoint?url=https%3A%2F%2Fgist.githubusercontent.com%2FPianoPrince%2Fc14345658550a4a308570acfbaf9d170%2Fraw%2Fwsm-clones-total.json" style="height:20px; margin:0 2px;" />

<!-- release-downloads-badge:start --> <!-- release-downloads-badge:end -->

</p>

</div>

<div align="center">

🌏 中文 · <a href="./README_EN.md">English</a>

</div>

📑 目录

  • [✨ 功能](#-功能)
  • [🚀 安装](#-安装)
  • [🖼️ 特性巡礼](#️-特性巡礼)
  • [⌨️ 使用](#️-使用)
  • [🔌 如何接入 DSH](#-如何接入-dsh)
  • [🤝 与其他插件共存](#-与其他插件共存)
  • [🧩 兼容性与卸载](#-兼容性与卸载)
  • [🔐 安全台账](#-安全台账safety-ledger)
  • [⚠️ 已知限制](#️-已知限制)(含 [可调策略](#-可调策略环境变量))
  • [🆕 最近版本](#-最近版本)

✨ 功能

DeepSeek Harness 侧边栏可以拖拽排序同一工作区内的会话,但拖到另一个工作区上会被静默忽略。本插件补上跨工作区迁移:

  • 🖱️ 拖拽迁移:把空闲会话行拖到目标工作区标题行,确认后完成移动
  • 📦 批量迁移 / 分组合并:Ctrl/Shift 多选后整批拖移,或用组标题「⋯」菜单「整组迁移…」;源分组清空后可一键删除,两条命令完成合并(单批至多 50 个,失败互不牵连)
  • 🚚 真迁移 · 零 token:会话 ID 与完整历史原样保留,不复制第二条会话、不重新注入上下文
  • 🏠 工作区搬家向导:项目文件夹被移动/改名后,一键把失效分组原地重定向到新位置;id、标题、排序、归档位保持,名下会话连同旧路径散件一起迁移
  • 🛟 会话救援(设置 → 会话救援):一键找回「失联」「未记账」「挂错分组」的会话;已归档会话可恢复;支持一键修复与筛选
  • 🗑️ 回收站与备份:删除先进回收站,可还原到原位置或任意分组;迁移自动生成恢复快照,可按会话恢复或清理
  • 🛡️ 数据保护:相同会话内容只保留一份物理快照,往返迁移不会无限增长;每次迁移仍写入历史,备份列表显示快照份数与占用
  • ⏪ 移动历史与撤回:记录最近 100 次跨工作区移动,批量聚合为一条,整批可一键撤回
  • 🧾 迁移任务中心:批量迁移逐项持久化记录(完成/失败、最后错误与尝试时间),失败项一键重试——按会话当前位置重新迁移,不用陈旧路径
  • ⏳ 即时迁移:接入生命周期的空闲会话释放句柄后直接搬移并重新加载;运行中需明确选择停止任务。旧队列仍可查询、取消和重试
  • 🔎 迁移预览:确认前展示来源、目标路径、冲突、运行状态、适配器和本次预计新增备份大小;已有内容快照会明确显示复用
  • 📂 空分组清理 / 打开文件夹:只列出真正零成员的工作区;组菜单可直达系统文件管理器
  • 🤖 Agent 工具:mover_list_sessions / mover_move_session / mover_repair_sessions / mover_doctor / mover_create_workspace / mover_rename_workspace 六个模型可调用工具——在对话里说「把这个会话挪到某组」即可触发与面板完全相同的备份回滚管线,也能新建、改名工作区;迁移、修复与改名执行前经宿主审批弹窗确认(改名在完全访问模式下免确认),未装 dsh-tools 的宿主自动停用

🚀 安装

dsh plugin --profile web add "github:PianoPrince/dsh-workspace-mover"
# 重启 dsh web 一次
零构建授权:纯 JavaScript 源码即产物(无 TypeScript、无构建步骤)。从 GitHub 安装时不需要 allowBuilds 构建授权。

<details>

<summary><b>npm 渠道</b></summary>

dsh plugin --profile web add dsh-workspace-mover

</details>

<details>

<summary><b>本地开发安装</b></summary>

dsh plugin --profile web add "link:C:/path/to/dsh-workspace-mover"

</details>

<details>

<summary><b>桌面版安装(DSH v0.2 桌面客户端)</b></summary>

1. 安装并打开官方桌面版,左侧进入「插件」页;

2. 点右上角「添加插件」,搜索 dsh-workspace-mover 安装并启用;

3. 完成——桌面 profile 与 web profile 相互独立,需要各自安装一次。

桌面 profile 由 Electron 应用专属管理(独立 CLI 不接受 --profile desktop),请以应用内插件页为准。

</details>

<details>

<summary><b>常见问题</b></summary>

现象 · 原因与解决

拖了但没反应 · 请在分组视图把会话行拖到工作区标题行;「扁平列表」视图没有标题行,本插件在该视图不激活

提示会话正在运行中 · 等该会话回合结束再拖即可

移动失败的 toast · 操作前有自动备份、失败会回滚;按提示处理后重试。详细原因见宿主日志中的 MOVE FAILED

移动成功但侧边栏没归位 · 刷新页面即可

有些会话从侧边栏不见了 · 打开 设置 → 会话救援 自动扫描并找回

升级 DSH 0.2 后,旧会话切换模型报 Unknown agent preset · 0.2 不再读取 0.1.x 旧格式的自定义预设目录,需迁移为声明行——与插件无关,完整步骤见 [docs/dsh-0.2-preset-migration.md](docs/dsh-0.2-preset-migration.md)

</details>

🖼️ 特性巡礼

以下均为真实界面实拍(点击可放大)。

拖拽跨工作区迁移

把空闲会话行拖到目标工作区标题行,出现虚线高亮 · 确认框亮出目标工作区路径,一键移动

![把一个会话拖到另一个工作区](docs/media/drag_session_to_another_workspace.png) · ![跨工作区移动确认框](docs/media/confirm_popup.png)

设置 → 会话救援:一键找回失联与未记账的会话 ·

![会话救援设置面板](

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:9,最后更新 2026-11-02

链接

GitHub · Homepage · npm

同类插件