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

会话回收站 Huo-yang/dsh-session-trash

DeepSeek Harnessv0.1.1
Huo-yang32 天前有提交已提供中文文档扫描:含敏感能力

为 DSH Web GUI 添加会话删除、回收站、恢复与自动清理功能

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

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

自动兼容检查未通过:engines.node 要求 >=24,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Huo-yang/dsh-session-trash
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · chat
装得上吗
实装验证未通过(runtime_smoke_failed),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 32 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(runtime_smoke_failed · 2026/10/30) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

engines.node 要求 >=24,不满足 Node 22.19.0;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-session-trash @ 0.1.1
✗Node 引擎要求 >=24 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/22 11:44:11

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 15 处,展示前 13 条)
  • 发起网络请求
    src/client/api.js:28
    response = await fetch(`${BASE}/${endpoint}`, { ...init, credentials: 'same-origin' })
  • 读取本地文件
    src/host/store.js:49
    text = await readFile(file, 'utf8')
  • 写入本地文件
    src/host/store.js:60
    await rename(file, `${file}.corrupt-${String(now())}`).catch(() => {})
  • 写入本地文件
    src/host/store.js:91
    await mkdir(dirname(file), { recursive: true })
  • 写入本地文件
    src/host/store.js:99
    await writeFile(temporary, `${JSON.stringify(document, null, 2)}\n`, 'utf8')
  • 写入本地文件
    src/host/store.js:100
    await rename(temporary, file)
  • 写入本地文件
    src/host/store.js:197
    await mkdir(trashRoot, { recursive: true })
  • 写入本地文件
    src/host/store.js:205
    await rename(found.dir, staged)
  • 删除本地文件递归
    src/host/store.js:209
    await rm(staged, { recursive: true, force: true })
  • 删除本地文件递归
    src/host/store.js:211
    if (legacy !== null && legacy !== staged) await rm(legacy, { recursive: true, force: true })
  • 读取本地文件
    src/host/store.js:582
    return readdir(dir)
  • 读取本地文件
    src/host/store.js:601
    total += (await stat(`${dir}/${name}`)).size
  • 读取本地文件
    src/host/store.js:611
    try { await lstat(path); return true }
