dsh-move-session:DSH 插件里的跨工作区会话迁移

前言

在 dsh Web GUI 中,一个会话通常属于当前工作区。若希望把已有上下文带到另一个工作区继续处理,手动复制日志、标题、Agent 预设和模型选择容易遗漏。下面介绍的 hucj09/dsh-move-session 是 dsh Web GUI 插件,用于把当前空闲会话复制到另一个工作区,并保留完整上下文。

这是什么

hucj09/dsh-move-session 是 dsh Web GUI 的跨工作区会话迁移插件,仓库 owner 为 hucj09,许可证为 MIT。

它不修改 dsh 源码,使用零依赖纯 JavaScript,源码即产物。插件会在 dsh Web GUI 中新增会话迁移入口:会话头部操作行提供 Move Session 按钮,侧边栏会话行「…」菜单可注入「迁移会话」项。

核心功能

下面只列已核实的插件能力:

  • 在 dsh Web GUI 会话头部操作行新增 Move Session 按钮。
  • 侧边栏会话行「…」菜单可注入「迁移会话」项。
  • 将当前会话原封不动复制到另一个工作区,保留对话日志、标题、Agent 预设和模型选择。
  • 支持「保留原会话」或「归档原会话」两种模式。
  • 仅支持空闲会话迁移;运行中会话会被客户端禁用,并由宿主端拒绝。
  • 迁移后通过 host 事件触发侧边栏跨端自动刷新。
  • 副本继承源会话的模型与 Agent 预设,并保留 parentSession 血缘信息。
  • 使用新会话 id 复制,不覆盖、不删除现有会话记录。
  • 目标工作区存在同名会话时,自动追加 [MS<n>] 区分。
  • 零依赖纯 JavaScript,源码即产物,不修改 dsh 源码。

安装与启用

安装命令如下:

dsh plugin --profile web add @hucj/dsh-move-session

执行安装后,重启 dsh web,并在浏览器中用 Ctrl+F5 强刷页面。打开任意会话后,如果会话头部操作行出现 Move Session 或「迁移会话」入口,即表示插件已启用。

典型用法

1、打开一个空闲会话。

2、点击会话头部操作行的 Move Session 按钮,或从侧边栏会话行「…」菜单选择「迁移会话」。

3、选择目标工作区。列表会排除当前工作区,并显示路径与会话数。

4、选择「保留原会话」或「归档原会话」。

5、确认后侧边栏即时更新,并可打开迁移后的会话。

适用场景与注意

这个插件适合在多个 dsh 工作区之间复用同一会话上下文,例如把一个已整理好的会话作为另一个工作区的起点。

使用前建议注意以下边界:

  • 插件会在 dsh Web GUI 中运行,安装前应检查源码与 MIT 许可证;运行时应视为以当前 dsh 进程权限使用宿主能力。
  • 仅空闲会话可迁移;运行中会话会被客户端禁用,并由宿主端拒绝。
  • 迁移要求源日志平衡;异常中断且未修复的日志可能被拒绝。
  • 会话 id 会变化。副本使用新会话 id,血缘通过 parentSession 保留。
  • 副本会以 live 空闲 agent 形式驻留内存,不随本插件卸载。
  • 迁移只复制会话日志,附件/文件本身不受影响。
  • 「归档原会话」属于 registry 级全局归档集合;本插件不提供取消归档入口。
  • 宿主需已组装 @deepseek-ai/dsh-client-runtime 等标准 web 运行时。

链接

  • 插件目录页:https://www.skillhub.cn/plugins/hucj09/dsh-move-session
  • GitHub 仓库:https://github.com/hucj09/dsh-move-session
羽毛球分组比赛记分
小程序二维码

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

小夜