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

会话回收站 cckbc/dsh-session-recycle-bin

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

给 DeepSeek Harness 桌面端补一个真正的「删除会话」。

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

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

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add cckbc/dsh-session-recycle-bin
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · desktop
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

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

✗npm 包@cckbc/dsh-session-recycle-bin(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 48 处,展示前 19 条)
  • 读取本地文件
    index.js:269
    return readCacheRecord(JSON.parse(readFileSync(cachePath, 'utf8'))?.record);
  • 读取本地文件
    index.js:276
    const document = JSON.parse(readFileSync(join(home, 'storages', 'session_projcache.json'), 'utf8'));
  • 读取本地文件
    index.js:297
    if (!existsSync(path)) return null;
  • 读取本地文件
    index.js:299
    const value = JSON.parse(await readFile(path, 'utf8'));
  • 写入本地文件
    index.js:314
    await writeFile(temporary, `${JSON.stringify(document, null, 2)}\n`, 'utf8');
  • 写入本地文件
    index.js:315
    await rename(temporary, path);
  • 读取本地文件
    index.js:416
    if (!existsSync(root)) return undefined;
  • 读取本地文件
    index.js:423
    workspaces = await readdir(root, { withFileTypes: true });
  • 写入本地文件
    index.js:539
    await mkdir(target, { recursive: true });
  • 写入本地文件
    index.js:544
    await rename(from, to);
  • 删除本地文件递归
    index.js:559
    await rm(from, { recursive: true, force: true }).catch(() => {});
  • 删除本地文件递归
    index.js:584
    await rm(directory, { recursive: true, force: true }).catch(() => {});
  • 写入本地文件
    index.js:740
    await rename(cachePath, target);
  • 删除本地文件
    index.js:747
    await rm(cachePath, { force: true });
  • 写入本地文件
    index.js:762
    await mkdir(dirname(target), { recursive: true });
  • 删除本地文件
    index.js:771
    await rm(source, { force: true });
  • 删除本地文件递归
    index.js:809
    await rm(directory, { recursive: true, force: true }).catch(() => {});
  • 删除本地文件递归
    index.js:995
    await rm(directory, { recursive: true, force: true });
  • 发起网络请求
    client.js:955
    const response = await fetch(ENDPOINT, {
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 删除会话进回收站
  • 还原或彻底删除
  • 支持批量删除

DSH 插件:把删掉的会话收进回收站(默认保留 15 天,可改 7/15/30),随时还原或彻底删除,支持批量删除。

README

由 DeepSeek 最新模型翻译生成
会话删除与回收站 给 DeepSeek Harness 桌面端补一个真正的「删除会话」。 应用自带的会话动作只有 置顶/重命名/分叉/归档——归档只是把会话收进归档列表,它还在。这个插件补上删除:确认后把会话移入回收站,默认保留 15 天(可在设置里改成 7 / 15 / 30 天),期间随时能在 设置 → 回收站 里还原;到期了,或者你点「彻底删除」「清空回收站」,才真的从磁盘上删掉。要一次删好几个,用侧栏工作区列表上方的批量删除按钮。 English → 界面 会话行的 … 菜单末尾多一项「删除会话」,行内悬停的垃圾桶按钮是同一个动作;要一次删好几个,用工作区列表上方那个垃圾桶按钮。两个入口并排放在一起——左边是批量那个按钮,右边是行菜单,删除会话红色在最后: 左:工作区列表上方的批量删除按钮,悬停时显示「批量删除会话」。
展开完整文档(README 剩余 1 节)
会话删除与回收站

给 DeepSeek Harness 桌面端补一个真正的「删除会话」。

应用自带的会话动作只有 置顶/重命名/分叉/归档——归档只是把会话收进归档列表,它还在。这个插件补上删除:确认后把会话移入回收站,默认保留 15 天(可在设置里改成 7 / 15 / 30 天),期间随时能在 设置 → 回收站 里还原;到期了,或者你点「彻底删除」「清空回收站」,才真的从磁盘上删掉。要一次删好几个,用侧栏工作区列表上方的批量删除按钮。

English →

界面

会话行的 … 菜单末尾多一项「删除会话」,行内悬停的垃圾桶按钮是同一个动作;要一次删好几个,用工作区列表上方那个垃圾桶按钮。两个入口并排放在一起——左边是批量那个按钮,右边是行菜单,删除会话红色在最后:

左:工作区列表上方的批量删除按钮,悬停时显示「批量删除会话」。右:打开的行菜单,删除会话是最后一项,红色

批量那个按钮点开是选择框,当前所有会话都列在里面:

批量删除的选择框:10 个里勾了 3 个,右下角是「移入回收站(3)」

两条路都会先弹确认框;勾上「下次不再提示」以后就直接进回收站,想改回来在设置页里勾:

确认框:选中的 3 个会话将移入回收站,7 天后自动彻底删除

设置 → 回收站里是一张表:会话|工作区|删除时间|剩余|[还原]|[彻底删除],另有 [清空回收站];勾上要处理的会话,还原/彻底删除的按钮就出现在表格自己的表头那一行:

设置里的回收站页,已勾选 3 个会话

保留期是整栏一个数,默认 15 天。只有新天数真的会当场带走条目时才先问一句——那些已经超过新天数的会被立刻彻底删除;没有这种条目(比如回收站是空的),选完直接生效:

展开的保留期菜单:7 / 15 / 30 天

功能

- 删除可还原:删除是一次搬家——会话日志和这个名字的缓存一起进回收站,还原时逐个放回原位,标题和工作区路径都跟着回来。
- 删掉的行立刻从侧栏消失,不需要重启应用;侧栏底部也不会多出空分组。
- 删掉正在看的那个会话时,主视图交还给同一个工作区里的新会话,不会把你留在一个已经不存在的会话上。
- 三个入口:行菜单、行内悬停按钮、工作区列表上方的批量按钮,问的是同一句;这句话可以关掉,也随时能勾回来。
- 批量从头管到尾:勾几个都行,一次删掉;回收站里也能按勾选成批还原或成批彻底删除。
- 中英双语,跟随应用语言。
- 提示不撒谎:只有应用真的把这一行列回来了,还原的提示才说「已重新出现在列表中」;列不回来就如实说「重启应用后会回到列表」。

安装

需要 DeepSeek Harness 桌面端(desktop profile)。本插件按 0.2.0-rc.2 写的,在 0.2.1-rc.2(Electron 44,Windows)上跑过,其他版本没验过。

让智能体帮你装

直接在 DSH 里对它说:

帮我装这个插件:github:cckbc/dsh-session-recycle-bin

它会用插件管理工具装好,缺权限时会在对话里向你申请。

从插件页面装

1. 侧栏打开 插件,点 添加插件;
2. 填源码的 Git 地址 github:cckbc/dsh-session-recycle-bin;
3. 点 安装 → 立即启用(新装的插件默认是关着的),然后完全退出应用再打开。

用命令装(CLI / Web profile)

dsh plugin --profile web add github:cckbc/dsh-session-recycle-bin
锁定版本更安全:dsh plugin --profile web add github:cckbc/dsh-session-recycle-bin#<commit-sha>

桌面端(desktop profile)不能用命令行装——它的 profile 由应用自己管理,请用上面的插件页面。

填本地目录

git clone https://github.com/cckbc/dsh-session-recycle-bin.git

clone 到哪个目录都行(挑一个长期保留的位置),然后在 插件 → 添加插件 里填那个目录的绝对路径。

目录要留着。 本地路径安装是一条 link: 依赖,profile 里的 node_modules/@cckbc/dsh-session-recycle-bin 指向它;移动或删除目录,插件就失效了。

升级与卸载

应用自己的说明是:插件没有自动更新,升级要先卸载再安装新版。本地目录那种方式例外:git pull 之后重启应用就够了。

卸载:插件页里禁用/移除;回收站里的文件在 <DSH_HOME>/dsh-trash/,卸载不会替你清掉。

注意与短板

- 它不是应用自带的功能,是"贴着"应用做的:应用里既没有"删除会话",也没有给插件用的删除接口。插件能删掉一行、又能把它放回来,靠的是直接去改应用内部记的几样东西——这个会话算在哪个工作区、侧栏那份会话清单、设置页左侧的导航。这些 DeepSeek 都没对外公开,也没承诺不变,所以 Harness 升级后插件可能就失效,最坏情况是点删除/还原报错或没反应(会话日志还在磁盘上,不会丢)。
- 「彻底删除」和「清空回收站」是真删:不进系统回收站,也不可撤销。重要会话请自己先留一份备份。
- 不清理派生数据:会话的附件(<DSH_HOME>/attachments)、AgentTeams 的工作目录等不在回收站范围内。
- DSH 自己会在 %TEMP% 里留一堆 dsh- 目录——其中 dsh-workspace-changes- 是「本轮改动了哪些文件」那张卡片的快照库。正常退出会删掉;强杀进程、崩溃、直接关机不会,启动时也没有清扫,于是越攒越多(一个可能几百 MB 起,因为第一次快照会把那个工作区里所有未跟踪的文件整份复制进去)。本插件不碰它们:想回收空间,从托盘菜单退出 DSH(不是点窗口右上角关闭),再把 %TEMP% 里的 dsh-* 删掉。丢的只是旧会话的改动对比,聊天记录不受影响。给那个工作区加个 .gitignore 挡住大文件,以后它们就不会长这么大。
- 有一类会话例外:日志里没记下工作目录的冷会话,应用自己的清单会跳过它,还原后重启也一样不显示——提示会如实说明。
- 还原不恢复置顶/归档状态;保留期默认 15 天,可在设置 → 回收站里改成 7 / 15 / 30 天:这是整栏一个数,改完回收站里每条的到期时间都按它重算(从各自的删除时间起)。改小的时候,如果确实有条目会因此当场被彻底删除,插件才会先问一句;没有就直接改。
- 应用内存里那份清单要下次启动才重建:侧栏那一行由插件自己的隐藏名单负责,磁盘上的 workspace.json 已经改好,但正在运行的应用还记着旧的。
- 只在 Windows + 0.2.1-rc.2 上验证过:macOS / Linux、其他 Harness 版本都没验过。
- 同一个 id 只搬第一处:删除时插件在 <DSH_HOME>/sessions/ 下找「哪个工作区目录里有这个 id」,找到第一个就搬走它;万一同一个 id 在两个工作区目录里都有(异常状态,比如手动复制过目录),另一个目录原样不动。工作区账目里的 id 会从所有工作区摘掉,免得重启后冒出幽灵行。

许可证

MIT。
预览分享卡片长什么样 ↓cckbc/dsh-session-recycle-bin
分享 · DeepSeek Harness Hub
cckbc/dsh-session-recycle-bin

给 DeepSeek Harness 桌面端补一个真正的「删除会话」。

回到顶部