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

暴力删除 bingzhu44-blip/brutal-monkey

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

永久清除会话磁盘数据,跨工作区批量删除不可恢复

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 11 处,展示前 11 条)
  • 删除本地文件递归
    lib/index.js:125
    await rm(dir, { recursive: true, force: true })
  • 删除本地文件递归
    lib/index.js:132
    await rm(join(home, 'attachments', target), { recursive: true, force: true })
  • 删除本地文件递归
    lib/index.js:364
    await rm(join(projRoot, `${target}.json${suffix}`), { recursive: true, force: true })
  • 读取本地文件
    lib/index.js:373
    entries = await readdir(projRoot, { withFileTypes: true })
  • 删除本地文件递归
    lib/index.js:380
    await rm(join(projRoot, entry.name), { recursive: true, force: true })
  • 读取本地文件
    lib/index.js:390
    profiles = await readdir(profileRoot, { withFileTypes: true })
  • 读取本地文件
    lib/index.js:399
    entries = await readdir(profileDir, { withFileTypes: true })
  • 删除本地文件递归
    lib/index.js:406
    await rm(join(profileDir, entry.name), { recursive: true, force: true })
  • 读取本地文件
    lib/index.js:427
    entries = await readdir(root, { withFileTypes: true })
  • 读取本地文件
    lib/index.js:435
    if ((await stat(candidate)).isDirectory()) found.push(candidate)
  • 发起网络请求
    lib/client.js:115
    const response = await fetch(endpoint(), {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH会话暴力删除插件:单条 / 跨工作区批量永久删除,清理磁盘日志、投影缓存、附件与子会话,不可恢复。

README

由 DeepSeek 最新模型翻译生成
dsh暴力删除 DeepSeek Harness 插件:永久删除会话的磁盘数据,不可恢复。 插件:dsh暴力删除 · 仓库:bingzhu44-blip/brutal-monkey(暴力猴) · npm 包:dsh-brutal-delete DSH 自带的「归档」只是把会话行藏起来,对话记录、投影缓存、附件全都原样留在硬盘上。 这个插件做的是真删除——把该会话在三处留下的所有东西一次性清空,删完没有任何残留。 为什么需要它 | | DSH 自带「归档」 | dsh暴力删除 | | 侧栏不再显示 | ✅ | ✅ | | 对话记录(session.v4.jsonl.zstd) | ❌ 仍占磁盘 | ✅ 删除 | | 投影缓存(session_projcache) | ❌ 仍保留 | ✅ 删除 | | 工作区归属记录(workspace.json) | ❌ 仍占槽位 | ✅ 解绑 | | 附件目录(attachments/) | ❌ 仍保留 | ✅ 删除 | | 子会话(subagent) | ❌ 仍保留 | ✅ 一并清理 | | 可恢复 | ✅ | ❌ 不可恢复 | 功能 1. 单条删除 侧栏任意会话行的「⋯」菜单里多出一项 「删除会话」,位置在「归档会话」与「复制 session id」之间(order: 425)。
展开完整文档(README 剩余 1 节)
dsh暴力删除

DeepSeek Harness 插件:永久删除会话的磁盘数据,不可恢复。

插件:dsh暴力删除 · 仓库:bingzhu44-blip/brutal-monkey(暴力猴) · npm 包:dsh-brutal-delete

DSH 自带的「归档」只是把会话行藏起来,对话记录、投影缓存、附件全都原样留在硬盘上。
这个插件做的是真删除——把该会话在三处留下的所有东西一次性清空,删完没有任何残留。

为什么需要它

| | DSH 自带「归档」 | dsh暴力删除 |
| 侧栏不再显示 | ✅ | ✅ |
| 对话记录(session.v4.jsonl.zstd) | ❌ 仍占磁盘 | ✅ 删除 |
| 投影缓存(session_projcache) | ❌ 仍保留 | ✅ 删除 |
| 工作区归属记录(workspace.json) | ❌ 仍占槽位 | ✅ 解绑 |
| 附件目录(attachments/) | ❌ 仍保留 | ✅ 删除 |
| 子会话(subagent) | ❌ 仍保留 | ✅ 一并清理 |
| 可恢复 | ✅ | ❌ 不可恢复 |

功能

1. 单条删除

侧栏任意会话行的「⋯」菜单里多出一项 「删除会话」,位置在「归档会话」与「复制 session id」之间(order: 425)。

点击后弹出确认框,显示会话标题并明确告知不可撤销;确认即从磁盘彻底删除。

2. 跨工作区批量删除

单条确认框里,「永久删除」右侧新增 「批量删除」 按钮。点击后进入批量选择模式:

- 每条非归档会话名称左侧出现白色空心圆点
- 点击圆点(或整行)选中 / 取消选中,选中后圆点变实心
- 侧栏左下角出现三个按钮:全选 · 删除 (N) · 退出

3. 全选与快捷删除

批量模式下支持键盘操作:

| 快捷键 | 作用 |
| Ctrl + A | 全选 / 取消全选 |
| Delete | 快速删除(弹确认框) |
| Backspace | 同上,兼容 Mac 与笔记本键盘 |
| Esc | 退出批量模式 |

插件自身的输入控件内不触发,不会干扰正常打字。批量模式下聊天输入框不再抢占快捷键,焦点停在哪里都能生效。底部三个按钮也各自带有 title 提示快捷键。

全选覆盖所有工作区的会话——一次勾选、一次删完,不必逐个工作区切换。

4. 删除正在使用的会话

DSH 自身没有删除接口,插件自己实现了安全删除流程。正在打开 / 运行中的会话同样可以删:

Windows 上 JSONL 后端的写所有权锁是命名内核信号量,不是文件句柄,所以日志目录可以自由删除。删除前插件会:

1. 尽力停掉常驻 Agent(cancel + whenIdle,最长等 5 秒)
2. 强制 flush 写缓冲,避免它向已删目录继续追加
3. 再执行删除

5. 删除顺序

确认后宿主端依次执行:

1. 移除归档 / 置顶标记
2. 从工作区归属列表(workspace.json 的 sessionIds)解绑
3. 删除投影缓存记录(storages/session_projcache/sessions/<id>.json)
4. 删除会话日志目录 sessions/<编码工作区>/<id>/ 与 attachments/<id>
5. 广播 api-session/removed,打开页面的列表行随之消失

子会话(subagent)在缓存可读时一并清理。

安装

方式一:插件市场(推荐)

在 DSH 插件市场中搜索 暴力删除 或 dsh-brutal-delete,一键安装。

方式二:命令行

dsh plugin --profile desktop add dsh-brutal-delete

方式三:本地开发

在本目录执行,然后在 %DSH_HOME%\profiles\desktop\package.json 里声明依赖:

"dependencies": { "dsh-brutal-delete": "link:D:\\path\\to\\dsh-brutal-delete" }

并在 %DSH_HOME%\profiles\desktop\cordis.patch.yml 加入加载入口(profile 补丁层受 HMR 监视,改完即刻生效):

- insert:
- id: dsh-brutal-delete
name: dsh-brutal-delete

node_modules\dsh-brutal-delete 需指向本目录(junction 或 pnpm install 生成的链接)。

本包自带 cordis.patch.yml,也可以把 dsh-brutal-delete 加进 dsh.profile.bundles 用 bundle 机制加载。二选一,不要与上面的 profile 补丁条目同时启用,否则同一 id 会被插入两次。

安装完成后刷新页面(或重启 DSH)。

卸载

dsh plugin --profile desktop remove dsh-brutal-delete

手动安装的用户:从 profile package.json 移除该依赖、从 cordis.patch.yml 删掉上面的 insert 条目、删除 node_modules\dsh-brutal-delete 链接,然后刷新或重启。

卸载插件不会恢复任何已删除的会话。

接口

POST /dsh-brutal-delete/delete,body { "sessionId": "session-…" }。
同源校验由 ctx.connection.requestRejection 完成。

| 状态 | code | 含义 |
| 400 | invalid-id / invalid-body | 非法 id 或 JSON |
| 403 | forbidden | 非同源请求被拒 |
| 404 | not-found | 会话不存在 |
| 500 | delete-failed | 列表已移除但文件删除失败 |

请求体上限 64 KB,单会话静默等待上限 5 秒。

安全说明

- 路由要求同源,第三方页面无法触发删除
- session id 严格校验 UUID 格式,不接受任意路径
- 所有破坏性操作前都有确认框,且明确标注不可撤销
- 删除过程分步、每步独立容错:单个文件失败不会中断整体流程,失败项会在结果框中列出

⚠️ 这是一把真刀。 删除即彻底清除,没有回收站、没有备份、无法撤销。
归档会话与空白占位行不参与批量选择,避免误删。

兼容性

- DSH Desktop(Web UI),客户端 platform: web
- 依赖 @deepseek-ai/dsh-client-ui-slots、dsh-api-session-controller、dsh-api-workspace-controller
- 宿主端注入 webServer、connection、workspaceRegistry、sessionProjectionCache、sessions、agents、sessionPersistence

License

MIT
预览分享卡片长什么样 ↓bingzhu44-blip/brutal-monkey
分享 · DeepSeek Harness Hub
bingzhu44-blip/brutal-monkey

永久清除会话磁盘数据,跨工作区批量删除不可恢复

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