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

会话清理 stansz/dsh-session-delete

DeepSeek Harnessv0.1.0
stansz29 天前有提交已提供中文文档扫描:含敏感能力

彻底删除会话记录并同步清理侧边栏残留

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

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

自动兼容检查未通过:仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add stansz/dsh-session-delete
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · other
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 29 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包dsh-session-delete @ 0.1.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/13 15:38:27

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

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

读写/删除本地文件
查看扫描证据(共 21 处,展示前 8 条)
  • 读取本地文件
    index.js:75
    if (isAbsolute(candidate) && existsSync(candidate)) return candidate;
  • 读取本地文件
    index.js:143
    if (!existsSync(path)) return undefined;
  • 读取本地文件
    index.js:145
    return JSON.parse(readFileSync(path, 'utf8'));
  • 读取本地文件
    index.js:157
    info = lstatSync(target);
  • 读取本地文件
    index.js:164
    entries = readdirSync(target);
  • 读取本地文件
    index.js:180
    return readdirSync(path);
  • 删除本地文件
    index.js:630
    rmSync(cache, { force: true });
  • 删除本地文件递归
    index.js:647
    rmSync(dir, { recursive: true, force: true });
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 删除会话记录
  • 清理侧边栏残留

README

由 DeepSeek 最新模型翻译生成
dsh-session-delete 把 DSH 会话彻底删掉,同时不把 Host 一起拖下水。 为什么需要插件 DSH 会话不止一个文件: | 部分 | 路径 | | 日志目录(log + session.lock) | $DSH_HOME/sessions/<encoded-cwd>/<session-id>/ | | 投影检查点 | $DSH_HOME/storages/session_projcache/sessions/<session-id>.json | | 工作区行(就是侧边栏) | $DSH_HOME/storages/workspace.json | 在 Finder 里删掉目录,只清掉第一行,另外两行还在,所以会话仍然列在侧边栏,点开却打不开。另一种翻车方式是删掉 Agent 还活着的会话:Agent 会继续往一个已经不存在的日志目录里追加内容。 注册了什么 向已有服务做全局贡献,不覆盖任何已发布的东西。 - 工具 session_admin(action: list | inspect | delete) - 命令 /session-list —— 列出每个已存会话,以及决定能否删除的各项标记。 - 命令 /session-delete <session-id> [force] —— 在输入框里执行同样的操作。
展开完整文档(README 剩余 1 节)
dsh-session-delete

把 DSH 会话彻底删掉,同时不把 Host 一起拖下水。

为什么需要插件

DSH 会话不止一个文件:

| 部分 | 路径 |
| 日志目录(log + session.lock) | $DSH_HOME/sessions/<encoded-cwd>/<session-id>/ |
| 投影检查点 | $DSH_HOME/storages/session_projcache/sessions/<session-id>.json |
| 工作区行(就是侧边栏) | $DSH_HOME/storages/workspace.json |

在 Finder 里删掉目录,只清掉第一行,另外两行还在,所以会话仍然列在侧边栏,点开却打不开。另一种翻车方式是删掉 Agent 还活着的会话:Agent 会继续往一个已经不存在的日志目录里追加内容。

注册了什么

向已有服务做全局贡献,不覆盖任何已发布的东西。

- 工具 session_admin(action: list | inspect | delete)
- 命令 /session-list —— 列出每个已存会话,以及决定能否删除的各项标记。
- 命令 /session-delete <session-id> [force] —— 在输入框里执行同样的操作。

三者调用同一份实现(index.js 里的 deleteSession)。

用法

/session-list
/session-delete session-1a2b3c4d-... # refuses if live/locked
/session-delete session-1a2b3c4d-... force # cancels the turn, then deletes

也可以直接问智能体,或者用工具:

session_admin action="list"
session_admin action="inspect" sessionId="session-..."
session_admin action="delete" sessionId="session-..." dryRun=true
session_admin action="delete" sessionId="session-..." force=true

dryRun: true 会准确报告哪些路径和哪些行会被清掉、删除会不会被拦下,全程不碰任何东西。

几道防线

1. 自身 —— 删除当前调用正在运行的会话,永远拒绝。这种情况会把 Host 搞崩,所以放在最前面检查。
2. 存活或锁被占用 —— 除非 force: true,否则拒绝。「存活」来自 sessionController.list();「锁被占用」从 session.lock 解出来,再用 process.kill(pid, 0) 探测,所以另一个 Host 或终端里的 Agent 也算数。
3. 删除顺序 —— 先取消回合,刷写存活日志,忘掉工作区行,清掉投影缓存,最后 unlink 日志目录。先释放所有权,再删字节。
4. 路径围栏 —— rmSync 之前,每个要删的路径都验证过位于 $DSH_HOME/sessions 之内,所以存储值再离谱也删不到别处。桶靠扫描目录名是否恰好等于会话 id 来发现,绝不重建 cwd 编码。
5. 结果无损 —— 每个字段都实体化,因为 Host 会拒绝不是无损 JSON 的工具结果。也正因如此,一串 undefined 值会被省略,而不是发出去。

delete 注册为非并发安全:两次删除不能在 inspect 和 unlink 之间交错。

配置

没有。存储根目录依次取 DSH_HOME、$DSH_PROFILE_DIR/../..、~/.dsh。

重启说明

这个包以 link: 方式安装。Desktop Host 加载内置插件的 JavaScript 只加载一次,在 set_plugin 启用/禁用时不会重新导入已链接包的模块生成结果——所以改了 index.js 之后,必须重启 DSH 才会生效,即使 install_bundle 报告 application: applied 也一样。
预览分享卡片长什么样 ↓stansz/dsh-session-delete
分享 · DeepSeek Harness Hub
stansz/dsh-session-delete

彻底删除会话记录并同步清理侧边栏残留

这是你的仓库?认领条目

回到顶部