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

会话清理器 byJming/dsh-session-cleaner

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

可视化勾选删除本地会话并同步清理缓存与归档记录

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · other
装得上吗
实装验证未通过(unknown),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 81 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(unknown · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 30 处,展示前 21 条)
  • 写入剪贴板
    public/app.js:53
    await navigator.clipboard.writeText(text);
  • 发起网络请求
    public/app.js:70
    const res = await fetch('/api/state');
  • 发起网络请求
    public/app.js:363
    const res = await fetch('/api/delete', {
  • 读取本地文件
    server.js:65
    fs.readFile(file, (err, data) => {
  • 执行外部命令固定命令
    server.js:136
    spawn('cmd', ['/c', 'start', '', url], { detached: true, stdio: 'ignore' }).unref();
  • 执行外部命令固定命令
    server.js:138
    spawn('open', [url], { detached: true, stdio: 'ignore' }).unref();
  • 执行外部命令固定命令
    server.js:140
    spawn('xdg-open', [url], { detached: true, stdio: 'ignore' }).unref();
  • 读取本地文件
    server.js:153
    if (!fs.existsSync(home)) console.warn(`[警告] DSH 主目录不存在: ${home}`);
  • 读取本地文件
    store.js:66
    if (!fs.existsSync(file)) return null;
  • 读取本地文件
    store.js:67
    const text = fs.readFileSync(file, 'utf8');
  • 读取本地文件
    store.js:108
    if (!fs.existsSync(root)) return [];
  • 读取本地文件
    store.js:110
    for (const p of fs.readdirSync(root, { withFileTypes: true })) {
  • 读取本地文件
    store.js:113
    for (const s of fs.readdirSync(projectDir, { withFileTypes: true })) {
  • 读取本地文件
    store.js:118
    if (fs.existsSync(log)) {
  • 执行外部命令固定命令
    store.js:261
    const r = spawnSync('powershell', [
  • 执行外部命令固定命令
    store.js:268
    const r = spawnSync('ps', ['-eo', 'args='], { encoding: 'utf8', maxBuffer: 8 * 1024 * 1024, timeout: 10000, stdio: ['ignore', 'pipe', 'ignore'] });
  • 写入本地文件
    store.js:423
    fs.mkdirSync(path.join(backupDir, 'sessions'), { recursive: true });
  • 写入本地文件
    store.js:434
    fs.writeFileSync(state.registryPath, JSON.stringify(registryDoc, null, 2) + '\n', 'utf8');
  • 写入本地文件
    store.js:440
    fs.writeFileSync(state.cachePath, JSON.stringify(cacheDoc, null, 2) + '\n', 'utf8');
  • 删除本地文件
    store.js:444
    for (const r of rows) fs.rmSync(r.sessionDir, { recursive: true, force: true });
  • 删除本地文件
    store.js:449
    fs.rmdirSync(p);
扫描于 2026/11/3(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

功能亮点

  • 可视化勾选删除会话
  • 同步清理缓存
  • 清理归档记录

可视化删除 DeepSeek Harness (dsh) 会话的工具。

README

由 DeepSeek 最新模型翻译生成
dsh-session-cleaner 可视化删除 DeepSeek Harness (dsh) 会话的小工具:本地 Node Web 服务 + 浏览器页面,零第三方依赖。 免责声明:本项目是非官方工具,与 DeepSeek / DeepSeek Harness 项目及其开发者无隶属关系,不受其支持。 它直接读写 DeepSeek Harness 的磁盘数据(版本 0.1.0-rc.6 实测),属于实验性工具:上游 pre-1.0 阶段的存储布局无兼容承诺,后续版本可能变动,使用前请先升级到与本工具声明的兼容版本匹配,并留意删除确认信息。 功能 - 列出 $DSH_HOME/sessions 下全部会话:标题、会话 ID、项目目录、创建时间、大小、是否已归档、fork 血缘(被哪些子会话引用) - 空白会话识别:采用 dsh 自身元数据(sessionListMetadata.blank,缺失时按日志内容兜底)标记由 GUI 页面加载自动创建的占位会话,默认隐藏、可一键显示,顶部横幅给出说明 - 现代 UI/UX:亮/暗主题跟随系统、搜索与排序、分组折叠、行详情展开(可复制 ID/路径)、统计条、Toast 通知、空状态页 - 勾选删除会话,并自动同步清理:
展开完整文档(README 剩余 1 节)
dsh-session-cleaner

可视化删除 DeepSeek Harness (dsh) 会话的小工具:本地 Node Web 服务 + 浏览器页面,零第三方依赖。

免责声明:本项目是非官方工具,与 DeepSeek / DeepSeek Harness 项目及其开发者无隶属关系,不受其支持。
它直接读写 DeepSeek Harness 的磁盘数据(版本 0.1.0-rc.6 实测),属于实验性工具:上游 pre-1.0 阶段的存储布局无兼容承诺,后续版本可能变动,使用前请先升级到与本工具声明的兼容版本匹配,并留意删除确认信息。

功能

- 列出 $DSH_HOME/sessions 下全部会话:标题、会话 ID、项目目录、创建时间、大小、是否已归档、fork 血缘(被哪些子会话引用)
- 空白会话识别:采用 dsh 自身元数据(sessionListMetadata.blank,缺失时按日志内容兜底)标记由 GUI 页面加载自动创建的占位会话,默认隐藏、可一键显示,顶部横幅给出说明
- 现代 UI/UX:亮/暗主题跟随系统、搜索与排序、分组折叠、行详情展开(可复制 ID/路径)、统计条、Toast 通知、空状态页
- 勾选删除会话,并自动同步清理:
- storages/workspace.json:归档列表 archivedSessionIds 与各工作区记录里的 sessionIds 槽位
- storages/session_projcache.json:tables.sessions 中的缓存行
- 删除后变空的会话项目目录
- 误删防线:删除前校验会话目录名与日志 header 中的 id 编码一致;header 缺失或目录名不一致的会话默认拒绝删除,需在确认框勾选豁免
- 安全保护:检测到 dsh 进程仍在运行时阻止删除(运行中的服务会把已删记录从内存回写复活);仅在确认框里勾选强制执行才可绕过
- 删除前可选备份(默认开启,写入 %TEMP%/dsh-session-backup-<时间戳>/);删除后自动校验残留并展示报告

使用

前置:Node.js ≥ 22.15(需要 node:zlib 的 zstd 流式解码读取会话 header)。

cd dsh-session-cleaner
node server.js

启动后自动打开浏览器页面 http://127.0.0.1:38211/。

重要:删除前必须先完全停止 dsh web(关闭 dsh 窗口 / Ctrl+C)。
工具会检测 dsh 是否在运行,运行时删除按钮会被拦截。

参数:

node server.js --port 38211 # 监听端口(默认 38211)
node server.js --home D:\dsh # 指定 DSH 主目录(默认 $DSH_HOME 或 ~/.dsh)
node server.js --no-open # 不自动打开浏览器
node server.js --help # 帮助

测试

node --test test/

测试覆盖高风险纯逻辑:路径编码与目录名校验、注册表/缓存文档改写(只删目标、不动其他字段)、以及用临时 fixture 主目录做的端到端删除(含拒绝未校验会话的分支)。不触碰真实 ~/.dsh 数据。

兼容性

- 测试于 dsh 0.1.0-rc.6(Node 22.17.1,Windows 11)
- 只支持标准布局:$DSH_HOME/sessions(日志)与 $DSH_HOME/storages/{workspace.json,session_projcache.json};若你在 profile 里改写过持久化根目录则不适用
- 会话 ID 从日志首行 header 读取(zstd 流式只解码开头一段,大文件也很快);读不了 header 的会话会标记「校验异常」并默认拒绝删除

文件结构

dsh-session-cleaner/
├── server.js # HTTP 服务 + API(/api/state、/api/delete) ├── store.js # 存储层:扫描、校验防线、注册表/缓存改写、运行检测、备份/删除/校验 ├── test/ │ └── store.test.js # node:test 单测(fixture 数据,不碰真实 ~/.dsh) ├── public/ │ ├── index.html │ ├── style.css │ └── app.js ├── LICENSE # MIT └── README.md
预览分享卡片长什么样 ↓byJming/dsh-session-cleaner
分享 · DeepSeek Harness Hub
byJming/dsh-session-cleaner

可视化勾选删除本地会话并同步清理缓存与归档记录

这是你的仓库?认领条目

回到顶部