npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

dsh-session-remover

v1.0.1

Published

DSH 插件:在侧栏会话行的「…」菜单中增加「删除对话」与「批量删除…」,将对话及其子代理会话移入 Windows 回收站,可从回收站还原。

Readme

dsh-session-remover

在侧栏会话行的「…」菜单中增加「删除对话」与「批量删除…」两项,将对话及其子代理会话移入 Windows 回收站,需要时可予以还原。

  • 包名:dsh-session-remover
  • 仓库:https://github.com/sailoumili/dsh-session-remover
  • 兼容 DSH 0.1.7 及以上版本,适用于网页版与桌面版
  • 界面文字随 DSH 界面语言切换,提供中文与英文两套
  • 仅支持 Windows,无第三方运行时依赖

安装

网页版

  1. 在左侧栏单击「插件」。
  2. 单击「添加插件」。
  3. 在「包名或地址」输入框中填写 dsh-session-remover,单击「安装」,等待安装完成。
  4. 在该插件页面中启用该插件。
  5. 重启 DSH。

等效命令行:

dsh plugin --profile web add dsh-session-remover

桌面版

桌面版使用独立的插件清单(~/.dsh/profiles/desktop),与网页版互不影响,须单独安装一次。操作步骤与网页版一致:左侧栏「插件」→「添加插件」→ 填写包名 →「安装」→ 启用 → 重启。

dsh plugin --profile desktop add dsh-session-remover

用法

  1. 将指针移至侧栏任一会话行,单击行尾的「…」。
  2. 菜单中最后两项为「删除对话」与「批量删除…」。
  3. 删除单条:单击「删除对话」,在确认框中单击「确定」,页面自动刷新,该行消失。
  4. 批量删除:单击「批量删除…」,在浮层中勾选目标对话(可使用「全选 / 全不选」),勾选确认项,单击「删除选中的 N 个」,再次确认后逐条删除。
  5. 退出批量删除:单击「取消」「关闭」、单击浮层外部区域或按 Esc 均可;删除进行期间不响应关闭,须待其结束。
  6. 还原:在资源管理器中打开回收站,右键单击对应会话文件夹,选择「还原」,重启 DSH。

说明

  • 删除为移入回收站,并非抹除:同盘移动,不复制数据,.dsh 内不留副本。删除前先按会话所在磁盘核对两件事:该磁盘是否关闭了回收站(Windows 该开关按磁盘逐个设置)、该磁盘是否有可用的回收站;任一不满足即拒绝删除,不会退化为永久删除。移入后另按「原位置 + 名字」逐项核对,确认确实进入回收站;核对直接读取本机回收站索引(只列文件名,不逐项读取),耗时基本不受回收站已存项数影响。
  • 一并删除子代理会话:子代理会话不显示于侧栏与搜索,未一并清理将持续累积。由 fork 产生的分叉会话属独立对话,不被连带删除。
  • 清理三处记录:投影缓存、工作区记账、归档集合。投影缓存为派生数据,还原后由 DSH 自动重建;后两处予以清理以避免在本地留存痕迹,代价是还原后的对话归入侧栏的「未分组」。
  • 支持删除当前打开的对话:删除前先停止其运行中的任务并落盘,无需重启 DSH。

已知限制

  • 仅支持 Windows。移入回收站依赖系统脚本宿主 cscript.exe(Windows 自带);在其他系统上插件拒绝删除并报错,不会退化为永久删除。
  • 所在磁盘没有回收站时拒绝删除。会话目录若位于网络盘、U 盘或未启用回收站的磁盘(如 FAT/exFAT),移入回收站会退化为永久删除,插件一律拒绝。处理办法:先把会话目录搬到本地磁盘,或在该磁盘上删除任意一个文件以启用回收站,再重试。
  • 回收站清空后不可还原。插件仅负责将文件移入回收站,是否清空由用户决定;回收站存在容量上限,超出配额时 Windows 将丢弃最早的项。
  • 还原后可能不在原工作区。插件清除了工作区记账,还原的对话将出现在「未分组」中。如需恢复至原工作区,须在 DSH 停止运行时手工编辑 ~/.dsh/storages/workspace.json。
  • 附件不予回收。DSH 附件按内容寻址、跨会话共享,且无引用计数,插件无法安全判断其可否回收。
  • 删除失败时服务端返回的原因文本同样随界面语言切换:服务端只回错误码与参数,界面文字统一由前端按当前语言取词。
  • 端点仅接受本机请求。/api/session.delete 仅放行回环地址(127.0.0.1 / localhost / [::1]),局域网来源一律返回 403。本插件的路由位于官方鉴权栅栏之外,而官方基于浏览器 cookie 的鉴权依赖插件无法获取的签名密钥;删除数据属高风险操作,故从严处理。将 DSH 绑定至 0.0.0.0 并从其他机器访问时,删除将返回 403。
  • 无法读取会话目录时不作任何改动。会话树收集失败即整体放弃删除,不会将「读取失败」视为「磁盘上不存在」。
  • 批量删除浮层不锁定焦点,按 Tab 键可能移至浮层后方的页面元素。

许可

MIT