DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Session Delete — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

@jackal-alex/dsh-session-delete

Session Delete

从侧边栏删除 DSH 会话:移入可恢复的回收站,或永久删除。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:jackal-Alex/dsh-session-delete#cad9bd8129e8a8d87af9defdc04f3be2fbbd989a
README兼容性版本

兼容性与来源证明

Session Delete 以 @jackal-alex/dsh-session-delete 发布,当前版本为 0.1.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/18

版本

0.1.3stable
2026/10/18
0.1.2stable
2026/10/18

相关插件

正在加载相关插件…

最新版
0.1.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/10/18
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 memory-context 分类下经过校验的插件。

Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Contextdsh-context用于上下文洞察和管理的 DeepSeek Harness 插件,提供上下文仪表板和上下文命令,帮助了解上下文的构成及其演变过程。Ab Memorydsh-ab-memory--- description: "dsh-ab-memory 包:一种跨会话、基于文件的智能体记忆,提供五个工具(remember / recall / forget / load_skill / distill)以及始终启用的轻量注入。" kind: "package-reference" ---Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。

README

dsh-session-delete

在 DSH 侧边栏删除会话 —— 先移入可恢复的回收站,或彻底清除。

Delete DSH sessions from the Session row's "…" menu: move to a restorable trash can, or purge. DSH itself ships no delete action, and its session storage seam has no delete API by design, so this plugin moves the session directory out of $DSH_HOME/sessions and keeps a meta.json so it can be put back.

为什么需要它

DSH 的会话行菜单里有 置顶、重命名、分叉、归档,没有删除;会话日志在 $DSH_HOME/sessions/ 下一直累积,只能手工清。协议里虽然有 session/delete,但它只对外部 ACP agent 生效,宿主自己的存储层明确写着「不删除会话文件 —— 直到外部移除」。

所以删除只能落在文件系统上。本插件只做这一件事,并且把它做成可逆的。

功能

菜单项行为
删除会话把 sessions/<工作区>/session-<id>/ 整体移进 $DSH_HOME/session-trash/<时间戳>/,附 meta.json 记录原工作区与目录名
彻底删除会话同上移入,然后立刻从回收站清除。红色危险样式,二次确认
  • 正在使用的会话删不掉:Windows 上目录里有被占用的日志文件时 rename 会失败,插件把它报成「该会话正在被使用,先切到别的会话再删除」——不会半删一半
  • 删完自动刷新页面,侧边栏不再显示该行
  • 菜单项的字号、行高、内边距、悬停与危险色对齐 DSH 自带的菜单单元格(13px / 20px / 34px / 6px 8px)

安装

# 从 npm(发布后)
dsh plugin --profile desktop add @jackal-alex/dsh-session-delete

# 从 GitHub(需要本机有 git)
dsh plugin --profile desktop add github:jackal-Alex/dsh-session-delete

# 本地开发(软链,改完硬刷新即可)
dsh plugin --profile desktop add link:/path/to/dsh-session-delete

⚠️ 别装错:npm 上另有一个第三方同名插件 dsh-session-delete(作者 vtxf,仓库 vtxf/dsh-session-delete),功能相近但不是本项目。本项目的 npm 包名带 scope,是 @jackal-alex/dsh-session-delete(GitHub 仓库是 jackal-Alex/dsh-session-delete),装的时候认准这两处作者名。

装完重启 DSH(bundle 层在启动时装配),再按 Ctrl+Shift+R 硬刷新页面加载客户端半边。

用法

  1. 鼠标移到任意会话行,点右侧的「…」
  2. 选 删除会话,确认
  3. 会话从列表消失;文件在 ~/.dsh/session-trash/ 里

恢复(接口已就绪,暂无 UI):

curl -X POST http://127.0.0.1:19387/api/session-delete/restore \
  -H "content-type: application/json" -H "x-dsh-session-delete: 1" \
  -d '{"trashId":"<回收站目录名>"}'

宿主接口

方法路径作用
GET/api/session-delete/list列出磁盘上的会话(工作区、id、大小、时间)
GET/api/session-delete/trash列出回收站条目
POST/api/session-delete/delete{sessionId, mode?} —— mode: "purge" 移入后立刻清除
POST/api/session-delete/restore{trashId} —— 放回原位置
POST/api/session-delete/purge{trashId} —— 彻底删除,不可恢复

所有请求(包括 GET)都必须带 x-dsh-session-delete: 1,并且只接受回环对端(127.0.0.1 / ::1)。 原因:DSH 把 exact 类型的路由注册在它自己的鉴权围栏之前,插件必须自己上闸 —— 自定义头会触发跨站预检(这些路由不发放 CORS),回环判断则拦住非本机来源。手工调用时记得带上:

curl -s http://127.0.0.1:19387/api/session-delete/list -H "x-dsh-session-delete: 1"

兼容性

不声明任何 @deepseek-ai/* 的 peerDependencies。 DSH 0.2+ 的版本闸门会把 peer 对不上的插件整包跳过(现象是「装上了,重启后什么也没发生」,且不报错);客户端半边只用 ctx.slots,宿主半边只用 ctx.webServer,都不静态依赖某个宿主包的具体版本。

在 DSH 0.2.0-rc.2(Windows 桌面版)上实测可用。

测试

不需要构建、不需要 DSH 运行时,纯 Node 即可:

npm run check   # node --check 三个入口
npm test        # 三个测试文件
  • tests/host.test.mjs —— 文件层:list → trash → restore → trash → purge,含路径穿越拒绝
  • tests/routes.test.mjs —— 用假 cordis context 驱动五条路由,覆盖 405 / 403 / 404 / 400
  • tests/client.test.mjs —— 替身 __ModuleLoader__ + 假 require + 假 DOM,验证装配、两个菜单项的 order 与注入面、以及菜单单元格的度量(防字体回退)

已知限制

  • 删除后靠 location.reload() 刷新列表
  • 没有批量删除、没有回收站的 UI 列表(接口 trash / restore / purge 已就绪)
  • 只处理 sessions/<工作区>/session-<id>/ 这种目录布局;平铺或压缩的单文件布局不在本版范围
  • 彻底删除不做 shred(不是安全擦除)

开发

插件是手写、无构建的:宿主半边是普通 ESM,客户端半边是 window.__ModuleLoader__.load({ id, factory }) 的 self-contained bundle。改 lib/*.js 后重跑 npm test,硬刷新页面即可看到客户端改动。

许可

MIT