dsh-workspace-mover:侧边栏会话跨工作区真迁移

DeepSeek Harness 原生支持侧边栏内同一工作区的会话拖拽排序,但将会话拖拽到另一个工作区时,操作会被静默忽略。本插件补上了跨工作区迁移的能力,通过拖拽或工具调用实现会话档案的移动。

插件由社区成员 PianoPrince 维护,采用 MIT 许可证。它不依赖 TypeScript 或构建步骤,直接提供纯 JavaScript 源码。

核心能力

  • 拖拽迁移:在侧边栏分组视图中,将空闲会话行拖拽到目标工作区标题行,确认后完成移动。
  • 批量迁移 / 分组合并:支持 Ctrl/Shift 多选会话后整批拖拽,或使用组标题「⋯」菜单中的「整组迁移」功能。源分组清空后可删除,两条命令即可完成分组合并。
  • 真迁移·零 token:迁移不复制会话副本,保留原始会话 ID 与完整历史记录,不重新注入上下文,不消耗 token。
  • 工作区搬家向导:当项目文件夹被移动或改名导致路径失效时,可使用此功能原地修复工作区分组,保持 ID、标题、排序和归档位不变,名下会话一并迁移。
  • 会话救援:在设置中提供会话救援面板,可一键找回失联、未记账或挂错分组的会话。
  • 回收站与备份:删除操作会进入回收站,支持还原;迁移过程会自动生成备份,可按会话恢复或清理。
  • 数据保护:提供回收站与备份的份数及占用空间预览,支持「清理」操作前的预览。
  • 移动历史与撤回:记录最近 100 次跨工作区移动,支持批量撤回。
  • 迁移任务中心:持久化记录批量迁移任务的状态(完成/失败),失败项支持一键重试。
  • 空分组清理:只列出零成员的工作区,支持打开文件夹。
  • Agent 工具:提供 mover_list_sessions、mover_move_session、mover_repair_sessions 三个工具,可在对话中通过自然语言触发迁移与修复。

安装

在 Web profile 下执行以下命令:

dsh plugin --profile web add "github:PianoPrince/dsh-workspace-mover"

安装后需要重启 dsh web。

系统要求

  • Node.js 版本:>= 22
  • DeepSeek Harness 版本:>= 0.1.5-rc.1
  • 桌面 profile 与 web profile 相互独立,需各自安装一次。

使用方法

拖拽迁移

  1. 在侧边栏的分组视图中,按住任意空闲会话行;
  2. 将其拖拽到目标工作区的标题行,此时会出现虚线高亮提示;
  3. 松手确认,目标工作区路径会显示在弹窗中,点击「移动」即可完成。

批量迁移

  1. 使用 Ctrl/Shift + 点击 选中多个会话(当前打开的会话会自动包含在内),或使用 Esc 清空选择;
  2. 拖拽任意选中的会话行到目标工作区标题行,确认后全部移动;
  3. 或使用目标组标题的「⋯」菜单,选择「整组迁移…」,迁入后若源分组为空,可确认删除。

对话中迁移

在对话中直接输入指令,例如「把会话 X 挪到 Y 组」,Agent 工具会解析会话 ID 并执行迁移。此操作会触发与面板完全相同的备份回滚管线,且在执行前需经宿主审批确认。

限制与兼容性

  • 视图限制:本插件在「扁平列表」视图下不激活,必须在分组视图下操作。
  • 运行中会话:尝试移动正在运行的会话会被拒绝,操作失败会自动回滚。
  • 重画侧边栏插件:与重画侧边栏的插件基本兼容,但若对方替换了官方侧边栏结构,本插件可能无法识别会话行,表现为功能不触发,但不会损坏数据。
  • 同类插件:建议只启用一个会话移动器插件,避免冲突。

目录与源码

插件项目地址:https://github.com/PianoPrince/dsh-workspace-mover

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

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

小夜