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

会话永久删除 qiaozheng9/dsh-delete-session

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

彻底删除对话及其子代理数据,不可恢复

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成

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

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 30 处,展示前 26 条)
  • 读取本地文件
    src/bridge.ts:14
    if (!existsSync(journalRoot)) return;
  • 读取本地文件
    src/bridge.ts:15
    if (lstatSync(journalRoot).isSymbolicLink()) throw new Error('Refusing linked deletion journal');
  • 读取本地文件
    src/bridge.ts:17
    if(existsSync(completed)) {
  • 读取本地文件
    src/bridge.ts:18
    if(lstatSync(completed).isSymbolicLink())throw new Error('Refusing linked deletion receipt');
  • 读取本地文件
    src/bridge.ts:19
    const ids=JSON.parse(readFileSync(completed,'utf8'));
  • 读取本地文件
    src/bridge.ts:23
    for (const name of readdirSync(journalRoot)) if (/^[a-f0-9]{64} json$/.test(name)) {
  • 删除本地文件
    src/bridge.ts:58
    if((await readdir(item.dir)).length === 0) await rmdir(item.dir);
  • 发起网络请求
    src/client.ts:18
    const response=await fetch(route(name),{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify(payload)});
  • 发起网络请求
    src/client.ts:91
    const response=await fetch(route('events'),{signal:abort.signal});
  • 读取本地文件
    src/driver.ts:62
    try { names=await readdir(root); } catch(e) { if(isMissing(e)) return; throw e; }
  • 读取本地文件
    src/engine.ts:70
    try { return parsePlan(JSON.parse(await readFile(await checkedPath(this.driver.journalRoot, join(this.driver.journalRoot,journalName(id))), 'utf8')));
  • 读取本地文件
    src/engine.ts:109
    try { names = await readdir(this.driver.journalRoot); } catch(e) { if(isMissing(e)) return; throw e; }
  • 读取本地文件
    src/engine.ts:111
    const p = parsePlan(JSON.parse(await readFile(await checkedPath(this.driver.journalRoot,join(this.driver.journalRoot,name)),'utf8')));
  • 写入本地文件
    src/engine.ts:119
    await mkdir(this.driver.journalRoot,{recursive:true,mode:0o700});
  • 写入本地文件
    src/engine.ts:124
    await rename(temp,file);
  • 读取本地文件
    src/engine.ts:127
    try { if((await lstat(this.driver.journalRoot)).isSymbolicLink())throw new Error('Refusing linked deletion journal directory'); }
  • 读取本地文件
    src/engine.ts:134
    try{previous=JSON.parse(await readFile(file,'utf8'));}catch(e){if(!isMissing(e))throw e;}
  • 写入本地文件
    src/engine.ts:139
    await rename(temp,file);
  • 读取本地文件
    src/safety.ts:12
    try { canonicalRoot = await realpath(lexicalRoot); }
  • 读取本地文件
    src/safety.ts:22
    if ((await lstat(current)).isSymbolicLink()) throw new Error(`Refusing linked data path: ${current}`);
  • 读取本地文件
    src/safety.ts:31
    try { info = await lstat(checked); }
  • 读取本地文件
    src/safety.ts:34
    for (const item of await readdir(checked)) await checkTree(root, join(checked, item));
  • 读取本地文件
    src/safety.ts:43
    for (const item of await readdir(checked)) {
  • 删除本地文件递归
    src/safety.ts:44
    if (item !== keep) await rm(await checkTree(root, join(checked, item)), { recursive: true, force: true });
  • 删除本地文件递归
    src/safety.ts:46
    } else await rm(checked, { recursive: true, force: true });
  • 删除本地文件
    src/safety.ts:51
    try { await unlink(await checkedPath(root, target)); }
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

README

由 DeepSeek 最新模型翻译生成
DSH Delete Session 在 DeepSeek Harness 桌面端,永久删除一条对话及其子代理对话。 English · 安装 · 删除范围 · 开发 · 插件生态 归档会保留会话数据。本项目增加应用内的 「永久删除」:确认范围后,停止相关任务,删除本地持久化数据,再同步清理窗口、标签页与缓存。 删除确认弹窗;截图中的对话由自动验收创建 当前支持 DeepSeek Harness 0.2.1-rc.5(Windows 桌面端)。通过 Desktop profile 加载,安装时应用所需的程序适配补丁。仓库不分发 DSH 安装包,安装依赖时不会自动修改应用。 兼容性 | 项目 | 当前要求 | | 系统与入口 | Windows,DeepSeek Harness Desktop,desktop profile | | DeepSeek Harness | 0.2.1-rc.5| | 开发环境 | Node.js 22 或以上、npm;运行时验证使用 DSH 自带的 Electron | | 其他版本、CLI、独立 Web 部署 | 尚未适配 | DSH 升级后,请等待对应版本的适配。 使用 1. 打开普通或已归档对话的菜单,选择红色 「永久删除」。 2. 核对对话标题、关联子代理数量及不可恢复提示。运行中的对话显示 「停止并永久删除」。
展开完整文档(README 剩余 1 节)
DSH Delete Session

在 DeepSeek Harness 桌面端,永久删除一条对话及其子代理对话。

English · 安装 · 删除范围 · 开发 · 插件生态

归档会保留会话数据。本项目增加应用内的 「永久删除」:确认范围后,停止相关任务,删除本地持久化数据,再同步清理窗口、标签页与缓存。

删除确认弹窗;截图中的对话由自动验收创建

当前支持 DeepSeek Harness 0.2.1-rc.5(Windows 桌面端)。通过 Desktop profile 加载,安装时应用所需的程序适配补丁。仓库不分发 DSH 安装包,安装依赖时不会自动修改应用。

兼容性

| 项目 | 当前要求 |
| 系统与入口 | Windows,DeepSeek Harness Desktop,desktop profile |
| DeepSeek Harness | 0.2.1-rc.5|
| 开发环境 | Node.js 22 或以上、npm;运行时验证使用 DSH 自带的 Electron |
| 其他版本、CLI、独立 Web 部署 | 尚未适配 |

DSH 升级后,请等待对应版本的适配。

使用

1. 打开普通或已归档对话的菜单,选择红色 「永久删除」。
2. 核对对话标题、关联子代理数量及不可恢复提示。运行中的对话显示 「停止并永久删除」。
3. 确认后等待清理完成。若范围在预览后发生变化,需要重新确认。

取消不会删除数据。空白、尚未持久化的对话不显示此入口。失败时显示原因和重试入口;操作不会仅通过隐藏列表项来报告成功。

会删除什么

| 数据 | 行为 |
| 目标对话与嵌套子代理 | 删除全部本地日志版本及其关联记录 |
| 搜索、投影与工作区记录 | 清理索引、投影缓存、归属、置顶和归档记录 |
| 工具输出与附件 | 清理专属输出;附件仅在没有其他会话或上传收据引用时回收 |
| 客户端状态 | 清理关联视图、草稿、标签页与缓存,取消延迟写入,并通知连接中的窗口 |
| 项目文件、用户配置 | 保留 |
| 独立分支、共享附件 | 保留 |

“独立分支保留”是什么意思? 例如,从对话 A 的某条消息创建分支 B 后,B 就是一条独立对话。删除 A 会保留 B,以及 B 已经复制的历史。若你也要删除这份历史副本,需要单独删除 B。子代理对话则随所属目标一起清理。

旧版请求图片缓存缺少反向索引;涉及附件的删除会使这类可重建缓存失效,其他对话需要时会重新生成。日志损坏或历史依赖无法安全判断时,删除会报错,保留重试进度。

这里的“永久删除”指 应用层文件删除与数据库记录清理,不包含磁盘取证级擦除、其他软件的备份、独立分支中的历史副本或模型服务商的远端留存。

安装

1. 获取源码与依赖

在 PowerShell 中执行:

git clone https://github.com/qiaozheng9/dsh-delete-session.git
cd dsh-delete-session
npm ci

项目的 .npmrc 默认使用 https://registry.npmmirror.com。镜像不可用时可执行 npm ci --registry=https://registry.npmjs.org。不需要 Python。

2. 指定本机路径

安装器会尝试发现桌面应用;数据目录默认使用 $HOME/.dsh。如果安装位置不同,可复制模板:

Copy-Item local.config.example.json local.config.json

然后编辑 local.config.json,填写你自己的绝对路径,例如:

{
"appDir": "D:/software/DeepSeek Harness",
"home": "D:/DSH/home"
}

appDir 是含 DeepSeek Harness.exe 和 resources/app.asar 的目录;home 是含 profiles/desktop 的 DSH 数据根目录。不要为安装而创建另一份空白数据目录。 原有 C 盘到 D 盘的目录联接受支持。

也可只在当前 PowerShell 会话中设置:

$env:DSH_APP_DIR = 'D:\software\DeepSeek Harness'
$env:DSH_HOME = 'D:\DSH\home'

环境变量优先于本地配置;没有显式配置时,已安装项目会沿用安装记录的路径。local.config.json 不进入 Git。

3. 构建、检查与隔离验证

npm run check
npm test
npm run build
npm run prepare:local
npm run verify:runtime
npm run verify:ui
npm run verify:install

build 读取本机安装的原始程序文件,生成本地补丁;已安装增强包时会读取安装前备份。prepare:local 为尚未打补丁的受支持安装生成验证用 ASAR。后三项分别验证真实存储运行时、浏览器交互,以及临时目录中的安装/卸载,不删除已有真实对话。

界面验证使用已安装的 Edge 或 Chrome;如未自动找到,可设置 $env:DSH_TEST_BROWSER 为 Chromium 浏览器可执行文件的绝对路径。

4. 退出桌面应用并安装

从托盘菜单完全退出待安装的 DeepSeek Harness,随后运行:

powershell
npm run install:local
npm run status

安装器会备份程序文件与 profile 配置,写入增强包,再应用程序适配补丁。它不会强制终止应用。重新启动 DSH 后即可使用。

请保留此仓库目录和 .local/。 默认备份位于 .local/backup/,安装记录位于 .local/installed.json;profile 的本地依赖也指向本项目生成的组合包。备份不包含被删除的会话。

检查、卸载与升级 powershell
npm run status
npm run uninstall:local

卸载前完全退出桌面应用。卸载会验证程序、备份和受跟踪的插件文件,恢复被修改的程序文件,并从 profile 移除本增强包,保留安装后的其他配置修改。卸载不能恢复已删除的对话。 有未完成的删除时,须先启动应用重试完成。

升级 DSH 前,建议先卸载增强包。升级后如检查失败,安装器会拒绝覆盖未知文件;不要强行恢复旧版 app.asar 或重打旧补丁。

一致性与隐私

- 删除服务只接收会话 ID,服务端解析删除范围与路径;客户端不能提交文件路径。
- 删除前阻止新的提示、恢复与派生,停止相关任务,等待写入器关闭,并取得存储排他锁。其他进程占用时返回错误。
- 路径解析限制在实际数据根目录内;允许根目录自身是目录联接,拒绝通过下层链接越界。
- 清理日志只保存必要标识与引用,不复制消息正文;启动时恢复未完成删除,再开放相关会话。
- 全部清理完成才发送成功事件。完成后保留无消息正文的删除回执,防止延迟消息重建对话,并帮助离线窗口重连时清理状态。

该项目的删除逻辑不向外部上传会话。公开仓库不包含本机安装包、程序备份、提取的上游模块、安装状态或用户对话数据。

开发与验证

不安装 DSH 也能完成源码检查、核心测试及组合包编译: powershell
npm ci
npm run check
npm test
npm run build:plugin

build:plugin 只生成运行时组合包,不会生成或安装 DSH 所需补丁。GitHub Actions 在 Windows/Linux、Node.js 22/24 上执行这些检查;Linux CI 通过不代表支持 Linux 桌面安装。

完整集成验证需要兼容的本机 DSH。核心与隔离测试覆盖子代理、独立分支、共享引用、缺失文件、锁冲突、并发变更、中断重试和路径链接边界;真实桌面测试需要额外执行: powershell

先完全退出已安装并启用增强包的桌面应用

npm run verify:installed

此命令会启动真实桌面应用,创建一条明确标记的验收对话,通过原生菜单删除它,最后退出应用。它使用当前 profile,不要把它当作普通单元测试自动运行。

| 目录 | 用途 |
| src/ | 删除引擎、存储适配、运行保护及原生弹窗 |
| plugin/ | 运行时组合包 manifest 与配置层 |
| scripts/ | 构建、版本绑定补丁、安装器与验证脚本 |
| tests/ | 隔离的核心、路径、标题与 ASAR 测试 |
| compatibility.json | 支持的 DSH 版本与适配信息 |
| .local/、.reference/、dist/ | 本机状态、上游参考与生成产物;不提交 |

部分适配涉及 DSH 私有运行时接口,尚不能依靠公开类型完整检查;对应模块保留 @ts-nocheck,需以版本校验及集成验证补足。贡献方式见 CONTRIBUTING.md。

插件生态与后续方向

项目可以公开展示、被社区目录发现,也提供标准组合包的源码元数据。但目前仍需要手动运行本地补丁安装器,不应直接宣传为可从插件市场一键安装的通用插件。仓库地址也不能直接替代完整安装流程。

标准生态分发需要先解决受支持存储删除接口与生命周期保护的交付,再提供独立可安装产物和明确的版本声明。官方插件市场机制、当前限制及后续接入条件见 插件生态说明。

许可证与归属

MIT。本项目为独立社区增强,与 DeepSeek 官方无隶属关系。DeepSeek Harness 与各依赖的归属和许可证见 NOTICE.md。
预览分享卡片长什么样 ↓qiaozheng9/dsh-delete-session
分享 · DeepSeek Harness Hub
qiaozheng9/dsh-delete-session

彻底删除对话及其子代理数据,不可恢复

这是你的仓库?认领条目

回到顶部