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

会话删除撤销 yinvoke/dsh-plugin-session-delete

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

在会话菜单删除对话,五秒内可撤销恢复

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

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

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

状态速览

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

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
  • 写入本地文件
    lib/index.js:106
    await mkdir(dirname(e.originalPath), { recursive: true });
  • 写入本地文件
    lib/index.js:107
    await rename(e.trashPath, e.originalPath);
  • 删除本地文件递归
    lib/index.js:123
    await rm(e.trashPath, { recursive: true, force: true });
  • 写入本地文件
    lib/index.js:142
    await mkdir(trash, { recursive: true, mode: 0o700 });
  • 读取本地文件
    lib/index.js:143
    for (const file of await readdir(trash)) {
  • 读取本地文件
    lib/index.js:146
    const e = JSON.parse(await readFile(join(trash, file), "utf8"));
  • 写入本地文件
    lib/index.js:291
    await rename(originalPath, e.trashPath);
  • 写入本地文件
    lib/index.js:448
    await rename(temp, path);
  • 删除本地文件
    lib/index.js:450
    await rm(temp, { force: true });
  • 读取本地文件
    lib/index.js:463
    await lstat(path);
  • 读取本地文件
    lib/index.js:473
    entries = await readdir(root, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:482
    const info = await lstat(path);
  • 发起网络请求
    lib/client.js:111
    response = await fetch(path, {
  • 发起网络请求
    lib/client.js:575
    store.request(sessionId, title);
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 会话删除插件,带五秒恢复窗口

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-session-delete English · MIT 许可证 为 DeepSeek Harness(DSH)Web GUI 的会话行菜单增加 删除会话,包含确认弹窗及 5 秒恢复窗口。 0.1.0 为实验版本。 这是独立插件,不修改 DSH 内置的归档功能。恢复期限结束后会永久删除日志,请先备份重要对话。 截图 会话行「⋯」菜单里的 删除会话: 会话菜单中的删除会话 确认弹窗,标题与会话名分开展示;勾选确认前删除按钮为禁用态: 删除会话确认弹窗 删除后右下角的恢复提示,5 秒内可撤销: 右下角五秒恢复提示 功能 - 会话菜单中的红色「删除会话」操作。 - 展示会话名称、要求勾选确认的弹窗。 - 宿主接受删除后,会话立即从列表移除。 - 右下角提供恢复按钮,连续倒计时进度条使用 DSH 外观主题变量。 - 由宿主执行的 5 秒恢复期限,配合磁盘临时存储、原子恢复日志和重启恢复机制。 - 使用操作 token、状态查询和幂等重试处理删除与恢复。 - 拒绝删除有活动任务的会话,移动日志前安全释放已捕获的空闲 agent 生命周期句柄。 安装 lib 中直接提供可读 JavaScript,无需构建。当前 manifest 面向 DSH 0.2.1-rc.3 或更新版本,但未验证每个后续版本的兼容性。
展开完整文档(README 剩余 1 节)
dsh-plugin-session-delete

English · MIT 许可证

为 DeepSeek Harness(DSH)Web GUI 的会话行菜单增加 删除会话,包含确认弹窗及 5 秒恢复窗口。

0.1.0 为实验版本。 这是独立插件,不修改 DSH 内置的归档功能。恢复期限结束后会永久删除日志,请先备份重要对话。

截图

会话行「⋯」菜单里的 删除会话:

会话菜单中的删除会话

确认弹窗,标题与会话名分开展示;勾选确认前删除按钮为禁用态:

删除会话确认弹窗

删除后右下角的恢复提示,5 秒内可撤销:

右下角五秒恢复提示

功能

- 会话菜单中的红色「删除会话」操作。
- 展示会话名称、要求勾选确认的弹窗。
- 宿主接受删除后,会话立即从列表移除。
- 右下角提供恢复按钮,连续倒计时进度条使用 DSH 外观主题变量。
- 由宿主执行的 5 秒恢复期限,配合磁盘临时存储、原子恢复日志和重启恢复机制。
- 使用操作 token、状态查询和幂等重试处理删除与恢复。
- 拒绝删除有活动任务的会话,移动日志前安全释放已捕获的空闲 agent 生命周期句柄。

安装

lib 中直接提供可读 JavaScript,无需构建。当前 manifest 面向 DSH 0.2.1-rc.3 或更新版本,但未验证每个后续版本的兼容性。

桌面版或托管 profile:使用 GUI

打开 设置 → 插件 → 安装,输入 GitHub Release 安装包地址:

https://github.com/yinvoke/dsh-plugin-session-delete/releases/latest/download/dsh-plugin-session-delete.tgz

也可以先克隆仓库,再在插件安装界面选择本地克隆目录:

git clone https://github.com/yinvoke/dsh-plugin-session-delete.git

通过 GUI 安装并启用 bundle 后,完全退出 DSH 并重新打开。不要使用独立 profile CLI 管理由 Electron 应用托管的 desktop profile。

CLI 管理的 profile

先停止目标 profile,将 <profile> 替换为实际的 CLI 托管 profile 名称:

dsh plugin --profile <profile> add github:yinvoke/dsh-plugin-session-delete

安装依赖并不等于加载插件。还需在该 profile 的 package manifest 中,将 dsh-plugin-session-delete 追加到已有的 dsh.profile.bundles 数组,保留原来的条目:

{
"dsh": {
"profile": {
"bundles": ["your-existing-bundle", "dsh-plugin-session-delete"]
}
}
}

这只是配置片段,不要用它覆盖完整 manifest。随后重启 profile。本地开发时可将 GitHub 安装参数替换为 add link:<checkout-directory>,bundle 名称不变。

使用

1. 在会话行的 ⋯ 菜单选择 删除会话。
2. 勾选确认并提交。
3. 宿主把日志移入临时存储,并移除工作区成员记录。
4. 在右下角 5 秒内点击 恢复,恢复日志及可恢复的工作区顺序、置顶和归档状态。
5. 期限结束后,宿主永久清理临时日志目录。

实际期限由宿主控制,不取决于动画。刷新页面不会取消删除;如果整个宿主退出,到期临时记录会在插件下次启动时继续处理。清理失败会重试;恢复事务失败会保留数据以便处理,不会静默永久清理。

安全与边界

- 客户端同时只支持一个删除/恢复窗口,请先完成当前操作,再删除其他会话。
- 运行时开发环境为 macOS 单进程;其他平台以及完整桌面端到端行为尚未验证。
- 仅支持本机单进程使用。 路由仅接受回环请求,并拒绝外来浏览器 Origin。远程/配对客户端以及多个 DSH 进程共用同一存储不在支持范围。
- 安装或更新后须重启。 只有插件已捕获生命周期句柄的空闲 agent 才能安全释放。如果会话在插件加载前已处于 live 状态,即使空闲也可能被拒绝;请完全退出并重开 DSH,而非仅刷新页面。
- 进行中的回合、子代理、后台任务或定时提醒可能阻止删除。请先停止相关活动。
- 只清理选中会话自己的日志目录。不会递归清理项目文件、共享附件及独立的子代理/分叉日志。这不是完整的隐私数据擦除工具。
- 临时数据位于 <DSH_HOME>/session-delete-trash,DSH 默认 home 为 ~/.dsh。清理后可能保留恢复 manifest;为防止迟到任务重新激活已删除会话,会有意保留 archive ID tombstone。这些属于元数据,不是被删除的对话正文。
- 没有永久回收站,正常恢复期限为 5 秒。存储错误或事务中断可能留下需要人工处理的恢复数据。
- 插件依赖 DSH 生命周期及主题接口,并通过拦截 agent factory 的创建/恢复方法保留 disposal 句柄;DSH 更新可能影响兼容性。

开发与验证

本地检查与 CI 使用 Node.js 24:

node --check lib/index.js
node --check lib/client.js
npm test

宿主测试使用临时存储,客户端测试模拟模块加载器及组件接线。这些测试不是实际运行中 DSH 桌面应用的完整端到端验证。 请在目标 DSH 版本中用可丢弃会话手动验证,再用于重要对话。

发布与 awesome 列表提交流程见 发布说明。npm 发布是可选项,本次没有 npm 发布计划。

卸载

托管 profile 请在 GUI 中禁用或移除插件。CLI 管理的 profile 应先停止运行,从 dsh.profile.bundles 移除插件名称,再执行:

dsh plugin --profile <profile> remove dsh-plugin-session-delete

随后重启。卸载前先完成或恢复待删除操作;移除插件会暂停它的清理 worker,直到再次加载。卸载不能恢复已永久清理的对话。

许可证

MIT,copyright 2026 yinvoke。
预览分享卡片长什么样 ↓yinvoke/dsh-plugin-session-delete
分享 · DeepSeek Harness Hub
yinvoke/dsh-plugin-session-delete

在会话菜单删除对话,五秒内可撤销恢复

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