DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

@jingmei2/dsh-session-trash

Session Trash

使用可撤销的回收站彻底删除 DeepSeek Harness Sessions:将 Session 日志移出其工作区、恢复日志,或永久清除日志。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:jingmei2/dsh-session-trash#d72b7fe003e9e21e4bb682e21edb41cb7c5a3db3
README兼容性版本

兼容性与来源证明

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

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

版本

0.1.0stable
2026/10/19

相关插件

正在加载相关插件…

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

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

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

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

认领这个 Plugin →
报告问题

相关插件

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

Memory Plugin@openviking/dsh-memory-plugin适用于 DeepSeek Harness 的 OpenViking 记忆与上下文套件Weknora@wxg-prc-cpg/dsh-weknora适用于 DeepSeek Harness (dsh) 的 WeKnora 知识检索工具:通过自有知识库进行语义搜索、文档阅读以及 RAG/代理回答。Reme Dsh Plugin@agentscope-ai/reme-dsh-plugin面向 DeepSeek Harness 的 ReMe 记忆与上下文集成Memsearch Dsh@zilliz/memsearch-dsh适用于 DeepSeek Harness 的 MemSearch 插件:在多个代理之间共享 Markdown 记忆,支持捕获、步骤前上下文注入、记忆召回技能和技能候选审核面板。

README

会话回收站(dsh-session-trash)

真正删除 DeepSeek Harness 会话的日志文件,并提供一个可以撤销的回收站。

安装

dsh plugin --profile <profile> add @jingmei2/dsh-session-trash

装完重启应用(Host 半改动需要重启,Client 半刷新页面即可)。也可以在「插件市场」里按包名 @jingmei2/dsh-session-trash 搜索安装。

DSH 本身只支持「归档」:会话行从列表里消失,但 ~/.dsh/sessions 下的日志原样保留。 这个插件把「物理删除」补上,并且删除是可撤销的:

操作效果
会话行 … 菜单 → 彻底删除…会话目录(含子代理会话)移入回收站,会话行从工作区列表隐藏
设置 → 会话回收站 → 恢复目录移回原位置,会话回到原工作区、原位置
设置 → 会话回收站 → 批量清理按工作区分组勾选,一次移入回收站多个会话;正在生成回复的会被跳过并列出原因
设置 → 会话回收站 → 彻底删除 / 清空回收站从磁盘上真正删除,不可恢复

「移入回收站」用的是宿主自己的归档通道(workspaceRegistry.archiveSession),不是「从工作区摘除」。 这一点很关键:DSH 不会因为切换会话就释放它,被摘除的会话仍然活在内存里,于是会掉进列表底部的 「未分组」 分组里显示成一条删不掉的行。归档只把会话从默认视图里藏起来,工作区归属原样保留, 所以行会干净地消失,恢复时也直接回到原来的位置。

界面

菜单行直接复用宿主的 MenuItemButton(经模块加载器的基线模块表 require('@deepseek-ai/dsh-client-ui-primitives') 取得), 因此高度、内边距、图标 14px、悬停与键盘行为都和「复制 Session ID」等自带行一致;取不到该模块时退回同语义的 role="menuitem" 按钮。设置页与确认弹窗按 --dsw-alias-* 主题令牌自绘。

安全边界

  • 只有「正在生成回复」的会话会被拒绝:这一刻还有写入方(agent 正在 running), 移动日志会让它的后续写入落到旧路径,所以插件直接报错而不是硬删。批量清理里这些会话会被跳过, 并在结果里列出原因,其余照常删除。
  • 仅仅还开着标签页不算冲突:DSH 不会因为切换会话就释放它,「加载中」几乎对任何访问过的会话都成立, 所以删除只警告、不拒绝。含正在运行的子代理会话时同样整条拒绝。
  • 删除是先归档、再移动:先让宿主把会话从列表里藏起来,再把目录整体 rename 到 ~/.dsh/session-trash/<条目>/data/(同一文件系统内是原子的)。任何一步失败都会自动回滚——包括 撤销归档——不会出现「列表没了、文件还在别处」的半成品。
  • 归档/置顶状态会被记录,恢复时还原。
  • 同一个会话重复删除不会报「日志不存在」:它会明确告诉你会话已经在回收站里。
  • 回收站条目元数据损坏时,列表会标出来,且只允许「彻底删除」,不会误恢复半份文件。

存储布局

~/.dsh/sessions/--<cwd-slug>--/session-<uuid>/     # 原始位置
~/.dsh/session-trash/
  20261019-165233-a1b2c3/
    meta.json                                      # 会话、工作区、时间、字节数、子会话清单
    data/--<cwd-slug>--/session-<uuid>/             # 被移动的日志

卸载插件不会自动清空回收站:~/.dsh/session-trash 需要手动删除。

Agent 工具

插件同时注册 session_trash 工具,参数 action:list / trash / restore / purge / empty, 与界面走同一套宿主逻辑。action=trash 可传 sessionIds 数组做批量删除(最多 200 个), 返回逐条结果 { results, trashed, skipped },单个失败不影响其余。

开发与验证

node --test test/*.test.mjs
  • test/core.test.mjs:文件层逻辑(移动、回滚、恢复、批量、冲突、损坏条目),不依赖 Cordis。
  • test/http.test.mjs:用 stub context 真实调用 apply(),覆盖路由/回环围栏/op 分发/工具 action→op 映射。
  • test/client.test.mjs:stub 模块加载器与 React,验证三个注册项、首次渲染、批量页的过滤。

Host 半改动需要重启应用;Client 半改动刷新页面即可。

许可证

MIT © magi