
Security News
PHP Foundation Says Chainguard Broke Security Embargo Ahead of Emergency Patches
The PHP Foundation says Chainguard broke a security embargo ahead of critical RCE patches, as leaks disrupted the coordinated release.
dsh-recycle-bin
Advanced tools
Delete DSH sessions into a restorable recycle bin — subagent sessions follow their parent as one tree, and only purge destroys bytes.
给 DSH 补上删除会话的能力——删除即移入可恢复的回收站,子会话跟随主会话整树处理。
DSH 没有删除会话的接口。本插件把它补上,并且做成两步:删除 = 移入回收站,随时可以恢复;只有「彻底删除」才真正销毁磁盘上的字节。
能删除会话的插件不少,本插件围绕三条约定设计:
插件已在 npm 发布为 dsh-recycle-bin,并已收录进 DSH 插件市场。
dsh plugin --profile <profile> add dsh-recycle-bin
也可以直接在市场里搜索 会话回收站 / Session Recycle Bin 点安装。装完 刷新一次页面(Ctrl+F5),侧栏入口会出现在「插件」「定时」「市场」那一排。
本地开发安装(源码即运行代码,不需要 build):
plugin_manager { action: "install_bundle", target: "<本目录绝对路径>" }
| 位置 | 作用 |
|---|---|
| 会话右键菜单 → 红色「删除会话…」 | 先弹确认框(不会单击即删),并写明有几个子会话会一并移入 |
| 会话右键菜单 →「批量操作…」 | 对某个工作区的全部会话批量归档或删除;独立确认框,写明整个选中集合带多少子会话 |
| 侧栏「会话回收站」 | 主区打开完整页面:每条会话行首有复选框、行尾是恢复与彻底删除,上方是选择栏,可批量操作 |
| 右键侧栏图标 | 「清空回收站…」——一键清空的捷径,同样先过写明条数的确认框 |
| 设置 → 会话回收站 | 同一个回收站页,给习惯在设置里操作的人 |
delete_session 工具(给模型用) | preview / trash / trashMany / archiveMany / list / restore / restoreMany / purge / purgeMany / purgeAll,与 UI 共用同一批 Host 方法 |
删除确认框会写明带走的子会话数:
彻底删除前同样先报数:
origin: 'subagent' + parentSession 找到全部子代理会话(任意深度),不依赖侧栏当前显示什么。session-open。~/.dsh/session-recycle-bin/<时间戳>-<id>/,并从工作区登记里摘除,侧栏行随即消失。恢复是反过程,并且先检查整棵树的所有目标路径再动任何一个字节:只要有一个会话会与现有目录冲突,整条恢复就被拒绝,不会出现「父会话回来了、子会话还在回收站」的半棵树。
~/.dsh/attachments/v1/objects,按内容寻址、跨会话共享)、~/.dsh/sessions 下的项目目录本身、以及任何同 ID 的既有会话。session-child)——正确动作是删父会话。父会话已不存在的孤儿子会话仍可按 id 清理。rename 回退到复制(EXDEV);同卷内是原子 rename。delete_session 写调用;那是 DSH 的权限策略,不是插件行为,改用 UI 或换权限预设即可。| 声明 | 值 |
|---|---|
engines.dsh | 0.2.0-rc.1 || 0.2.0-rc.2 || 0.2.1-rc.1 || 0.2.1-rc.2 |
peerDependencies | 10 个包:9 个 @deepseek-ai/dsh-*(同样的 0.2.x-rc.* 区间)+ @deepseek-ai/cordis ~4.0.5 |
DSH 0.2 与 0.1 的插件 API 不兼容(settings API 在 0.2 被移除),所以下限钉在 0.2.0-rc.1,而不是一个会静默排除预发布版本、让用户只看到「没有解释的 ERESOLVE」的宽泛区间。
plugin_manager { action: "remove_bundle" }
回收站里尚未恢复的条目会保留在 ~/.dsh/session-recycle-bin。如果插件已卸载又想把会话找回来,每个条目里都有 entry.json 清单写明每个文件该去哪:把 session/(以及每个 children/<id>/session/)搬回 ~/.dsh/sessions/<projectDir>/<id>/,把 projcache.json 搬回 ~/.dsh/storages/session_projcache/sessions/<id>.json 即可。
MIT
FAQs
Delete DSH sessions into a restorable recycle bin — subagent sessions follow their parent as one tree, and only purge destroys bytes.
We found that dsh-recycle-bin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
The PHP Foundation says Chainguard broke a security embargo ahead of critical RCE patches, as leaks disrupted the coordinated release.

Security News
PHP releases emergency patches for two critical RCE vulnerabilities as agencies urge organizations to take unpatched sites offline.

Threat Research
/Security News
A supply chain attack compromised LiteLLM 1.107.0 on PyPI and Docker, spreading malware that steals cloud credentials, developer secrets, and AI provider keys.