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

会话删除器 Sean1shao/dsh-plugin-session-manager

DeepSeek Harness
Sean1shao16 天前有提交已提供中文文档扫描:未发现敏感能力

在侧栏菜单中彻底删除指定会话及其缓存数据

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

DeepSeek Harness 侧边栏的删除会话操作:删掉会话日志和投影缓存,工作区文件夹和其他会话不受影响。

README

由 DeepSeek 最新模型翻译生成
dsh-plugin-session-manager 给 DeepSeek Harness(DSH)侧栏的会话行菜单加一个「删除会话」动作。 DSH 只提供「归档(隐藏)」——数据一个字节都不少——而没有删除。会话日志只能靠带外维护来剪除。本插件把这件事包装成一个正常的侧栏菜单项:带确认对话框,并由 Host 侧先确认会话确实空闲,再动磁盘。 会话行 → ⋯ ├── 置顶会话 100 ├── 重命名 200 ├── 分叉会话 300 ├── 归档会话 400 ├── 复制 Session ID 450 └── 删除会话 500 ← 本插件(危险色,独立分组) 环境要求 状态: 0.1.0,还年轻。Host 路由、删除逻辑、浏览器 bundle 的加载都有测试覆盖,也在真实 profile 上验证过解析与注册;菜单项本身靠手工验证。DSH 的插件接口仍在演进,请以你实测过的 DSH 版本为准。 - DSH 桌面版或 dsh --profile web。开发环境:DSH Desktop 44.7.0(@deepseek-ai/dsh-* 0.2.1-rc.2)。 - Windows 下安装脚本需要 PowerShell 5.1+;macOS / Linux 用手工安装。 - 运行时零依赖:Node 面只 import node:fs、node:os、node:path。
展开完整文档(README 剩余 1 节)
dsh-plugin-session-manager

给 DeepSeek Harness(DSH)侧栏的会话行菜单加一个「删除会话」动作。

DSH 只提供「归档(隐藏)」——数据一个字节都不少——而没有删除。会话日志只能靠带外维护来剪除。本插件把这件事包装成一个正常的侧栏菜单项:带确认对话框,并由 Host 侧先确认会话确实空闲,再动磁盘。

会话行 → ⋯ ├── 置顶会话 100 ├── 重命名 200 ├── 分叉会话 300 ├── 归档会话 400 ├── 复制 Session ID 450 └── 删除会话 500 ← 本插件(危险色,独立分组)

环境要求

状态: 0.1.0,还年轻。Host 路由、删除逻辑、浏览器 bundle 的加载都有测试覆盖,也在真实 profile 上验证过解析与注册;菜单项本身靠手工验证。DSH 的插件接口仍在演进,请以你实测过的 DSH 版本为准。

- DSH 桌面版或 dsh --profile web。开发环境:DSH Desktop 44.7.0(@deepseek-ai/dsh-* 0.2.1-rc.2)。
- Windows 下安装脚本需要 PowerShell 5.1+;macOS / Linux 用手工安装。
- 运行时零依赖:Node 面只 import node:fs、node:os、node:path。

安装

插件装进一个 DSH profile:package.json 记录组合包,cordis.patch.yml 记录组合行。

Windows

1) 完全退出 DSH(托盘菜单退出;关窗口可能只是最小化)
2) 克隆并安装进当前 profile
git clone https://github.com/Sean1shao/dsh-plugin-session-manager.git
cd dsh-plugin-session-manager
powershell -ExecutionPolicy Bypass -File .\install.ps1
3) 重新启动 DSH

脚本会把本目录复制到 <profile>\node_modules\dsh-plugin-session-manager,并在 <profile>\cordis.patch.yml 末尾追加一段带标记的 insert 行。两步都是幂等的,-Uninstall 精确撤销。

指定别的 profile powershell -ExecutionPolicy Bypass -File .\install.ps1 -Profile 'D:\dsh-home\profiles\web' 卸载 powershell -ExecutionPolicy Bypass -File .\install.ps1 -Uninstall

macOS / Linux(手工)

在克隆下来的仓库目录里执行
git clone https://github.com/Sean1shao/dsh-plugin-session-manager.git
cd dsh-plugin-session-manager
PROFILE="${DSH_HOME:-$HOME/.dsh}/profiles/desktop"
mkdir -p "$PROFILE/node_modules"
cp -R . "$PROFILE/node_modules/dsh-plugin-session-manager"
cat >> "$PROFILE/cordis.patch.yml" <<'YAML'

- insert:
- id: session-manager
name: 'dsh-plugin-session-manager'
YAML

重启 DSH。profile 目录默认是 Windows 的 %USERPROFILE%\.dsh\profiles\desktop、其他平台的 ~/.dsh/profiles/desktop;不确定就看 DSH_PROFILE_DIR。

使用

把指针停在某个会话行上 → ⋯ → 删除会话 → 确认。

