dsh-archived-sessions
Manage archived sessions in DSH — view / restore / permanently delete, with workspace tags, session dates & batch multi-select. | DSH 归档会话管理器:查看/恢复/彻底删除已归档 session,含工作区标签、会话日期与批量多选。
- Stars
- 0
- Language
- JavaScript
- Created
- Aug 20, 2026
- Updated
- Aug 20, 2026
Introduction
dsh-archived-sessions
English | 中文
DSH 设置面板**「会话管理」:一个入口统一管理全部会话。 归档 / 恢复 / 彻底删除 / 移动到其他工作区,带工作区标签与会话日期,支持批量。 工作区目录可选「已有」或「新建」,新建支持系统目录选择**;设置导航带专属归档盒图标。
一个 DSH 持久化插件(host + browser 双半)。在 设置 → 会话管理 里统一管理所有会话:归档(从侧栏隐藏)、恢复、彻底删除、移动到其他工作区。
功能
- 统一面板:单一「会话管理」入口,顶部「全部 / 已归档」筛选;每行显示标题(缺失时回退首条用户消息)、归档状态(活动 / 已归档)、会话日期、所属工作区标签(标题或目录名;原工作区已删除时显示「工作区已删 · 目录名」)。
- 归档 / 恢复:归档把会话从侧栏隐藏;恢复取消归档放回原分组。
- 彻底删除:物理删除会话日志文件 + 解除工作区归属,不可恢复(删除前有二次确认)。
- 移动到工作区:任选已有工作区或新建目录路径(自动创建);新建目录支持直接输入路径或点击 「浏览…」调用系统目录选择窗口。会话的工作目录与日志会一起迁移,随后滑入对应工作区分组;处于打开状态的会话需先切走。
- 批量多选:全选 / 批量归档 / 恢复所选 / 删除所选(批量删除一次二次确认)。
- 自适应 UI:深浅色跟随主题 token,窄屏自动纵向堆叠;加载/空/错误/操作中状态齐全;支持键盘焦点、
prefers-reduced-motion;设置导航左侧为归档盒专属图标。
截图


安装
# 方式一:Git 依赖直装(推荐,无需本地 clone,重启 DSH 生效)
dsh plugin --profile desktop add "github:TOBYCAI/dsh-archived-sessions"
# web 端(若你也用 dsh web):
dsh plugin --profile web add "github:TOBYCAI/dsh-archived-sessions"
# 方式二:本地 link(开发调试)
git clone https://github.com/TOBYCAI/dsh-archived-sessions.git
dsh plugin --profile desktop add link:/path/to/dsh-archived-sessions
装完重启 DSH(或刷新页面重新加载 bundle)后,设置 → 会话管理 即可用。
卸载
dsh plugin --profile desktop remove dsh-archived-sessions
dsh plugin --profile web remove dsh-archived-sessions
结构
package.json npm 元数据 + dsh.bundle.patch + dsh.client(浏览器半注册)
cordis.patch.yml 向 profile bundle 插入本插件行
src/index.js host 源码(/archived-sessions/* JSON 路由)
src/client/index.jsx client 源码(React,settings.section)
build.mjs esbuild 构建脚本(本地开发时生成 lib/)
lib/index.js 预构建 host(ESM)
lib/client.js 预构建 client(ModuleLoader CJS handshake)
lib/ 已预构建,clone 下来即可直接用、无需 esbuild。若要改源码,运行 npm i -D esbuild && npm run build 重新生成 lib/。
Host 路由
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /archived-sessions/list | 列出归档会话(跳过已删除/不存在者) |
| POST | /archived-sessions/archive | 归档(隐藏)单个会话 |
| POST | /archived-sessions/archive-many | 批量归档 |
| POST | /archived-sessions/restore | 取消归档单个 |
| POST | /archived-sessions/restore-many | 批量取消归档 |
| POST | /archived-sessions/delete | 彻底删除单个(物理删日志,保持隐藏) |
| POST | /archived-sessions/delete-many | 批量彻底删除 |
| POST | /archived-sessions/sessions | 列出全部会话(含已归档标记),供「会话管理」面板 |
| POST | /archived-sessions/workspaces | 列出可选目标工作区 |
| POST | /archived-sessions/move | 把会话移动到目标工作区 { sessionId, targetPath } |
删除时会保留归档位(不取消归档),从而不会把会话放回侧栏/未分组;并跳过日志已不存在的条目。 DSH 本身没有官方 session 删除接口,本插件是「物理删日志 + 解除归属 + 保持隐藏」的实现。
兼容性
- DSH Desktop / web 均可(同一套 host + client)。
- peerDependencies 见
package.json;react、@deepseek-ai/*由 DSH 运行时提供。
License
MIT © TOBYCAI