DeepSeek Harness Hub
← 返回列表

PianoPrince/dsh-workspace-mover

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

非官方项目,由社区成员独立开发和维护。

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/13 · 已提供中文文档

拖拽真迁移 DSH 会话跨工作区:批量移动、分组合并、挂错归位、回收站、备份恢复;步步备份可回滚,零 token / True migration of DSH sessions across workspaces: bulk move, group merge, misfiled homing, recycle bin & backup restore; every step backed up, zero tokens

综合分
31.5
GitHub 分
31.5
用户评分
★ Stars
3
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add PianoPrince/dsh-workspace-mover
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/20(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-workspace-mover

_> 非官方项目,由社区成员独立开发和维护。_

在侧边栏把会话拖到另一个工作区——真迁移原始档案,而不是复制

🌏 中文 · English

📑 目录

- ✨ 功能
- 🚀 安装
- 🖼️ 特性巡礼
- ⌨️ 使用
- 🔌 如何接入 DSH
- 🤝 与其他插件共存
- 🧩 兼容性与卸载
- 🔐 安全承诺
- ⚠️ 已知限制
- 🆕 最近版本

✨ 功能

DeepSeek Harness 侧边栏可以拖拽排序同一工作区内的会话,但拖到另一个工作区上会被静默忽略。本插件补上跨工作区迁移:

- 🖱️ 拖拽迁移:把空闲会话行拖到目标工作区标题行,确认后完成移动
- 📦 批量迁移 / 分组合并:Ctrl/Shift 多选后整批拖移,或用组标题「⋯」菜单「整组迁移…」;源分组清空后可一键删除,两条命令完成合并(单批至多 50 个,失败互不牵连)
- 🚚 真迁移 · 零 token:会话 ID 与完整历史原样保留,不复制副本、不重新注入上下文
- 🏠 工作区搬家向导:项目文件夹被移动/改名后,一键把失效分组原地重定向到新位置;id、标题、排序、归档位保持,名下会话连同旧路径散件一起迁移
- 🛟 会话救援(设置 → 会话救援):一键找回「失联」「未记账」「挂错分组」的会话;已归档会话可恢复;支持一键修复与筛选
- 🗑️ 回收站与备份:删除先进回收站,可还原到原位置或任意分组;迁移自动生成备份,可按会话恢复或清理
- ⏪ 移动历史与撤回:记录最近 100 次跨工作区移动,批量聚合为一条,整批可一键撤回
- 📂 空分组清理 / 打开文件夹:只列出真正零成员的工作区;组菜单可直达系统文件管理器

🚀 安装

dsh plugin --profile web add "github:PianoPrince/dsh-workspace-mover"
重启 dsh web 一次
零构建授权:纯 JavaScript 源码即产物(无 TypeScript、无构建步骤)。从 GitHub 安装时不需要 allowBuilds 构建授权。

npm 渠道

dsh plugin --profile web add dsh-workspace-mover

本地开发安装

dsh plugin --profile web add "link:C:/path/to/dsh-workspace-mover"

常见问题

| 现象 | 原因与解决 |
|---|---|
| 拖了但没反应 | 请在分组视图把会话行拖到工作区标题行;「扁平列表」视图没有标题行,本插件在该视图不激活 |
| 提示会话正在运行中 | 等该会话回合结束再拖即可 |
| 移动失败的 toast | 操作前有自动备份、失败会回滚;按提示处理后重试。详细原因见宿主日志中的 MOVE FAILED |
| 移动成功但侧边栏没归位 | 刷新页面即可 |
| 有些会话从侧边栏不见了 | 打开 设置 → 会话救援 自动扫描并找回 |

🖼️ 特性巡礼

以下均为真实界面实拍(点击可放大)。

拖拽跨工作区迁移

| | |
|---|---|
| 把空闲会话行拖到目标工作区标题行,出现虚线高亮 | 确认框亮出目标工作区路径,一键移动 |
| 把一个会话拖到另一个工作区 | 跨工作区移动确认框 |
| 设置 → 会话救援:一键找回失联与未记账的会话 | |
| 会话救援设置面板 | |

批量迁移 · 多选拖拽

| |
|---|
| Ctrl+点击选中多个会话(当前打开的会话自动带上),左下角亮出计数徽章;拖到目标工作区标题行即整批移动,Esc 清空 |
| 批量移动选中时:三个会话高亮,左下角显示已选计数徽章 |
| 组标题「⋯」菜单里的「整组迁移…」:整组搬移,迁入后可删除已空的源分组(分组合并) |
| 组标题菜单中的整组迁移入口 |

工作区搬家向导 · 实测全程

以下为一次真实搬家的完整记录:把 Test1 文件夹改名为 Test2 后,用向导原地修复工作区。

| | |
|---|---|
| 改名前:Test1 分组正常工作 | 改名后侧边栏仍显示旧分组(磁盘上文件夹已不在) |
| 改名前的工作区 | 改名后的工作区 |
| 打开设置 → 会话修复:「工作区体检」把分组标为「路径失效」,填入新路径 | 确认框亮出起讫路径与将要迁移的会话数 |
| 工作区体检面板 | 搬家确认弹窗 |
| 搬家完成:分组原地更名为 Test2,会话与历史原样保留 | |
| 搬家后的工作区 | |

⌨️ 使用

拖拽跨工作区迁移

1. 重启后在侧边栏分组视图里,按住任意空闲会话行;
2. 拖到目标工作区的标题行(出现虚线高亮)松手;
3. 确认框显示目标工作区路径 → 点「移动」;
4. 完成 toast 提示;若侧边栏未自动刷新,手动刷新页面即可。

运行中的会话会被拒绝;移动失败会自动回滚并在 toast 中说明原因。

会话救援面板

1. 重启后打开 设置 → 会话救援,面板自动完成首次扫描;
2. 失联行:选目标工作区 → 点「迁移过去」;
3. 未记账行:点「补挂账」原地挂到路径匹配的工作区;
4. 挂错分组行:点「归位」或「全部归位」;
5. 一键修复:自动跑完可修复项,失败项隔离;
6. 支持按标题 / 会话 ID / 路径 / 分组筛选;
7. 已归档 / 回收站 / 备份:归档可恢复;删除进回收站,可还原或确认后彻底删除;迁移备份可恢复或清理。

批量迁移

1. Ctrl/Cmd+点击加入多选,Shift+点击组内范围选择,Esc 清空;
2. 拖任一选中行到目标工作区标题行 →「全部移动」;
3. 或用 「⋯」菜单 →「整组迁移…」;源分组清空时可确认后删除(分组合并)。

工作区搬家向导

1. 文件夹被移动/改名后,工作区体检会把对应分组标为「路径失效」;
2. 填入文件夹现在的完整路径,点「搬家」;
3. 确认起讫路径与会话数量后执行;运行中的会话本次跳过,结束后可续跑剩余部分。

🔌 如何接入 DSH

本插件面向使用者只承诺以下接入原则(实现细节见 docs/ARCHITECTURE.md):

1. 使用 DSH 官方扩展点挂载,不修改 DSH 或 dsh-market 的安装文件;
2. 会话归属变更走宿主提供的正式接口,不伪造持久化数据;
3. 插件自有数据(历史、备份、回收站)写在独立数据目录,与会话档案分开;
4. 与官方侧边栏同组排序互不干扰,只处理跨工作区场景。

🤝 与其他插件共存

设计上按「与生态共生」标准实现,冲突面很小:通信与样式使用独立命名空间;不改写官方安装文件;会话归属写入使用宿主正式接口。

| 同装插件类目 | 兼容性 | 说明 |
| --- | --- | --- |
| 侧边栏增强 / better-sidebar / 终端 / 费用统计 / 记忆 / 导出分享 | ✅ 无冲突 | 面板与数据面完全不同 |
| 归档管理类插件 | ✅ 兼容 | 双方都使用官方归档数据,数据层一致(面板功能可能有些重复) |
| 排序 / 置顶类插件 | ⚠️ 基本兼容 | 移动后会精确重排「最近更新」;与置顶/排序插件并存通常无碍,仅各自面板展示顺序可能不完全一致 |
| 重画侧边栏的插件(自绘工作区树) | ⚠️ 降级共存 | 对方若替换官方侧边栏结构,本插件可能暂时无法识别会话行——表现为功能不触发,不会损坏数据 |
| 其他会话移动器 | ❌ 建议二选一 | 同类插件可能重复处理同一次拖拽;本插件已覆盖移动 / 批量 / 合并 / 归位 / 归档恢复 |

🧩 兼容性与卸载

- 已验证组合:DeepSeek Harness 0.1.5-rc.1、dsh-market 1.45.1、Node.js ≥ 22。不修改 DSH 源码,仅通过官方扩展点接入。
- 市场卡片的「宿主要求未知」:GitHub-only 插件没有 npm 发布清单时,dsh-market 可能无法从远端元数据推导宿主版本;显示「未知」不代表运行时不兼容。仓库 package.json 已声明 engines.dsh ≥ 0.1.5-rc.1。
- 卸载可逆:移除插件不会删除会话档案、工作区或官方记账。插件自己的历史、任务、备份和回收站数据仍保留在插件数据目录(见 docs/ARCHITECTURE.md);移除后刷新或重启 DSH 即可清理注入的界面。
- 共存建议:不要与另一个跨工作区拖拽移动器同时启用;其他类型插件可按上表共存。

部分高级操作依赖较新的 DSH 能力;不支持时界面会明确提示,而不是静默失败。

🔐 安全承诺

- 移动前自动备份;搬运落地后再核对会话身份与路径,不符则整体回退;
- 失败时恢复到移动前状态(文件与记账一并恢复);
- 删除先进回收站,可还原到原位置或任意分组;彻底删除需二次确认;
- 无法自动恢复时,会在救援面板明确标出,需要人工确认;会话文件与备份始终保留,绝不静默丢弃;
- 近期打开过、仍驻留在 Harness 内存中的会话不能直接删除,需重启 Harness 后再删(界面会给出明确提示)。

失败路径优先保数据,不静默丢会话。
并非「任何错误都能自动恢复」:极端情况下会要求人工处理,但数据会留在原处。

⚠️ 已知限制

- 不支持把会话移入「Ungrouped」桶;
- 常驻内存的会话(近期打开过)不能直接删除,请重启 Harness 后再删;
- 若第三方插件整页重绘侧边栏,本插件可能暂时无法识别会话行(功能不触发,不损坏数据);
- 「扁平列表」视图无工作区标题行,本插件在该视图不激活;
- 宿主大版本升级若改变内部结构,相关能力可能降级或需重启后生效;搬家向导在无法安全写入时会在改动任何文件之前中止并提示。

🆕 最近版本

v2.0.2 · 2026-09-13

- 修复 GitHub Traffic badge 在下载数不超过 10 时更新失败的问题
- 完善架构说明与 RPC 清单,修正文档中的工作区投影刷新行为
- 发布 .tgz 安装资产时同时包含架构文档与截图,并清理重复的历史版本记录
完整变更记录见 CHANGELOG.md。
实现与架构说明见 docs/ARCHITECTURE.md。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群