扫描于 2026/11/4(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-home-paths@deepseek-ai/schemastery@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 会话删除
  • 回收站恢复
  • 自动清理

README

由 DeepSeek 最新模型翻译生成
dsh-session-trash 为 DSH Web GUI 添加会话删除与回收站 会话菜单一键移入回收站,在统一面板中恢复或彻底删除 支持保留天数、删除确认与到期自动清理,设置融入原生界面 = 24" /> 安装 ·界面预览 ·开发 ·贡献指南 ·更新记录 功能 - 会话行菜单:在「…」菜单中添加「移入回收站」和「彻底删除」。 - 回收站面板:查看已删除会话,支持恢复、逐条永久删除和清空。 - 侧边栏入口:回收站有内容时显示绿色状态点,不显示数字角标。 - 原生插件配置:在 DSH「插件」页配置暂存、保留天数、确认提示和到期自动清理。 - 列表同步:按精确会话 ID 隐藏已删除条目,并处理日志已删除但仍留在列表中的会话。 DSH 原生“删除工作区”只移除工作区登记,保留项目目录和会话日志;本插件负责会话级回收站与物理清理。删除工作区不会批量删除其中的会话,恢复时原工作区若已不存在,会话将显示在“未分组”中。 界面预览 会话菜单 在会话的「…」菜单中直接移入回收站或彻底删除。 会话菜单中的移入回收站与彻底删除操作 回收站面板 集中查看已删除会话,并执行恢复、永久删除或清空回收站。 包含恢复、永久删除、设置和清空操作的会话回收站 会话删除设置 在 DSH 原生「插件」页面中配置回收站、保留天数、确认提示和自动清理。
展开完整文档(README 剩余 1 节)
dsh-session-trash

为 DSH Web GUI 添加会话删除与回收站

会话菜单一键移入回收站,在统一面板中恢复或彻底删除

支持保留天数、删除确认与到期自动清理,设置融入原生界面

= 24" />

安装 ·界面预览 ·开发 ·贡献指南 ·更新记录

功能

- 会话行菜单:在「…」菜单中添加「移入回收站」和「彻底删除」。
- 回收站面板:查看已删除会话,支持恢复、逐条永久删除和清空。
- 侧边栏入口:回收站有内容时显示绿色状态点,不显示数字角标。
- 原生插件配置:在 DSH「插件」页配置暂存、保留天数、确认提示和到期自动清理。
- 列表同步:按精确会话 ID 隐藏已删除条目,并处理日志已删除但仍留在列表中的会话。

DSH 原生“删除工作区”只移除工作区登记,保留项目目录和会话日志;本插件负责会话级回收站与物理清理。删除工作区不会批量删除其中的会话,恢复时原工作区若已不存在,会话将显示在“未分组”中。

界面预览

会话菜单

在会话的「…」菜单中直接移入回收站或彻底删除。

会话菜单中的移入回收站与彻底删除操作

回收站面板

集中查看已删除会话,并执行恢复、永久删除或清空回收站。

包含恢复、永久删除、设置和清空操作的会话回收站

会话删除设置

在 DSH 原生「插件」页面中配置回收站、保留天数、确认提示和自动清理。

DSH 会话删除设置页面

兼容性

| 项目 | 当前范围 |
| DSH | 每个版本已验证的 DSH 版本记录在对应 GitHub Release 说明中 |
| 界面 | DSH Web GUI;DSH 0.2 使用官方会话菜单插槽,旧版保留兼容路径 |
| Node.js | 开发基线为 Node.js 24,本地验证版本为 24.11.0 |
| 包管理器 | pnpm 11.19.0,由 packageManager 固定 |
| 系统 | Windows 已做本地隔离验证;GitHub CI 覆盖 Windows / Linux |

DSH 0.2 的会话菜单使用官方插槽,并以 data-row-key 识别会话;工具栏及旧版兼容路径仍使用 DOM 注入,旧版身份识别可能依赖 React 内部结构。上游升级后仍需按 Release 说明重新验证。英文 README 不代表插件界面已完整支持英文。

安装

前提:已安装 DSH。推荐从项目的 GitHub Releases 页面下载对应版本的 dsh-session-trash-<版本>.tgz,并按同页 SHA256SUMS.txt 校验文件。

将下载的压缩包直接交给 DSH 安装,无需手工解压:

dsh plugin --profile trash add "C:\Downloads\dsh-session-trash-0.2.1.tgz"

仅当该 profile 尚未配置 Web GUI 时,再添加 Web 插件,然后启动 DSH:

dsh plugin --profile trash add "@deepseek-ai/dsh-web-app@0.2.0-rc.2"
dsh --profile trash --port 3080

打开 DSH 输出的访问地址,并按提示使用访问令牌。发布包通过 GitHub Release 提供,不发布到 npm。源码目录安装见开发。

删除与恢复

| 操作 | 行为 |
| 移入回收站 | 释放 live 运行时并阻止重新加载;日志保持原位,可以恢复 |
| 关闭暂存后点击移入回收站 | 先明确确认永久删除,再发送永久删除请求 |
| 会话菜单中的彻底删除 | 始终确认;先释放 live 运行时,再清理日志和工作区关联 |
| 清空回收站 | 逐条处理,失败项保留并显示原因 |
| 到期清理 | 启动时检查一次,此后每 30 分钟检查 |
| 恢复 | 确认日志仍在,或将完整暂存目录搬回原位置后,再移除索引 |
| 删除工作区 | 遵循 DSH 原生行为,只移除工作区登记;不会触发会话批量删除 |

删除请求携带固定意图:确认期间另一页面修改策略,不会把软删除升级成永久删除。删除当前会话时,会尽可能先切换到另一条可用会话。

如果已经开始物理删除,日志可能不完整,插件会拒绝自动恢复并保留条目供重试删除;不会提示虚假的恢复成功。回收站会话不会继续运行或被 AgentFactory 重新加载,但日志仍在磁盘上,因此不识别插件回收站索引的其他客户端仍可能把它列为冷会话。

默认设置

| 设置 | 默认值 |
| 暂存 | 开启 |
| 保留时间 | 30 天;0 表示永久保留,最大 3650 天 |
| 移入回收站前确认 | 关闭 |
| 清空 / 回收站逐条永久删除确认 | 开启 |
| 自动清理到期会话 | 开启 |

$DSH_HOME/
├── sessions/ 原始会话日志 └── storages/ ├── dsh_session_trash.json 回收站索引、删除进度和降级兼容策略镜像 └── dsh_session_trash_files/ 永久删除过程中的暂存目录

路径与清理间隔当前由代码设定;删除策略通过 DSH「插件」页修改,并写入当前 profile 配置。

开发

源码目录仍可用于本地安装: powershell
pnpm install --frozen-lockfile
pnpm run check
$pluginPath = (Get-Location).Path
dsh plugin --profile trash add "$pluginPath"

本地 profile、测试数据、构建目录和发布产物均不纳入版本管理。
sh
pnpm test # 仅运行隔离测试,不连接真实 DSH
pnpm run test:handlers # Host 端点行为
pnpm run test:store # 文件操作、恢复与并发
pnpm run test:runtime # live Agent / Session 释放与阻止
pnpm run test:settings # DSH 0.2 Config 迁移与保存契约
pnpm run test:client # 探测调度与菜单处理
pnpm run docs:check # 文档本地链接检查
pnpm run typecheck # 项目 TypeScript 检查,当前 checkJs=false
pnpm run build # 生成 Host / 浏览器产物
pnpm run release:prepare # 在 dist/ 生成 tgz、校验和与发布清单
pnpm run check # 执行上述默认验证和构建

typecheck 尚未启用完整 JavaScript 类型检查,不能替代行为测试。真实实例测试需要单独配置,不会由 pnpm test 或 CI 自动运行。
text
.github/ CI、Issue 与 PR 模板 docs/ 架构、测试与截图说明 scripts/ 构建、校验和测试脚本 src/host/ 索引、策略、HTTP 端点 src/client/ 菜单、回收站、设置和列表同步 lib/ 构建生成,不纳入版本管理

更多信息:架构说明 · 测试指南 · 贡献指南。

卸载 sh
dsh plugin --profile trash remove dsh-session-trash

卸载不会自动删除回收站数据。移除插件后,原位保留的软删除会话可能重新出现;处理索引或暂存目录前,应先确认是否还有需要恢复的数据。

许可证

MIT。本项目是第三方插件,与 DSH 上游项目无官方隶属关系。
预览分享卡片长什么样 ↓Huo-yang/dsh-session-trash
分享 · DeepSeek Harness Hub
Huo-yang/dsh-session-trash

为 DSH Web GUI 添加会话删除、回收站、恢复与自动清理功能

这是你的仓库?认领条目

回到顶部