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

会话管理器 BoweiDuan/dsh-tui-session-manager

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

全屏浏览筛选并彻底删除已保存的会话

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

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

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

状态速览

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

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

验证判据与等级说明 →

可信度证据

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

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

读写/删除本地文件
查看扫描证据(共 13 处,展示前 13 条)
  • 写入本地文件
    debug.js:41
    mkdirSync(join(file, '..'), { recursive: true })
  • 读取本地文件
    debug.js:43
    if (statSync(file).size > MAX_BYTES) writeFileSync(file, '')
  • 写入本地文件
    debug.js:43
    if (statSync(file).size > MAX_BYTES) writeFileSync(file, '')
  • 写入本地文件
    debug.js:47
    appendFileSync(file, `${new Date().toISOString()} ${message}\n`, 'utf8')
  • 读取本地文件
    sweep.js:63
    return JSON.parse(readFileSync(path, 'utf8'))
  • 读取本地文件
    sweep.js:71
    if (backup && backupPath !== undefined && !existsSync(backupPath)) {
  • 写入本地文件
    sweep.js:72
    renameSync(path, backupPath)
  • 写入本地文件
    sweep.js:75
    writeFileSync(tmp, `${JSON.stringify(value)}\n`, 'utf8')
  • 写入本地文件
    sweep.js:76
    renameSync(tmp, path)
  • 读取本地文件
    sweep.js:178
    if (!existsSync(file)) continue
  • 删除本地文件
    sweep.js:179
    rmSync(file, { force: true })
  • 读取本地文件
    sweep.js:188
    if (existsSync(join(cacheDir, `${id}.json`))) removed.push(`projcache/${id}.json`)
  • 读取本地文件
    sweep.js:223
    if (!existsSync(target.path)) continue
扫描于 2026/11/5(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

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

功能亮点

  • 浏览筛选已保存会话
  • 彻底删除会话
  • 清理残留状态垃圾

dsh-TUI 的会话管理插件:/sessions 场景可浏览、筛选并真正删除已保存的会话,还能清理宿主删除路径残留的状态垃圾。

README

由 DeepSeek 最新模型翻译生成
dsh-tui-session-manager dsh-TUI · 一个为 dsh-TUI 生态打造的插件 给 dsh-TUI 的会话管理器:一条 /sessions 命令打开全屏面板,按工作区分组浏览、过滤、多选,然后真正删除保存的会话 —— 并把宿主删除路径留下的状态残留一并清掉。 A session manager for dsh-TUI: /sessions opens a full-screen browser grouped by workspace, with filtering, multi-select and real deletion — including the state leftovers the host's own delete path does not touch. 为什么需要它 / Why dsh-TUI 0.11.x 的适配层其实已经实现了真正的删除(channel.deleteSession(id):递归删除会话日志目录、清 resume 标记、last-used.json 与 agent-view 记录),但没有任何 UI 调用它 —— 命令表、/resume 选择器、工作区菜单里都没有入口。 缺的是入口,不是能力。本插件不重写删除逻辑,只补上入口。 两件常被问到的事,这里一次说清: - 列表里的空会话从哪来?
展开完整文档(README 剩余 1 节)
dsh-tui-session-manager

dsh-TUI · 一个为 dsh-TUI 生态打造的插件

给 dsh-TUI 的会话管理器:一条 /sessions 命令打开全屏面板,按工作区分组浏览、过滤、多选,然后真正删除保存的会话 —— 并把宿主删除路径留下的状态残留一并清掉。

A session manager for dsh-TUI: /sessions opens a full-screen browser grouped by
workspace, with filtering, multi-select and real deletion — including the state leftovers the host's own delete path does not touch.

为什么需要它 / Why

dsh-TUI 0.11.x 的适配层其实已经实现了真正的删除(channel.deleteSession(id):递归删除会话日志目录、清 resume 标记、last-used.json 与 agent-view 记录),但没有任何 UI 调用它 —— 命令表、/resume 选择器、工作区菜单里都没有入口。
缺的是入口,不是能力。本插件不重写删除逻辑,只补上入口。

两件常被问到的事,这里一次说清:

- 列表里的空会话从哪来? DSH 的「新建会话」是立即落盘的:TUI 进程启动、切换工作区(switchWorkspace → newSession)或 /new 之后,会话日志就已经存在。
若随后 /resume 到别处或直接退出,它就留成一个只有 4 条元数据帧、0 条消息的空壳,标题回退成目录名。按 e 可一键筛出它们。
- 这些空壳占空间吗? 不占。每个约 312~466 B,宿主列表还有 revision 缓存。
真正占空间的是历史调试留下的 .bak- 备份,那是另一回事。

功能 / Features

- /sessions 全屏管理器:按工作区分组、/ 实时过滤(标题 / 工作目录 / id)。
- e 三态过滤:全部 → 只看空壳 → 隐藏空壳。
- 空壳行标注体积(empty·312B),头部显示总数、空壳数与当前视图。
- 多选批量删除(a 全选当前可见集),删除前 y/n 确认。
- 删除后清扫宿主不碰的四处残留,杜绝 /resume 里的幽灵条目。
- 无构建、无运行时依赖、纯 ESM:装进 profile 即用。

安装 / Install

git clone https://github.com/BoweiDuan/dsh-tui-session-manager.git
dsh plugin --profile dsh-tui add ./dsh-tui-session-manager

装完重启 dsh-tui(profile 的 patchReload: live 也可能让它热加载)。卸载:

dsh plugin --profile dsh-tui remove dsh-tui-session-manager

用法 / Usage

在对话里输入:

/sessions

全屏管理器打开,对话保持干净(命令返回静默成功)。

| 按键 | 作用 |
| ↑ ↓ / k j | 移动光标 |
| space / x / enter | 勾选或取消当前会话 |
| a | 全选 / 全不选(仅当前可见集) |
| d | 删除已勾选(先弹 y / n 确认) |
| / | 输入过滤词(匹配标题、工作目录、id) |
| e | 循环过滤:全部 → 只看空壳 → 隐藏空壳 |
| esc | 退出过滤 / 取消确认 / 关闭面板 |

清理空壳的标准动作:/sessions → e → a → d → y。

删除结果在底部汇总:deleted N, refused M。当前正在使用的会话会被宿主拒绝(与宿主语义一致,不是本插件的限制)。refused 也覆盖日志已丢失的情况。

空会话判定 / Empty artifacts

只有三个条件全部满足才算空壳(保守:宁可漏掉一个,也不隐藏或误删有内容的会话):

kind !== 'subagent' // 子代理天然无人类消息,排除
&& hasPrompt === false // 宿主证明没有人类消息;日志不可读时为 true
&& bytes .bak-sweep-。
- 无法解析的 JSON 原样保留,不做猜测性修改。
- 清扫过程不抛异常:单步失败计入结果行,不影响其它步骤。
- 删除不可撤销(没有回收站):勾选时请看清,确认时 y 是唯一入口。

兼容 / Compatibility

- dsh-TUI 0.11.x;接缝 ctx.tuiScenes(全屏场景)与 ctx.commands(斜杠命令)。
- 两者都做软探测:宿主不提供时插件保持 idle,不会让启动失败。
- 场景只使用宿主注入的 props.React 与 props.ui,不引入自带 React (TUI 的 reconciler 只认宿主自己的 React 19 元素)。
- Node ^22.19 || >=24。

开发 / Development sh
npm test # node --test,无依赖、无构建

测试覆盖:命令/场景注册与注销、无声成功返回、缺接缝时保持 idle、空壳判定的四个条件与边界、e 三态过滤、a 只作用于可见集、 id 白名单与 dryRun、以及在临时 $DSH_HOME / $DSH_TUI_HOME 上真实落盘的清扫。

结构 / Layout text index.js 插件契约(name / apply):注册 /sessions 命令与全屏场景 scene.js 全屏管理器界面 + 空壳判定(使用宿主注入的 React 与 ui kit) sweep.js 删除后的残留清扫(支持 dryRun) debug.js 诊断日志($DSH_TUI_HOME/session-manager.log,64 KiB 上限) cordis.patch.yml 向 profile 插入插件行 test/ 契约测试、判定测试与清扫落盘测试 docs/design/ 设计说明

许可 / License

MIT © 2026 BoweiDuan
预览分享卡片长什么样 ↓BoweiDuan/dsh-tui-session-manager
分享 · DeepSeek Harness Hub
BoweiDuan/dsh-tui-session-manager

全屏浏览筛选并彻底删除已保存的会话

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