メインコンテンツへスキップ
T

dsh-session-admin

tarynwyj/dsh-session-admin

A session manager for DeepSeek Harness Desktop — move conversations between workspaces, manage trash, and restore sessions.

インストール

dsh plugin --profile web add github:tarynwyj/dsh-session-admin

README

dsh-session-admin

让 DeepSeek Harness 的会话更容易整理、移动和找回。

v0.6.0 · 首次公开发布(实验性) · Windows · MIT

dsh-session-admin 是一个面向 DeepSeek Harness Desktop 的第三方会话管理插件。它把常用的会话整理操作放进聊天列表的「…」菜单:将会话移动到其他工作区、把不需要的会话放入回收站,以及在需要时恢复或彻底清理。

兼容范围: 目前仅针对 DeepSeek Harness 0.2.1-rc.3 进行适配与验证。其他版本未经确认。

使用前请备份。 插件会操作本地会话文件及工作区关联数据。它提供安全检查和回收机制,但不能保证在断电、进程崩溃等情况下完全避免数据损失。

功能一览

目标功能名称结果
把会话归到另一个项目移动到其他工作区在目标工作区生成可续聊的新会话,来源会话进入回收站
删除不再需要的聊天移入回收站从正常列表移走,之后仍可恢复;无需先归档
找回误删的聊天会话回收站 → 恢复尝试恢复到原工作区,并还原可识别的原始状态
清理磁盘上的回收记录彻底删除 / 清空回收站删除可安全清理的记录;不可恢复
重新打开已归档聊天取消归档并打开将会话恢复到普通列表并打开

移动会话到不同工作区

在任意受支持的会话行点击 「…」→「移动到其他工作区」,选择目标工作区并确认。

插件会先创建目标会话,再检查历史、工作区归属及受支持的附件引用。只有目标通过验证,才会把来源会话移入插件回收站。 如果某个环节失败,会显示错误和处理提示,不会把“只创建了目标会话”误报为移动完成。

需要了解的区别: DSH 的会话与创建时的工作目录绑定,因此“移动”会生成新的 Session ID,不是把原 ID 直接改到另一个工作区。来源会话保存在回收站中,便于发生问题时找回。

附件会怎样?

支持含 DSH 原生图片附件和通用文件附件的会话。DSH 把这些附件存放在同一主机的共享存储中,因此移动时通常无需再复制文件;插件会检查引用及对象是否可用。

但如果聊天内容只是提到了一个磁盘路径,例如 C:\project\data.csv,插件不会把这个外部文件自动搬到新工作区。缺失、损坏或无法验证的附件会导致移动被拒绝,而不是悄悄丢掉附件。

回收站:可恢复删除与永久删除会话

会话移入回收站和彻底删除会话是两回事:

  • 移入回收站:普通会话、已归档会话均可直接操作;确认后从正常会话列表移走,仍保留恢复机会。
  • 恢复:检查文件完整性、会话 ID 和目标位置冲突,优先恢复到原工作区;尽量还原删除前的归档和置顶状态。
  • 彻底删除 / 清空回收站:确认后永久删除符合安全条件的记录。无法验证归属、存在引用冲突或文件异常的记录会被跳过并给出原因。

打开方式:在会话行点击 「…」→「会话回收站…」,即可查看会话标题、原工作区、删除时间、大小、删除原因以及记录详情。

注意: 回收站里的数据有时是会话仅存的副本。清空回收站、彻底删除及卸载时的 --purge 都可能使这些数据永久无法恢复。

快速开始(Windows)

准备条件

  • 已安装 DeepSeek Harness Desktop;本插件目前以 0.2.1-rc.3 为已验证兼容版本。
  • 能使用 Node.js 命令 node(或者已按 DSH 环境配置 DSH_NODE)。
  • 下载本仓库源码并解压到本地文件夹。

1. 完全退出 DSH

在安装、升级或卸载前,先关闭 DSH 及其系统托盘进程。仅关闭聊天窗口可能不够。

2. 建议先备份

在 PowerShell 中进入解压后的项目目录,执行:

node tools/backup-dsh.mjs --app-quit

如需自定义备份位置,可使用 --to 参数。请确认备份成功,并将备份放在 DSH 数据目录之外。

3. 安装

在项目根目录执行:

.\install.cmd

也可以直接运行:

node tools/install.mjs

安装脚本会将插件安装到当前用户的 DSH 目录,注册到 desktop profile;升级时会保留替换前的插件目录备份。如果检测到 DSH 仍在运行或配置结构异常,会拒绝继续,而不是强行覆盖。

4. 启动并使用

重新打开 DSH,在会话列表中找到任意会话行,点击 「…」,使用新增的移动、回收站或取消归档操作。

建议第一次先用新建的测试会话体验“移动 → 检查目标 → 回收站 → 恢复”,确认与你的 DSH 环境兼容后再整理重要聊天。

使用限制与常见问题

为什么某个会话不能移动?

为避免不完整迁移,当前不支持含 Compaction(上下文压缩)历史的会话,也不支持父子会话或子代理会话的完整迁移。无法验证的附件存储同样会被拒绝。插件会在界面中给出具体错误。

移动成功后,目标工作区没立即显示新会话?

某些 DSH 界面状态可能没有立即更新。可使用插件提供的刷新入口(如当前版本显示),或按 Ctrl+R 刷新界面后再查看;不要因此反复点击移动,以免增加排查难度。

恢复后一定和删除前完全一样吗?

插件会尽量恢复会话文件、工作区关联和可识别的归档/置顶状态。但如果原工作区已经不存在、状态信息不完整或宿主拒绝重新关联,可能需要手工处理;不能保证所有异常场景都自动恢复。

为什么说有回收站,仍然建议备份?

“移动到回收站”并不等于拥有独立的完整备份。插件在文件系统、工作区关联与会话日志之间执行多步操作;断电、磁盘故障、多个宿主进程同时操作等情况不能保证完全原子。

DSH 更新之后还能用吗?

本插件使用 DSH 的插件接口及部分宿主内部服务,不能保证兼容未来版本。升级 DSH 后如果出现异常,请先停止破坏性操作,确认插件是否已适配。

升级、卸载与数据位置

升级

完全退出 DSH,建议备份后,在新版源码目录重新运行:

.\install.cmd

安装工具会保留旧插件目录备份。升级插件不会主动清空回收站。

卸载

完全退出 DSH,在项目根目录运行:

.\uninstall.cmd

普通卸载会移除插件注册与相关链接,默认保留插件文件、回收站和备份。

只有你确实打算丢弃插件保存的所有回收记录时,才考虑破坏性的 --purge --yes 选项。它会删除插件数据目录,包括未完成移动的操作记录;这不是日常卸载需要执行的命令。

本地数据在哪里?

默认位置如下(%USERPROFILE% 指你的 Windows 用户目录):

内容路径
DSH 会话日志%USERPROFILE%\.dsh\sessions\
插件回收站%USERPROFILE%\.dsh\session-admin\trash\
未完成的移动操作记录%USERPROFILE%\.dsh\session-admin\moves\
DSH 附件存储%USERPROFILE%\.dsh\attachments\v1\

回收站目录由插件管理。不要在 DSH 运行时手工搬动或清理里面的文件,以免破坏恢复记录。

对开发者

在仓库根目录运行:

npm test

自动化测试使用隔离的临时 DSH_HOME。测试通过并不等于所有真实 Windows / Electron 环境都已验证。

项目主要结构:

  • lib/:插件运行时代码(会话管理、工作区移动、附件校验、回收站及 UI)。
  • tools/:安装、卸载、备份和诊断工具。
  • test/:隔离自动化测试。
  • install.cmd / uninstall.cmd:Windows 入口脚本。

项目说明与许可证

v0.6.0 是本项目的首次公开发布,当前属于实验性版本。

这是一个社区第三方插件,不是 DeepSeek Harness 官方产品,不修改 app.asar,也不代表获得官方支持。请在操作重要会话前保留独立备份,并自行确认兼容性。

许可证:MIT。

関連プラグイン