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

会话删除 Yicijiuhaobala/dsh-session-delete

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

从会话菜单永久删除磁盘上的会话记录

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

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

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

状态速览

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

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

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

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

读写/删除本地文件
查看扫描证据(共 5 处,展示前 5 条)
  • 读取本地文件
    lib/index.js:93
    const parsed = JSON.parse(await readFile(PENDING_PATH, 'utf8'));
  • 写入本地文件
    lib/index.js:105
    await mkdir(dirname(PENDING_PATH), { recursive: true });
  • 写入本地文件
    lib/index.js:107
    await writeFile(tmp, `${JSON.stringify({ pending: ids }, null, 2)}\n`, 'utf8');
  • 写入本地文件
    lib/index.js:108
    await rename(tmp, PENDING_PATH);
  • 删除本地文件递归
    lib/index.js:157
    await rm(dir, { recursive: true, force: true });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 永久删除磁盘会话记录
  • 会话菜单添加入口
  • 活动会话保护

在 DSH 会话行上下文菜单中添加“删除会话”项(位于重命名/复刻/归档旁边)——从磁盘永久删除会话日志,并带有活动会话保护。

README

由 DeepSeek 最新模型翻译生成
dsh-session-delete 一个 DeepSeek Harness (DSH) 插件:给会话行菜单增加「删除会话」项(与重命名 / 分叉会话 / 归档会话 并列),永久删除所选会话的全部磁盘记录(~/.dsh/sessions/...//)。 上游 DSH 对会话只有「重命名 / 分叉 / 归档」——归档只是隐藏,数据永远留在磁盘上。这个插件补上真正的删除。 入口 会话行菜单:鼠标悬停任意会话行 → 点 ⋯ → 「删除会话」(红色危险样式,与工作区菜单的删除按钮同款)。确认弹窗两步操作。 v0.3.0 起移除了侧边栏底部的删除面板,只保留菜单入口。已归档的会话不再出现在侧边栏,如需删除归档会话,可从 ~/.dsh/storages/workspace.json 的 archivedSessionIds 里移出使其重新显示,或直接删 ~/.dsh/sessions/// 目录。 技术要点(菜单注入) 上游会话菜单项硬编码在 dsh-client-ui-workspace 里、没有扩展插槽;所有共享 UI 原语(primitives)种子模块被 Object.freeze 冻结,组件级猴子补丁赋值会静默失败。
展开完整文档(README 剩余 1 节)
dsh-session-delete

一个 DeepSeek Harness (DSH) 插件:给会话行菜单增加「删除会话」项(与重命名 / 分叉会话 / 归档会话 并列),永久删除所选会话的全部磁盘记录(~/.dsh/sessions/...//)。

上游 DSH 对会话只有「重命名 / 分叉 / 归档」——归档只是隐藏,数据永远留在磁盘上。这个插件补上真正的删除。

入口

会话行菜单:鼠标悬停任意会话行 → 点 ⋯ → 「删除会话」(红色危险样式,与工作区菜单的删除按钮同款)。确认弹窗两步操作。

v0.3.0 起移除了侧边栏底部的删除面板,只保留菜单入口。已归档的会话不再出现在侧边栏,如需删除归档会话,可从 ~/.dsh/storages/workspace.json 的 archivedSessionIds 里移出使其重新显示,或直接删 ~/.dsh/sessions/// 目录。

技术要点(菜单注入)

上游会话菜单项硬编码在 dsh-client-ui-workspace 里、没有扩展插槽;所有共享 UI 原语(primitives)种子模块被 Object.freeze 冻结,组件级猴子补丁赋值会静默失败。因此 v0.2.1 改为 DOM 级注入:

- 捕获阶段 document click 监听:点会话行的 ⋯ 按钮时,沿 React fiber 上溯到 SessionNodeItem 的 node prop 捕获会话 id(失败时退回 aria-label 标题匹配);
- MutationObserver 监听 body:当挂载的 div[role=menu] 恰好是「重命名/分叉会话/归档会话」三项时,克隆最后一项的 DOM 结构,替换图标与文案为「删除会话」并染成危险红,追加进菜单;
- 点击该项:派发 Escape 关闭上游菜单,再用独立的 createRoot 渲染确认弹窗(不依赖任何冻结模块);
- 卸载/热更新时移除监听、观察器与注入的 DOM 节点。

安全设计

- 运行中或当前打开的会话禁止删除(前端禁用 + Host 侧二次校验)
- 只删除 sessionPersistence.locate() 定位到的会话日志目录,并校验目录名必须严格等于会话 ID(杜绝路径逃逸)
- HTTP 路由仅接受同源 POST 请求
- 两步确认(删除 → 红色确认按钮)后才执行
- 删除后自动归档,侧边栏即时隐藏该行

安装

从 GitHub 仓库安装
dsh plugin --profile web add github:/dsh-session-delete

或从 Release 预构建 tarball 安装(免构建授权)
dsh plugin --profile web add

或本地开发
dsh plugin --profile web add file:$HOME/Documents/dsh-session-delete

装完把 "dsh-session-delete" 加进 ~/.dsh/profiles/web/package.json 的 dsh.profile.bundles 数组,重启 dsh web。

本地开发注意:pnpm 对 file: 依赖是复制/硬链接部署——改完源码后需要把 client/client.js、lib/index.js 等文件同步到 ~/.dsh/profiles/web/node_modules/dsh-session-delete/(或重跑 pnpm install), HMR 会在下一次轮询时热更新浏览器端插件。

结构

- lib/index.js — Host 半:注册 /session-delete/delete POST 路由,执行删除
- client/client.js — 浏览器半:会话行菜单注入 + 确认弹窗(React,无 JSX)
- cordis.patch.yml — bundle 补丁,把插件行插入 profile 合成树

MIT License.
预览分享卡片长什么样 ↓Yicijiuhaobala/dsh-session-delete
分享 · DeepSeek Harness Hub
Yicijiuhaobala/dsh-session-delete

从会话菜单永久删除磁盘上的会话记录

这是你的仓库?认领条目

回到顶部