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

会话清理器 mehdinikzad68/dsh-session-manager

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

删除会话与工作区数据,支持回收站恢复

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 16 处,展示前 14 条)
  • 读取本地文件
    lib/index.js:67
    entries = await readdir(dir, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:79
    const info = await stat(child).catch(() => undefined);
  • 读取本地文件
    lib/index.js:145
    projects = await readdir(sessionsRoot, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:154
    entries = await readdir(path.join(sessionsRoot, project.name), { withFileTypes: true });
  • 读取本地文件
    lib/index.js:201
    names = await readdir(trashRoot, { withFileTypes: true });
  • 读取本地文件
    lib/index.js:227
    return readFile(file, "utf8");
  • 写入本地文件
    lib/index.js:237
    await mkdir(trashRoot, { recursive: true });
  • 写入本地文件
    lib/index.js:238
    await rename(source, destination);
  • 写入本地文件
    lib/index.js:247
    await writeFile(path.join(destination, "manifest.json"), JSON.stringify(manifest, null, "\t"), "utf8");
  • 删除本地文件
    lib/index.js:250
    await rmdir(path.join(sessionsRoot, location.projectDir));
  • 写入本地文件
    lib/index.js:440
    await mkdir(path.dirname(destination), { recursive: true });
  • 写入本地文件
    lib/index.js:441
    await rename(dir, destination);
  • 删除本地文件递归
    lib/index.js:463
    await rm(dir, { recursive: true, force: true });
  • 发起网络请求
    lib/client.js:208
    return fetch(API + path, init).then(async function (response) {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

从 Web GUI 删除 DSH(DeepSeek Harness)会话和工作区数据:每个会话一行「删除」菜单项、带大小的管理设置页,以及可恢复的回收站。

README

由 DeepSeek 最新模型翻译生成
dsh-session-manager 为 DeepSeek Harness(DSH)Web GUI 提供会话删除功能。 DSH 能归档会话,却无法删除会话——自带的持久化层没有删除 API,删除工作区时也会把每个会话日志留在磁盘上。这个插件补上了这块空白: - 侧边栏——每个会话的 … 菜单新增一行 Delete…(排在自带的 Copy Session ID 之后),并带确认对话框。 - Settings → Session Manager——管理页面,列出每个已注册工作区和每个孤立目录,附带每个会话的大小、事件数和日期:支持按行删除、勾选批量删除,以及 Delete workspace data…(删除注册信息和它的会话日志)。搜索框可匹配标题 / 会话 id / 路径,older-than 过滤器按最后活动时间缩小列表范围。 - 进回收站,而不是 rm——删除的会话目录会被移动到 $DSH_HOME/trash/sessions/<timestamp>--<id>/,并附一个 manifest.json,所以设置页可以恢复它们,直到你清空回收站。
展开完整文档(README 剩余 1 节)
dsh-session-manager

为 DeepSeek Harness(DSH)Web GUI 提供会话删除功能。

DSH 能归档会话,却无法删除会话——自带的持久化层没有删除 API,删除工作区时也会把每个会话日志留在磁盘上。这个插件补上了这块空白:

- 侧边栏——每个会话的 … 菜单新增一行 Delete…(排在自带的 Copy Session ID 之后),并带确认对话框。
- Settings → Session Manager——管理页面,列出每个已注册工作区和每个孤立目录,附带每个会话的大小、事件数和日期:支持按行删除、勾选批量删除,以及 Delete workspace data…(删除注册信息和它的会话日志)。搜索框可匹配标题 / 会话 id / 路径,older-than 过滤器按最后活动时间缩小列表范围。
- 进回收站,而不是 rm——删除的会话目录会被移动到 $DSH_HOME/trash/sessions/<timestamp>--<id>/,并附一个 manifest.json,所以设置页可以恢复它们,直到你清空回收站。

工作原理

┌──────────────────────┐ same-origin fetch ┌─────────────────────────────┐
│ lib/client.js │ ───────────────────▶ │ lib/index.js (Host half) │
│ • menu slot row │ /session-manager-… │ • authenticated HTTP route │ │ • settings page │ ◀────────────────── │ • workspaceRegistry │ └──────────────────────┘ JSON │ • sessionPersistence │ │ • archive → move to trash │ └─────────────────────────────┘

DSH 不给第三方客户端 bundle 提供包级 RPC 通道(Remote 命名空间在构建时就固定了),所以两半通过插件自己注册的 HTTP 路由通信,路由经 ctx.webServer 注册——这是官方文档给出的 route-owner 模式。每个请求都要过和自带 /api 路由相同的浏览器信任栅栏(ctx.connection.requestRejection),因此只有已认证的 DSH 页面才能调用;浏览器的签名 cookie 会随同源 fetch 自动带上。

单个会话的删除流程:会话仍在运行则拒绝 → 通过 workspaceRegistry.archiveSession 归档(这样该行会立刻从侧边栏默认的 Hide archived 视图消失)→ 用 rename 把会话目录移进回收站 → 删掉空的项目目录。工作区清除:其中任一会话仍在运行则拒绝 → workspaceRegistry.delete → 把该路径下所有会话目录移进回收站。

安装

直接从本仓库安装——Git 地址就是合法的插件 spec:

dsh plugin --profile web add https://github.com/mehdinikzad68/dsh-session-manager

或者把同一个 URL 粘贴到 Web GUI 的 Plugins → Add plugin 对话框。本地检出的话,改传包目录的路径。安装时即启用 bundle:patchReload: live 的配置档无需重启即可挂载,而仅启动时加载的配置档(比如 Desktop 配置档)需要重启一次 DSH。

安全

- 活跃会话(存在于内存会话存储或智能体注册表中)一律拒绝删除,请先停止它。
- 删除是移动,不是 unlink:在清空回收站之前,所有内容都能从回收站恢复。
- HTTP API 强制执行 DSH 的浏览器认证(否则返回 401/403)。

限制

- 会话根目录按 $DSH_HOME/sessions 推导(默认 ~/.dsh/sessions)。配置档若把持久化 root 配到别处,检测不到(v0.1)。
- 会话标题来自缓存的投影提示;没有提示的会话显示其 id。
- restore 会重建目录(如果我们归档过,还会取消归档),但注册信息已被清除的工作区,必须重新打开文件夹才能重新注册。
- 删除后,侧边栏通过归档隐藏该行;下次刷新时,会话摘要从列表中消失。

路线图

待办的功能想法,大致按顺序排列——其中几项受 hkkz9522 的社区插件 dsh-session-manager 启发:

- 更丰富的批量模式——全选匹配项、按组操作,以及破坏性批量删除前的预览摘要对话框。
- 工作区可见性——在管理页面归档/取消归档整个工作区。

许可证

MIT © Mehdi Nikzad
预览分享卡片长什么样 ↓mehdinikzad68/dsh-session-manager
分享 · DeepSeek Harness Hub
mehdinikzad68/dsh-session-manager

删除会话与工作区数据,支持回收站恢复

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