🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话回收站 qyy2005/dsh-session-trash

DeepSeek Harness
qyy20051 天前有提交已提供中文文档扫描:未发现敏感能力

把会话移入回收站,可恢复或彻底删除,避免误删

30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add qyy2005/dsh-session-trash
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · other
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 1 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    client.js:102
    const response = await fetch(path, init)
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-session-trash DSH(DeepSeek Harness)桌面版的两段式会话删除插件:行尾垃圾桶把会话移入回收站,回收站里二次确认才彻底删除。 DSH 官方只有「归档」——dsh-session-persistence 文档写得很明确:无删除或保留接口。归档只把会话从侧栏藏起来,日志、投影缓存、工作区记账全都还在。这个插件补上删除,并且把删除拆成两步,避免误删。 功能 - 会话行尾垃圾桶(悬停会话行出现):确认后把会话移入回收站,连同它的子智能体 / 派生对话家族一起。 - 设置 → 回收站:列出回收站里的条目(标题、原工作区、会话数、移入时间、占用大小),支持: - 恢复:目录搬回原位、重新挂回原工作区、恢复归档 / 置顶标记;页面自动刷新。 - 彻底删除:点一次变「确认彻底删除?」,再点才真删。 - 清空回收站:同样两段确认。 - 运行中的会话会被拒绝:还有未结束的回合 / 子智能体 / 后台任务 / 定时提醒时,提示等它结束再移入,绝不会替你停掉工作再删。
展开完整文档(README 剩余 1 节)
dsh-session-trash

DSH(DeepSeek Harness)桌面版的两段式会话删除插件:行尾垃圾桶把会话移入回收站,回收站里二次确认才彻底删除。

DSH 官方只有「归档」——dsh-session-persistence 文档写得很明确:无删除或保留接口。归档只把会话从侧栏藏起来,日志、投影缓存、工作区记账全都还在。这个插件补上删除,并且把删除拆成两步,避免误删。

功能

- 会话行尾垃圾桶(悬停会话行出现):确认后把会话移入回收站,连同它的子智能体 / 派生对话家族一起。
- 设置 → 回收站:列出回收站里的条目(标题、原工作区、会话数、移入时间、占用大小),支持:
- 恢复:目录搬回原位、重新挂回原工作区、恢复归档 / 置顶标记;页面自动刷新。
- 彻底删除:点一次变「确认彻底删除?」,再点才真删。
- 清空回收站:同样两段确认。
- 运行中的会话会被拒绝:还有未结束的回合 / 子智能体 / 后台任务 / 定时提醒时,提示等它结束再移入,绝不会替你停掉工作再删。

存储与删除范围

| 项 | 说明 |
| 回收站目录 | <DSH_HOME>/session-trash/<会话 id>/ |
| 索引 | <DSH_HOME>/session-trash/index.json(记录原目录、工作区、归档/置顶标记、大小) |
| 移入时 | 移动会话目录、删投影缓存 storages/session_projcache 对应记录、从所有工作区记账中脱离、发 api-session/removed 让侧栏立刻消行 |
| 彻底删除 | 直接删除回收站里该条目的目录与索引;不进系统回收站,不可恢复 |

恢复时如果原工作区已经不在了,会话仍会还原到它原来的会话目录,并出现在侧栏「未分组」里。

安装

1. 把整个目录复制到 profile 的 node_modules/dsh-session-trash:

<DSH_HOME>/profiles/<profile>/node_modules/dsh-session-trash/

2. 在 profile 的 package.json 中登记:

{
"dsh": { "profile": { "bundles": [ "...", "dsh-session-trash" ] } },
"dependencies": { "...": "...", "dsh-session-trash": "0.1.0" }
}

3. 完全退出 DSH 再打开(客户端 bundle 只在启动时组装)。

实现

- Host 半(index.js):/dsh-session-trash/{list,trash,restore,purge,empty} 五个同源路由挂在 ctx.webServer 上(这是无构建的纯 JS 插件能用的 UI→Host 通道;带类型的 ctx.remote 需要生成的 Typert 描述符)。
- Client 半(client.js):无构建,window.__ModuleLoader__.load 注册三个座位:

| 座位 | 用途 |
| sidebar.workspaces.session.row.action | 行尾垃圾桶按钮(带空 inject face,否则 dsh-better-workspace 会过滤掉) |
| shell.overlay | 移入回收站的确认框 |
| settings.section | 设置里的「回收站」页面(order 25,排在 Agent 预设与 Web 插件之间) |

已知限制

- 恢复不能换工作区:会话的 cwd 写死在日志头部(SessionHeader.cwd 只读),DSH 用它校验工作区归属(workspace.attachSession() 要求 realpath(header.cwd) === workspace.path),并且 persistence.locate() 按 cwd 反推目录。换目标文件夹就得改日志头部并搬目录,官方不支持,硬做会得到一个打不开的会话。
- 和 dsh-better-workspace 共存时,会话的右键菜单由它硬编码,第三方 menu.item 条目不会显示;所以入口只有行尾按钮 + 设置页。
- 插件升级/重装会覆盖 node_modules 里的文件。

License

MIT
预览分享卡片长什么样 ↓qyy2005/dsh-session-trash
分享 · DeepSeek Harness Hub
qyy2005/dsh-session-trash

把会话移入回收站,可恢复或彻底删除,避免误删

这是你的仓库?认领条目

回到顶部