dsh-session-mover
by baisama-cloud
Drag sessions to another workspace in the DeepSeek Harness (DSH) web GUI — 把侧边栏会话直接拖到其他工作区(完整历史克隆+原会话归档)
安装
dsh plugin --profile web add github:baisama-cloud/dsh-session-moverGitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试
安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗
安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。
README
在 DeepSeek Harness(DSH)Web GUI 中直接把会话拖到其他工作区的插件。
按住侧边栏(会话列表)里的任意会话行,拖到另一个工作区的标题行上松手,会话即移动到该工作区——同标题、同完整历史,原会话自动归档隐藏。
功能
- 直接在会话列表里拖动,无需任何面板或按钮;
- 支持工作区组内会话、跨工作区、以及「未分组」会话拖入工作区;
- 移动后底部弹出结果提示;若拖的是当前打开的会话,会自动跳转到新副本;
- 同工作区内拖动仍走官方重排逻辑,互不干扰;
- 失败有可见的红色提示,不会无声无息。
安装
与 DSH 插件包相同的分发方式:
# 克隆到本地后,用 dsh 的 bundle patch 机制挂载
npm pack # 生成 dsh-session-mover-0.1.0.tgz
或在 DSH 配置的插件列表中加入该包,cordis.patch.yml 已声明:
- insert:
- id: dsh-session-mover
name: 'dsh-session-mover'
lib/client.js 是已打包的浏览器 bundle(window.__ModuleLoader__.load 形态,与 dsh-omni-bridge 相同);宿主 lib/index.js 在 webServer 上注册 POST /session-mover/move-session 路由供客户端调用。若作为动态插件运行,宿主同样提供 harness.handle('move-session') 配对(两种方式都已内置,逻辑共用)。
使用
- 在侧边栏会话列表里按住要移动的会话行;
- 拖到另一个工作区的标题行(带文件夹图标的行)上松手;
- 原会话从旧工作区消失(归档),目标工作区出现同历史的新会话,底部提示移动结果。
会话所属工作区由会话的
cwd(工作目录)决定。受平台约束(会话日志默认 zstd 压缩、会话头不可变、存储层无迁移 API),无法保留原会话 ID 原地搬家,因此采用「目标工作区克隆 + 原会话归档」语义。
工作原理
- 官方侧边栏的会话行本身可拖拽,拖起时会把会话 ID 写入
dataTransfer(setData("text/plain", id)),但官方只允许同工作区内重排; - 插件在
document层监听drop,用语义属性(role="treeitem"+aria-expanded,而非样式类)定位光标下的工作区标题行,按其在树中的顺序映射到对应工作区; - 命中后调用宿主
move-session:sessionQuery.readSession读取源会话完整日志;sessions.create在目标工作区创建携带完整历史的新会话(保持创建时间与 agent 预设,cwd= 目标工作区路径);sessions.flush持久化;workspace.attachSession归属到目标工作区;workspaceRegistry.archiveSession归档源会话。
限制
- 移动会产生新的会话 ID(平台无原地迁移能力),原会话归档隐藏(日志与记录保留,可被
workspaceRegistry查询); - 子代理(subagent)会话与空白占位会话不作为可拖拽项;
- 平面列表模式("In one list")下没有工作区标题行,拖放无效(符合预期)。
许可
原始 README: https://github.com/baisama-cloud/dsh-session-mover/blob/main/README.md ↗
同类插件
查看全部 →
archify
Agent 技能:生成美观、可校验的架构图、工作流图、时序图、数据流图与生命周期图——自包含 HTML、带动画与清晰导出

dsh-turn-rewind
对话回退:基于持久 Change Ledger 回滚会话与工作区状态。

dsh-plugin-cc
把 DeepSeek Harness 接入 Claude Code:评审、批评、委派与会话导入

dsh-interconnect
跨实例互联:经 interconnect 服务在多个 DSH 实例间转发消息与事件。

dsh-chat-import
把 13 家 coding agent(Claude Code、Codex、ChatGPT、Cursor、Gemini、opencode 等)的完整对话历史导入为可续聊的 DeepSeek Harness 会话,并支持反向导出回 Claude Code。

dsh-crew
DSH 插件:从 Claude Code / Codex 向 DSH agent 派活——原生 subagent 进度、宿主内 worker 会话(分级预设),以及为纯文本宿主补上视觉与图像生成的多模态桥