PianoPrince/dsh-workspace-mover

PianoPrince★ 2JavaScript最后同步: 2026-08-28

在 GitHub 打开

README 摘要

dsh-workspace-mover 非官方项目,由社区成员独立开发和维护。 在侧边栏把会话拖到另一个工作区——真迁移原始档案,而不是复制 🌏 中文 · English 📑 目录 - ✨ 功能一览 - 🔬 技术要点 - 🚀 安装 - 🖼️ 特性巡礼 - ⌨️ 使用 - 🔌 与 DSH 的集成方式 - 🆕 最近更新 - 🔐 安全设计 · ⚠️ 已知限制 ✨ 功能一览 DeepSeek Harness 的侧边栏支持工作区内拖拽排序会话,但把会话拖到 另一个工作区 上会被静默忽略——官方 RPC 只暴露了单工作区内的 insertSessionBefore ,没有跨工作区移动接口。本插件补上这块: - 🖱️ 拖拽交互 :把任意空闲会话行拖到目标工作区的标题行,确认框亮出目标路径,一键迁移 - 📦 批量迁移 :Ctrl/Shift+点击多选会话行(插件自建选择集,带计数徽章),拖任一选中行整批迁移;右键工作区标题行可整组搬移。单批至多 50 个,逐条独立备份回滚、失败互不牵连 - 🚚 真迁移 :物理搬移原始 session.jsonl.zstd 档案、改写头部 cwd 、更新工作区注册表——会话 id 与全部历史 原样保留 ,不产生副本、不重新注入上下文、 零 token 消耗 - 🏠 工作区搬家向导 :项目文件夹被移动/改名后,一键把失效的工作区 原地重定向 到新位置——工作区 id、标题、排序、归档位全部保持,名下会话连同旧路径的失联散件批量原样迁移;运行中的自动跳过,中断后续跑只补剩余 - 🛟 孤儿会话救援 (设置页「会话救援」面板):扫描磁盘上全部会话档案并分类处理—— - 失联(orphaned) :项目文件夹被移动/改名/删除导致 cwd 失效、从侧边栏"消失"的会话(官方讨论 3012 的社区修复),可一键真迁移到任意现有工作区 - 未记账(unregistered) :cwd 仍有效但从未被任何工作区记账的会话(bootstrap 只跑一次、agent 内部 fork 不注册等),可原地补挂账 - 幽灵记账(ghosts) :注册表有账但磁盘档案已缺失的 id(只读提示) - 三类全部走同一条备份+回滚管线 - ⏪ 移动历史与撤回 :记录最近 100 次跨工作区移动,设置页一键移回原分组,撤回本身同样生成备份并复用回滚保护 - 🏷️ 会话标题优先 :确认框、救援列表和最近移动记录都先显示会话标题,找不到标题时显示「未命名会话」 🔬 技术要点 1. 常驻会话一致性修复 :打开过的会话在宿主内存里有冻结头与持久化写入缓存。直接搬文件会导致它下次对话时把新事件 写回旧路径 造成历史分叉——本插件迁移后清理陈旧写入状态并刷新注册表索引,宿主自动从新位置重新接管。 2. 安全兜底 :每次移动前强制字节级备份;改写、搬运、记账任一…

在 GitHub 查看完整 README →
工具/开发cordisdeepseek-harnessdshdsh-pluginsession-manager

分类