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

会话彻底删除 wwwyxsuper/dsh-session-purge

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

从已归档列表彻底删除会话及其日志缓存

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.1-rc.5 下真实安装成功,但当前 dsh 已更新至 0.2.2-rc.1,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/11/05·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/05·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 33 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 20 处,展示前 16 条)
  • 读取本地文件
    lib/index.js:53
    if (existsSync(join(candidate, 'sessions'))) return resolve(candidate)
  • 读取本地文件
    lib/index.js:61
    return await readdir(path)
  • 读取本地文件
    lib/index.js:69
    return await stat(path)
  • 读取本地文件
    lib/index.js:79
    if (existsSync(dir)) return true
  • 读取本地文件
    lib/index.js:126
    const parsed = JSON.parse(await readFile(path, 'utf8'))
  • 读取本地文件
    lib/index.js:137
    return { path, json: JSON.parse(await readFile(path, 'utf8')) }
  • 写入本地文件
    lib/index.js:188
    await writeFile(backup, JSON.stringify(registry.json, null, 2) + '\n', 'utf8')
  • 写入本地文件
    lib/index.js:190
    await writeFile(temporary, JSON.stringify(json, null, 2) + '\n', 'utf8')
  • 写入本地文件
    lib/index.js:191
    await rename(temporary, registry.path)
  • 写入本地文件
    lib/index.js:224
    await appendFile(join(home, 'session-purge.log'), `${new Date().toISOString()} ${line}\n`, 'utf8')
  • 删除本地文件递归
    lib/index.js:368
    await rm(target.dir, { recursive: true, force: true })
  • 删除本地文件
    lib/index.js:373
    await rm(projectionPath, { force: true })
  • 删除本地文件递归
    lib/index.js:456
    await rm(target.dir, { recursive: true, force: true })
  • 删除本地文件
    lib/index.js:461
    await rm(projectionPath, { force: true })
  • 发起网络请求
    lib/client.js:83
    .fetch(API + "/state", { headers: { "x-dsh-session-purge": token() } })
  • 发起网络请求
    lib/client.js:122
    .fetch(API + "/delete", {
扫描于 2026/11/5(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 彻底删除已归档会话
  • 清理日志与投影缓存
  • 移除工作区登记

DSH 插件:在侧栏「已归档」会话的 ⋯ 菜单里彻底删除会话(日志、投影缓存、工作区登记;二次确认;五道安全闸门)。

README

由 DeepSeek 最新模型翻译生成
dsh-session-purge 彻底删除一个 DSH 会话(DSH 自身只提供「归档 / 取消归档」)。 会话日志是只追加的、持久化接缝没有删除接口、工作区登记表也只删登记不删会话 —— 本插件补上这个缺口。 它提供什么 1. 两个 Agent 工具(宿主端) | 工具 | 作用 | | session_purge_list | 列出磁盘上全部会话:标题、字节数、最后修改时间、是否已归档 / 是否有活 Agent / 是否是当前会话(只读,删除前确认目标用) | | session_purge_delete | 删除一个会话,需要 confirm: true;可选 allow_unarchived / allow_live / prune_registry | 2. 界面入口(客户端半边,v0.2.0 起) 在侧栏会话行上追加一处(纯追加,不覆盖任何内置项,replaceRisk: none): | 席位 | 表现 | | sidebar.workspaces.session.menu.item | 会话行 ⋯ 菜单里多一行「彻底删除」(带一条分隔线,排在"取消归档"下面) | 早期版本还用了 sidebar.workspaces.session.row.action(会话行右侧悬浮按钮),用户反馈"占地方、不好看",已按要求移除,只保留菜单里那一行。
展开完整文档(README 剩余 1 节)
dsh-session-purge

彻底删除一个 DSH 会话(DSH 自身只提供「归档 / 取消归档」)。

会话日志是只追加的、持久化接缝没有删除接口、工作区登记表也只删登记不删会话 —— 本插件补上这个缺口。

它提供什么

1. 两个 Agent 工具(宿主端)

| 工具 | 作用 |
| session_purge_list | 列出磁盘上全部会话:标题、字节数、最后修改时间、是否已归档 / 是否有活 Agent / 是否是当前会话(只读,删除前确认目标用) |
| session_purge_delete | 删除一个会话,需要 confirm: true;可选 allow_unarchived / allow_live / prune_registry |

2. 界面入口(客户端半边,v0.2.0 起)

在侧栏会话行上追加一处(纯追加,不覆盖任何内置项,replaceRisk: none):

| 席位 | 表现 |
| sidebar.workspaces.session.menu.item | 会话行 ⋯ 菜单里多一行「彻底删除」(带一条分隔线,排在"取消归档"下面) |

早期版本还用了 sidebar.workspaces.session.row.action(会话行右侧悬浮按钮),用户反馈"占地方、不好看",已按要求移除,只保留菜单里那一行。

只对「已归档」的会话渲染;「是否已归档」由宿主端回答(GET /api/dsh-session-purge/state),客户端不猜快照结构。

删除不可恢复,所以要连点两次:第一次把按钮变成「确认删除?」(4 秒内有效),第二次才真正执行。
(不用系统弹窗,因为 Electron 渲染进程可能禁用 window.confirm。)

删除动作会做什么

一次清干净三处状态:

1. <DSH_HOME>/sessions/<工作区>/<会话 id>/ —— 会话日志本体
2. <DSH_HOME>/storages/session_projcache/sessions/<会话 id>.json —— 投影缓存(标题在这里)
3. <DSH_HOME>/storages/workspace.json —— 登记表里的 id(先写 .bak-<时间戳> 备份再原子替换)

另外写审计日志 <DSH_HOME>/session-purge.log。

安全闸门

| # | 闸门 |
| 1 | 界面入口只对已归档的会话显示(工具侧未归档需显式 allow_unarchived: true) |
| 2 | 拒绝删除当前正在对话的会话(self-destruct) |
| 3 | 拒绝删除仍有活 Agent 的会话(内存里还在跑,删了会被 flush 写回) |
| 4 | 界面删除后再复查一次文件是否被写回(resurrected),写回则明确提示 |
| 5 | 界面操作需连点两次确认;HTTP 路由要求每次启动随机生成的令牌(经 tapIndex 注入页面) |

HTTP 路由(仅供本插件客户端半边使用)

| 方法 | 路径 | 说明 |
| GET | /api/dsh-session-purge/state | 返回 { ok, archived: [sessionId…] } |
| POST | /api/dsh-session-purge/delete | body { sessionId, confirm: true } |

两者都必须带请求头 x-dsh-session-purge: <token>(令牌每次宿主启动重新生成)。
路由只挂在 DSH 自己的本机 Web 服务上,不额外监听端口。

安装 / 更新

它作为 file: 依赖装在 profile 里(复制,不是链接)。改完源码必须重新复制 + 重启 DSH:

1) 把包复制进 profile(覆盖旧副本) $src = '<本目录>' $dst = "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-session-purge" robocopy $src $dst /MIR /XD node_modules
2) 重启 DSH(客户端半边不热生效)

卸载 / 回退

从 profile 的 package.json 依赖与 dsh.profile.bundles 里移除 dsh-session-purge,删掉 node_modules\dsh-session-purge,重启 DSH。菜单项与悬浮按钮随之消失,其他一切不变。

⚠️ 删除过的会话无法恢复 —— 这是本插件唯一不可逆的部分,故有二次确认。
附件目录($DSH_HOME/attachments/v1)是内容寻址、可能被多个会话共用,刻意不触碰。

已知行为

- 删除后侧栏可能仍显示该会话(登记表由 storage 服务缓存)→ 界面在成功后 900ms 自动刷新页面。
- 若界面删除返回「仍有活 Agent」,把它从侧栏移出(或重启 DSH)再删即可。
- 不要用界面去删你正在看的那个会话:归档列表与当前会话通常不同,但若你确实正在看它,删完刷新即可。

以后想上架到插件市场(2026-10-03 查证,未执行)

上架路径(dshmarket 自己的 README 写明):

1. 建仓库 + 把 lib/ 产物提交进 git(GitHub tarball 安装直接取仓库内容,没有 lib/ 装不上)+ MIT LICENSE + 中英双语 README + topics dsh / deepseek-harness / plugin
2. 发布到 npm(市场条目带 npm 映射)
3. 去 awesome-dsh-plugin/awesome-dsh-plugin 提一条 PR(列表里加一行;网站与市场一天内自动收录)。不要往 dsh-market/dsh-market 提插件条目。

⚠️ 已有一处冲突:npm 包名 dsh-session-purge 已被占用(维护者 verdana,0.4.1 ~ 0.4.4,2026-09-25 起),功能高度重合。
差异化点:对方 README 自己写着"已归档的会话在侧边栏里看不到,菜单自然也点不到,想删先取消归档"——而本插件专门只对「已归档」会话显示,正好补这个缺口。上架前需换一个不冲突的包名(或 scoped 包)。

本机现状:git 未安装(VS Code 有,但不带 git 二进制);本机可连通 github.com:443,但 DSH 沙箱内的 shell 出站 HTTPS 被拦(curl 返回 000,PowerShell 报"基础连接已关闭")→ 下载/推送这类联网动作需要在 DSH 之外的终端里做。
预览分享卡片长什么样 ↓wwwyxsuper/dsh-session-purge
分享 · DeepSeek Harness Hub
wwwyxsuper/dsh-session-purge

从已归档列表彻底删除会话及其日志缓存

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