- 会话仍在跑工作(回合进行中、子智能体、后台任务、定时提醒)时 Host 会拒绝,并告诉你还有几项活动 —— 先停止或等它结束。
- 成功后页面自动刷新一次。侧栏的成员关系来自 Host 的投影流,删文件不会推事件,刷新是拿到干净列表最诚实的做法。
- 日志文件被占用(例如该会话正开着且在写)时返回 409 locked,关掉该会话再试。

删了什么

| 路径 | 是什么 |
| <会话根目录>\<项目目录>\<会话 id>\ | 追加式会话日志,唯一权威数据 |
| ~/.dsh/storages/session_projcache/sessions/<id>.json | 该会话的投影检查点(尽力而为;缓存本身是 fail-soft 的) |

会话根目录默认是 $DSH_HOME/sessions(通常是 ~/.dsh/sessions)。

不会删除:工作区目录及其中文件、工作区登记(workspace.json)、其他会话、附件对象(attachments/v1/objects,按内容寻址,可能被别的会话引用)。

安全模型

删除不可逆,所以 Host 面不信任客户端:

1. sessionId 必须匹配 [A-Za-z0-9][A-Za-z0-9._-]{0,127} —— 杜绝路径穿越;
2. 先问 workspace/session-activity 瀑布:有任何活动 → 409 session-active,一个字节都不动;连问都问不出来 → 500,同样不动;
3. 确认空闲后,才按目录名全等定位日志目录并删除;
4. 投影缓存记录尽力清理,失败只记日志,不影响删除结果。

整条路由挂在 Connection 的 /api 上,因此自动继承浏览器认证、Host/Origin 栅栏和 fiber 生命周期(插件卸载即摘除路由)。

配置

- id: session-manager
config:
显式指定会话根目录;缺省依次取 sessionPersistence.root、$DSH_HOME/sessions sessionsRoot: 'D:\somewhere\sessions' 是否连带清理投影缓存记录,默认 true purgeCache: true

实现

一行 Loader 承载两面:

| 面 | 文件 | 职责 |
| Host | lib/index.js | 在 Connection 的精确 Fetch 路由表上注册 POST /api/dsh-session-manager/delete |
| 浏览器 | lib/client.js | __ModuleLoader__ 惰性 CJS bundle,向 sidebar.workspaces.session.menu.item 槽贡献菜单项 |

为什么不用 Typert Remote?单个动作不值得引入生成式描述符与编解码器;DSH 自己就用同一条精确 Fetch 通道做会话日志下载与原始文件上传。细节见 ARCHITECTURE.md。

已知限制

- 删除不可恢复,没有回收站。要留后路就先备份 %USERPROFILE%\.dsh\sessions。
- workspace.json 会留下悬空的 session id:DSH 读取时会把它们过滤掉、下次工作区变更时剪除,侧栏不会出现幽灵行;但文件里那条记录会留到下次变更。
- 删完要刷新页面:投影流不会因为文件消失而推事件,插件成功后直接 location.reload()。
- 附件孤儿对象不回收(保守优先,与官方「归档不删数据」的取向一致)。
- subagent 会话不在侧栏显示,因此没有对应菜单项。
- 会话 id 的目录名按原样匹配(session-<uuid> 编码后是恒等变换)。将来若 id 形态变化、需要转义,findSessionDirectory 会返回 404 而不是误删。

故障排查

| 现象 | 处理 |
| GetFullPath 报「路径的形式不合法」 | 0.1.0 的初版脚本在 PowerShell 5.1 下会踩到:[CmdletBinding()] 脚本的 param() 默认值求值时 $PSScriptRoot 仍为空。现已改为在脚本体里解析;旧版在报错前没有写入任何文件,重跑即可。 |
| 无法加载文件 … 未对文件进行数字签名 | 执行策略拦截,用 powershell -ExecutionPolicy Bypass -File .\install.ps1(只对这次调用放宽)。 |
| 装好了但菜单里没有 | ① 是否完全退出并重启了 DSH;② <profile>\cordis.patch.yml 里是否有 session-manager 行;③ 打开侧栏「插件」页看是否有加载失败。 |
| 404 not-found | 会话已被删除,或 id 需要转义而本插件未解码。 |
| 409 session-active | 先停止该会话的工作(回合 / 子智能体 / 后台任务 / 定时提醒)。 |

开发

lib/index.js Node 面:路由 + 删除逻辑 lib/client.js 浏览器面:__ModuleLoader__ bundle、菜单项、对话框 cordis.patch.yml 组合行(作为 bundle 安装时使用) test/ node:test 测试

npm test
或逐个跑:
node test/host.test.mjs
node test/client.test.mjs

两个测试都不需要 DSH 在跑:Node 面用假 ctx 驱动注册进来的路由,浏览器面用假 __ModuleLoader__ 与假共享模块表加载 bundle。改动前请先读 CONTRIBUTING.md 里那两条不能破的约定。

许可

MIT
预览分享卡片长什么样 ↓Sean1shao/dsh-plugin-session-manager
分享 · DeepSeek Harness Hub
Sean1shao/dsh-plugin-session-manager

在侧栏菜单中彻底删除指定会话及其缓存数据

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