DSH Plugins
返回列表
🖥️

dsh-session-drag-move

客户端 更新于 2026.10.13

在终端中运行以下命令:

dsh plugin install FurryBear2025/dsh-session-drag-move

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install FurryBear2025/dsh-session-drag-move,或从开源仓库 https://github.com/FurryBear2025/dsh-session-drag-move 了解安装与配置说明。

插件介绍

如果你习惯在 DSH 左侧「工作区」里用拖拽整理会话,会发现官方只认同一工作区内的排序:把会话拖到另一个工作区时,界面往往毫无反应。这不是你操作错了,而是客户端只在源组与目标组一致时才处理 onDrop,跨区移动在设计上就是空操作。dsh-session-drag-move 专门接管这段「本来就不会发生」的交互,让你用拖放真正把会话归到别的工作区,而不是改个名字假装分组。

在 DSH 里,会话归属是派生出来的:账本里的 sessionIds 只是顺序,真正决定「属于哪个工作区」的是会话日志 header 里的 cwd。因此跨区移动不是改 JSON 列表,而是安全地重写日志第一帧(Zstandard 帧拼接结构),尾部事件字节原样保留,写完再解压自检,并把旧目录移到备份区以便回滚。完成后还会同步 registry 的 header 缓存与路径索引,走官方的 attach / insert / detach,让正在运行的环境尽量无需重启才感知变化。

侧栏层面,插件按运行时 DOM 契约识别会话行与工作区头(如 data-row-key),兼容 CSS Modules 哈希类名等第三方侧栏;同工作区内拖拽仍交给官方,运行中或当前会话会被拒绝并给出明确反馈。长迁移在后台执行,底部进度条按阶段推进,适合经常在多工作区之间搬运 Agent 会话、又希望操作直观、存储层改动可验证的 DSH 用户。

使用场景

  • 多项目并行时把 Agent 会话从 A 工作区拖到 B 工作区
  • 侧栏里按工作区整理会话,需要真正改归属而非只改显示分组
  • 官方跨区拖拽无响应,希望用拖放完成会话搬迁

适合人员

  • 经常在多个 DSH 工作区之间切换的重度用户
  • 依赖左侧工作区面板拖拽整理会话的客户端用户
  • 使用 dsh-better-workspace 等第三方侧栏、需要稳定 DOM 契约适配的人