dsh-plugin-context-cleanup-master:带 token 账本的「一键清理」,实质是开新会话

前言

在 DSH Web UI 里长会话堆久了,侧栏会话列表会越来越长,当前对话的上下文也会越来越重。想「换个干净环境」时,通常做法是点侧栏新建会话,或输入 /new。dsh-plugin-context-cleanup-master(上下文清理大师)把这条路径包了一层客户端 UI:悬浮球常驻、先扫近期会话的真实 token 投影,再播放清理流程,最后调用与侧栏相同的 uiWorkspace.startSession() 开一个空白会话。作者 JJJACKsong 在 README 中写明这是整蛊向插件——「清理」是演出,唯一真实副作用是新建会话。

这是什么

  • 名称:dsh-plugin-context-cleanup-master(npm 包名相同)
  • 维护者:JJJACKsong
  • 分类:客户端(纯浏览器半插件,平台 web ui)
  • 许可证:MIT
  • DSH 要求:engines.dsh >= 0.2.0
  • 当前版本(npm / package.json):1.0.2

插件不调模型、不注册 Tool、不发布 Service,对模型侧不可见。Host 半几乎是空壳 apply();界面通过 ctx.slots.inject('shell.overlay', …) 挂在帧级悬浮层,切会话不消失。

核心功能:哪些是真的,哪些是演的

README 用表格区分了环节。下面按使用顺序说明。

扫描(真实数据)

从宿主 sessions.list 快照读取近期会话,使用每行自带的 tokenUsage 投影(未缓存输入 / 输出 / 缓存读 / 缓存写等)。不打开任何会话正文,零模型调用。界面上出现的「无效上下文碎片」「重复会话缓存」等扫描项属于文案演出。

报告(部分真实)

  • 真实:由真实 token 总量推导的上下文健康度评分(上下文越重分越低)、消耗最多的近期会话 Top3、真实 token 数与会话数。
  • 演出:例如「可清理垃圾 XX.X GB」「已有大量用户使用」等数字。

流程是两段式:先看报告,再决定是否点「一键清理」。

清理与完成(演出 + 一个真实动作)

点「一键清理」后大约 1.9 秒清理动画与进度环;不删除任何会话、不写工作区文件、不写会话日志。完成页显示 100 分后,自动调用 uiWorkspace.startSession(),与侧栏「新建会话」同一入口。演出文案里的「已释放 XX.X GB」等不是真实磁盘或上下文回收。

若点「暂不清理」、右上角关闭或按 ESC,可随时退出,不会开新会话。

悬浮球与交互

  • 默认在右下角;可拖动,位置写入 localStorage(键名 ccm.ball.position.v1)。
  • 点击球后从球边弹出管家卡片并自动扫描(约 2 秒)。
  • 球上红点角标仅为装饰。

安装与启用

安装前请自行查看 GitHub 源码与 MIT 许可证;插件在当前 DSH 进程权限下运行,仅只读会话列表快照(标题 + tokenUsage),不 retain 会话历史,也不发起模型请求。

将 <profile> 换成你使用的 DSH profile 名。

从 npm 安装(README 推荐)

dsh plugin --profile <profile> add dsh-plugin-context-cleanup-master

也可在 DSH Desktop 插件管理页搜索包名安装。包页:https://www.npmjs.com/package/dsh-plugin-context-cleanup-master

从 GitHub 安装(锁定 main 分支源码)

dsh plugin --profile <profile> add github:JJJACKsong/dsh-plugin-context-cleanup-master

本地目录安装

将仓库落到本地目录后:

dsh plugin --profile <profile> add ./dsh-plugin-context-cleanup-master

亦可通过 Agent 的 plugin_manager 的 install_bundle,target 传目录绝对路径。安装后若 Web UI 未热更新,刷新一次页面。

卸载:

dsh plugin --profile <profile> remove dsh-plugin-context-cleanup-master

典型用法

  1. 在 DSH Web UI 或 DSH Desktop(dsh web)中启用插件后,界面右下角(或你上次拖动后的位置)出现悬浮球。
  2. 点击悬浮球 → 等待约 2 秒自动扫描 → 查看健康度与 Top3 会话及 token 账本。
  3. 需要新空白会话时点「一键清理」→ 看完动画与完成页 → 自动进入新会话。
  4. 仅想看统计、不想新会话时,用「暂不清理」或关闭面板即可。

依赖宿主 Client 服务:slots、locale、sessions.list、uiWorkspace。任一缺失时插件不会弹出面板。

适用场景与注意

适合谁

  • 希望在 DSH 里用可视化方式浏览近期会话 token 消耗,并习惯性用「清理」隐喻触发 /new 的开发者。
  • 写 DSH 客户端 UI 插件的同学:README「技术笔记」里记录了 corner-shape: superellipse 导致圆形变 squircle、以及 role="dialog" 会被套上宿主模态皮肤等适配点,自绘卡片可用 role="region" 规避。

务必注意

  • 本项目明确标注为整蛊插件:不要用于任何需要真实删除数据或回收上下文的场景。
  • 所有「垃圾体积 / 释放空间」均为演出,不执行删除。
  • 文案随宿主 locale 中英切换;配色为插件自有「管家风」,不复用宿主主题色。

社区目录页(与 DeepSeek / 幻方无官方从属,仅为社区收录站点):https://www.skillhub.cn/plugins/JJJACKsong/dsh-plugin-context-cleanup-master

源码与完整说明:https://github.com/JJJACKsong/dsh-plugin-context-cleanup-master

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye