dsh-session-drag-move
在终端中运行以下命令:
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 契约适配的人