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

会话回收站 ZZZZZZZ-ZZZZZ/dsh-session-trash

DeepSeek Harness
ZZZZZZZ-ZZZZZ18 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 会话回收站:把对话移入回收站、恢复,或二次确认后永久删除。

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
数据截至 2026/11/02·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 18 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件
查看扫描证据(共 45 处,展示前 18 条)
  • 读取本地文件
    lib/index.js:316
    for (const entry of await readdir(dir, { withFileTypes: true })) {
  • 读取本地文件
    lib/index.js:332
    const info = await lstat(current);
  • 读取本地文件
    lib/index.js:336
    const [realBase, realPath] = await Promise.all([realpath(base), realpath(path)]);
  • 读取本地文件
    lib/index.js:341
    await lstat(path);
  • 读取本地文件
    lib/index.js:422
    projects = (await readdir(this.sessionRoot, { withFileTypes: true })).filter((entry) => entry.isDirectory()).map((entry) => entry.name);
  • 写入本地文件
    lib/index.js:468
    await mkdir(this.trashRoot, {
  • 写入本地文件
    lib/index.js:487
    await mkdir(staging, { mode: 448 });
  • 写入本地文件
    lib/index.js:488
    await writeFile(join(staging, MANIFEST), `${JSON.stringify(manifest, null, 2)}\n`, {
  • 写入本地文件
    lib/index.js:497
    await mkdir(dirname(target), {
  • 写入本地文件
    lib/index.js:501
    await rename(item.dir, target);
  • 写入本地文件
    lib/index.js:507
    await rename(staging, published);
  • 读取本地文件
    lib/index.js:531
    names = (await readdir(this.trashRoot, { withFileTypes: true })).filter((entry) => entry.isDirectory() && UUID.test(entry.name)).map((entry) => entry.
  • 删除本地文件
    lib/index.js:628
    for (const file of item.files) await unlink(file);
  • 删除本地文件
    lib/index.js:629
    await rmdir(item.dir);
  • 删除本地文件
    lib/index.js:688
    if (entries.length > 0) await unlink(join(staging, MANIFEST));
  • 删除本地文件
    lib/index.js:689
    await rmdir(staging);
  • 删除本地文件
    lib/index.js:759
    await unlink(this.pendingPath(pendingId));
  • 删除本地文件
    lib/index.js:867
    await rmdir(join(dir, project));
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-api-gateway@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-layout@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-session-trash · 会话回收站 DeepSeek Harness(DSH)插件:在侧栏会话菜单里加入“移到回收站”。会话不会被直接删除,而是进入回收站;之后可以在“设置 → 会话回收站”中恢复,或再次确认后永久删除。回收站从不自动清理。 - 兼容 DSH 0.2.x(engines.dsh: >=0.2.0-rc.2 <0.3.0,含 0.2.1-alpha 预览版) - 支持 macOS 与 Linux;Windows 上插件会自动停用(无法检查会话写锁) - 只支持官方 JSONL 会话存储(DSH 默认配置) 安装 桌面版:打开侧栏的 插件 → 添加插件,在“包名或地址”中填入以下任一项,点 安装,完成后点 立即启用(新装的插件默认关闭): - GitHub 地址:https://github.com/ZZZZZZZ-ZZZZZ/dsh-session-trash,指定版本可写 github:ZZZZZZZ-ZZZZZ/dsh-session-trash#v0.2.1 - npm 包名:dsh-plugin-session-trash - 本地安装包的绝对路径,例如 /path/to/dsh-plugin-session-trash-0.2.1.tgz(由 pnpm pack 生成)
展开完整文档(README 剩余 1 节)
dsh-plugin-session-trash · 会话回收站

DeepSeek Harness(DSH)插件:在侧栏会话菜单里加入“移到回收站”。会话不会被直接删除,而是进入回收站;之后可以在“设置 → 会话回收站”中恢复,或再次确认后永久删除。回收站从不自动清理。

- 兼容 DSH 0.2.x(engines.dsh: >=0.2.0-rc.2 <0.3.0,含 0.2.1-alpha 预览版)
- 支持 macOS 与 Linux;Windows 上插件会自动停用(无法检查会话写锁)
- 只支持官方 JSONL 会话存储(DSH 默认配置)

安装

桌面版:打开侧栏的 插件 → 添加插件,在“包名或地址”中填入以下任一项,点 安装,完成后点 立即启用(新装的插件默认关闭):

- GitHub 地址:https://github.com/ZZZZZZZ-ZZZZZ/dsh-session-trash,指定版本可写 github:ZZZZZZZ-ZZZZZ/dsh-session-trash#v0.2.1
- npm 包名:dsh-plugin-session-trash
- 本地安装包的绝对路径,例如 /path/to/dsh-plugin-session-trash-0.2.1.tgz(由 pnpm pack 生成)

仓库已包含构建好的 lib/,从 GitHub 安装不会运行任何构建脚本。如果提示无法访问 GitHub,需要能访问 GitHub 的网络环境;DSH 提供的国内镜像只加速 npm 包,不能代替 GitHub 仓库。

不要填写源码目录:源码目录的 node_modules 里有开发用的 DSH 包副本,会和 DSH 自身的包冲突。

命令行(可选):在 DSH 应用菜单 Manage dsh Command… 中安装桌面版自带的 dsh 命令,完全退出 DSH 后运行:

dsh plugin --profile desktop add dsh-plugin-session-trash

卸载:在 插件 页面找到“会话回收站”点 卸载,或退出 DSH 后运行 dsh plugin --profile desktop remove dsh-plugin-session-trash。回收站中的会话保存在 ~/.dsh/session-trash/,卸载不会删除它们。

使用

1. 在侧栏会话的“…”菜单中点 移到回收站,确认后会话从侧栏消失。如果它在本次启动中打开过,会先被隐藏,下次启动 DSH 时自动移入回收站。
2. 打开 设置 → 会话回收站:
- 恢复:会话回到原来的位置,原有的归档 / 置顶状态一并恢复;
- 永久删除:再次确认后删除本地会话记录,无法撤销;
- 清空回收站:确认后逐个永久删除,遇到第一个失败就停止。

安全设计

| 规则 | 说明 |
| 不碰正在使用的会话 | 有运行中的回合、子智能体、后台任务或定时提醒时拒绝;被其他 DSH 进程写入的会话(持有 session.lock 写锁)也拒绝 |
| 打开过的会话延迟移入 | 本次启动中打开过的空闲会话会立即从侧栏隐藏(官方归档),在下次 DSH 启动、任何会话打开之前再移入回收站;那时仍做全部检查,不满足就继续等待下一次启动。等待期间可在回收站页面撤销 |
| 只移动、不复制 | 移入回收站和恢复都用同一磁盘内的 rename;回收站在另一个磁盘时直接拒绝 |
| 不用 rm -rf | 永久删除只逐个删除 DSH 自己写入的会话文件(日志代际、发布临时文件、session.lock),目录用非递归 rmdir 删除;发现任何其他文件就整体拒绝,不删任何东西 |
| 路径边界 | 回收站条目 id 必须是 UUID;会话目录及其上级必须是普通目录(不能是符号链接),且解析后仍在 DSH 会话根目录内;回收站目录不能在会话根目录内 |
| 崩溃安全 | 移入回收站先在 .staging-<id> 中准备,最后一次 rename 发布;中途崩溃时下次启动自动回滚 |
| 经过认证的接口 | 浏览器通过 DSH 的 /api 网关(Typert Remote,带连接认证)调用;不注册无认证的 HTTP 路由 |
| 官方接口 | 隐藏 / 恢复会话用官方 archiveSession / unarchiveSession / pinSession,不直接改写 DSH 的存储数据 |

子智能体会话随父会话一起移入回收站和恢复;fork 出的会话是独立对话,不受影响。项目文件夹和工作区文件从不被触碰。

配置

| 字段 | 默认值 | 说明 |
| trashDirectory | <DSH home>/session-trash | 回收站目录;必须在会话根目录之外,并与其在同一磁盘 |

永久删除只删除本机数据

永久删除只删除本机上的副本,无法删除 DSH 已经发送给 DeepSeek 的内容:

- 使用 DeepSeek 官方 API 时,DSH 默认随每次请求上传会话记录(官方插件 @deepseek-ai/dsh-session-log-deepseek)。在设置中关闭“在使用官方模型 API 时上传 Session Log”只会停止之后的上传;重新打开时,关闭期间记录的内容也会被上传。
- 发送给官方 API 的图片会作为文件上传,DSH 请求 DeepSeek 在 7 天后使其过期,但不保证远端一定删除。

本插件不发出任何网络请求,不向任何地方发送数据。

已知限制

- 本次启动中打开过的会话要到下次启动 DSH 时才真正移入回收站(插件无法安全地释放 DSH 持有的写锁);在那之前它只是被隐藏。
- 只处理会话日志目录;其他插件或功能为会话保存的附件、缓存、spill 文件不在回收站范围内(附件占用可用下方的附件库查看)。
- 依赖 DSH 0.2.x 的 JSONL 存储目录结构;DSH 大版本升级后需要重新验证。

相关插件

附件库 · dsh-plugin-attachment-library:会话回收站只处理会话记录,对话里的图片和文件附件会一直留在本机。附件库是一个只读页面(设置 → 附件库),列出所有附件占用的空间,以及哪些对话(包括回收站里的)还在使用它们,并可在访达中显示或用预览打开。两个插件同时安装时,附件库会把回收站里的对话也计入统计。

安装:在 插件 → 添加插件 中填 github:ZZZZZZZ-ZZZZZ/dsh-attachment-library#v0.4.1。

开发

pnpm install
pnpm run typecheck
pnpm test # 构建 lib/ 后运行全部测试

lib/ 随仓库提交,供从 GitHub 安装时直接使用;修改源码后请运行 pnpm run build 并一起提交 lib/。

客户端测试从 tests/vendor/ui-primitives 加载真实的 0.2.0-rc.2 界面组件(tag dsh-v0.2.0-rc.2 的 DSH 源码原样副本,MIT 许可证,见 tests/primitives-shim.ts),因为 npm 上发布的组件构建只能在 DSH 页面内运行;不需要 DSH 源码目录。测试使用 npm 上发布的 DSH 0.2.0-rc.2 包:真实 JSONL 会话存储、真实工作区注册表与 Typert 网关,会话数据全部在临时目录中生成。
预览分享卡片长什么样 ↓ZZZZZZZ-ZZZZZ/dsh-session-trash
分享 · DeepSeek Harness Hub
ZZZZZZZ-ZZZZZ/dsh-session-trash

DeepSeek Harness 会话回收站:把对话移入回收站、恢复,或二次确认后永久删除。

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部