fountunt/dsh-session-cleaner
Delete DeepSeek Harness sessions from a running web runtime — files, live store, and workspace records — without restarting dsh web.
catalog descriptioncatalog 简介 / catalog description:为 DeepSeek Harness 提供会话删除能力,支持侧边栏 ⋮ 菜单入口
Project Overview项目介绍
dsh-session-cleaner is a native plugin built exclusively for the DeepSeek Harness (DSH) web runtime. It addresses a missing feature in DSH’s official API, which only lets users archive and hide sessions, not permanently delete them without a full restart of the dsh web process. To install the plugin, users can run one of three commands via the DSH CLI: installing from npm, pulling directly from the GitHub repository, or adding a local checked-out copy of the code. After installation, a restart of dsh web is required, because running DSH instances do not support hot-loading of new plugin bundles.
Once installed and activated, the plugin adds a new “Delete session” option to the overflow menu of each session row in the DSH web sidebar. This option only appears if the session title is unambiguous, so it will not show up for duplicate session titles to prevent accidental deletion. The delete button is automatically disabled and greyed out for active running sessions, and the currently active conversation can never be deleted through this tool. This plugin is useful for any DSH user that regularly cleans up old or unwanted sessions to free up disk space and keep their sidebar organized.
This project is released under the permissive MIT open source license, and it depends on the official @deepseek-ai/cordis package from DeepSeek as a peer dependency. Developers who want to contribute or modify the plugin can install dependencies with pnpm and run the included unit tests with a simple node --test test/ command. Deletion via this plugin is irreversible, and it removes all artifacts from disk, detaches the session from workspaces, and removes it from DSH’s in-memory store so it disappears immediately without a restart. A stale entry may remain in the session projection cache until the next restart, but this is harmless and does not take up extra space.
这是专为DeepSeek Harness(DSH)Web运行时设计的原生插件,用于填补官方API的功能缺口:官方仅提供归档隐藏会话的接口,不支持不重启dsh web直接永久删除会话。用户可以通过DSH的插件管理器,直接从npm、GitHub仓库或者本地路径安装该插件,安装完成后需要重启dsh web进程,因为正在运行的实例不支持热加载新的插件包。
安装完成后,DSH网页端的侧边栏会话行更多菜单会新增一个「删除会话」选项,当前正在运行的对话无法删除,运行中的会话会置灰该选项,空闲会话会先停止再删除,避免出现异常。当存在重名会话时,该选项不会显示,避免误删。这个插件适合需要定期清理无用会话、释放存储空间的DSH日常用户和开发者。
该插件基于MIT许可证开源,开发依赖为@deepseek-ai/cordis,使用pnpm即可安装依赖并运行单元测试。删除操作不可逆,会同时移除会话的内存条目、工作区记录和磁盘上的产物文件,删除后只有会话投影缓存可能残留无效条目,重启后会自动清除。它还开放了API接口,支持开发者通过同源HTTP调用删除指定会话。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-session-cleaner(fountunt/dsh-session-cleaner)
仓库:https://github.com/fountunt/dsh-session-cleaner
本站详情页:https://www.yhbd.top/plugins/fountunt-dsh-session-cleaner/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 6 · 最近提交 2026-08-15 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 6 stars - very few users, little community feedback星标只有 6,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add dsh-session-cleaner
把 fountunt/dsh-session-cleaner 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-session-cleaner
Delete DeepSeek Harness sessions from a running web runtime — files, live
store, and workspace records — without restarting dsh web.
The official web API only offers workspace.archiveSession (hide); there is no
session.delete. This bundle closes that gap.
Install
dsh plugin --profile web add dsh-session-cleaner # from npm
dsh plugin --profile web add github:fountunt/dsh-session-cleaner # from git
# or from a local checkout
dsh plugin --profile web add file:/path/to/dsh-session-cleaner
Then restart dsh web (a running instance does not hot-load new bundles).
Usage
Web UI (v1.0.0)
The client half adds a 🗑 "Delete session" item at the bottom of the sidebar session row ⋮ menu — the item is skipped when the row title is ambiguous (duplicate titles).
Click, confirm, and the session is deleted and the sidebar refreshes. The item is disabled (greyed) while the session is running; sessions opened in the UI (idle agents) are stopped first, then deleted. The current running conversation can never be deleted.
API
The plugin registers one route on the web server:
POST /api-ext/session.delete
Content-Type: application/json
{ "sessionId": "session-1bb8d361-ea6b-4b92-bab2-c858c92e8822" }
Same-origin calls work from the browser console of the harness page:
await fetch("/api-ext/session.delete", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({ sessionId: "session-1bb8d361-ea6b-4b92-bab2-c858c92e8822" }),
}).then(r => r.json());
Response envelope (mirrors the host's RPC style):
{ "ok": true, "value": { "detached": true, "workspaces": 1, "files": 1 } }
{ "ok": false, "error": { "code": "refused", "message": "..." } }
detached— the session was removed from the in-memory live store (this is what makes it disappear from the sidebar immediately, without a restart).workspaces— how many workspace records the session was detached from.files— how many on-disk artifact directories were removed.
Safety
- Sessions with an attached agent (running or idle) are refused — the current conversation can never be deleted through this endpoint.
- Deletion is irreversible: artifacts, workspace membership, and the live entry are all removed. The session-projection cache may keep a harmless stale row until the next restart.
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
liangmianya/dsh-synapse
alaliqing/claude-paper
acryldev/acryl
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
Tyan66666/billion-context-dsh
qkycir-123/dsh-run2skill