DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-session-tidy

w

dsh-session-tidy

Discovered

Session Management: Delete DSH sessions, or delete only a single turn within a session (secondary confirmation / physical deletion / automatic backup). Delete sessions or a single turn in DeepSeek Harness.

Machine translated

会话整理 · Session Tidy

DeepSeek Harness 的轻量会话管理插件:删除会话,或只删除会话里的某一轮对话。所有删除都有二次确认,并直接落到宿主存储上——不是隐藏,不是归档。

作者:大肥鲸 · MIT License · 适用于 DSH 0.2.x(v4 会话日志)

功能

位置操作
左侧会话列表 → 会话行的「⋯」菜单删除会话…(红色)——永久删除该会话的日志、投影缓存与工作区登记
任意已完成轮次的末尾删除本轮(低存在感小按钮)——从会话日志中移除该轮的用户消息、步骤、工具调用与回答;后续轮次保留并顺延编号

对话中不会出现额外面板、页面或常驻按钮;删除入口只在需要的位置出现。

行为与安全

  • 二次确认:每个操作都先弹确认框,危险按钮使用错误色,忙碌时锁定。
  • 先停后删:对正在运行的会话,先通过宿主自己的 AgentHandle 取消本轮、等待静默、摘载 Agent,再动文件;插件安装前就已存在的 Agent 会退化为「取消 → 静默 → 卸 Agent 作用域 → 摘除 Session → 注销 Agent」并逐步校验。
  • 真正的删除:会话删除会移出日志目录(先隔离到 ~/.dsh/session-tidy-trash/ 再清除)、删除投影缓存行、从工作区顺序/归档/置顶中摘除。
  • 单轮删除是日志改写:DSH 的会话日志是 append-only 的,所以插件在宿主侧把日志解压 → 删除该轮事件区间(连同该轮排队输入的 add 事件,避免排队消息残留)→ 重映射后续 seq 与 sourceEventSeqs / surfaceOp / headerSeq / throughSeq / messageSeqs 引用 → 重新压缩写入;写前备份、写后用官方 Session 重放全量校验;任何无法安全重映射的引用(例如该轮之后存在压缩/图片卸载记录)都会拒绝删除并保持原样。
  • 身份与路径校验:会话目录 realpath 三级校验、日志 header.id 校验、拒绝 junction/符号链接指向的其它会话;有分叉/子代理会话的父会话必须先删除子会话。
  • 备份:每次单轮删除前,原始日志会存到 ~/.dsh/session-tidy-backups/,便于人工恢复。
  • 保守拒绝:分叉会话(fork,含继承前缀)暂不支持删除单轮;正在运行的轮次不能删除;同一会话的并发删除会被拒绝。

限制

  • 单轮删除只移除会话日志中的记录;已经产生的附件、~/.dsh/spill/ 溢出文件、子代理会话、其它缓存不在清理范围内。
  • 单轮删除会改动会话日志,可能使已打开的其它客户端窗口显示旧内容;当前窗口会自动重开该会话。极少数情况下需要刷新页面。
  • 仅适用于官方 JSONL 会话存储(@deepseek-ai/dsh-session-persistence-jsonl);其它后端会返回「不支持」而不是冒险删除。
  • 删除不可恢复(除单轮备份外)。

安装

dsh plugin --profile desktop add github:weiVc/dsh-session-tidy

也可以在 Harness 的「插件 → 添加插件」里粘贴上面的 github: 地址。安装后通常无需重启即可在页面生效(若宿主提示 restart-required,重启 DSH)。

开发调试可用本地目录:

dsh plugin --profile desktop add link:/absolute/path/to/dsh-session-tidy

卸载

dsh plugin --profile desktop remove dsh-session-tidy

卸载不会删除任何会话;~/.dsh/session-tidy-backups/ 可自行清理。

测试

node --test host/log.test.mjs

合成日志用例始终运行;使用真实会话日志的用例需要一份私有 fixture(不随插件分发、避免泄露会话内容):

$env:DSH_TIDY_FIXTURE="C:\path\to\session.v4.jsonl.zstd"; node --test host/log.test.mjs

结构

index.js               Host:HTTP 路由、生命周期、删除流程
host/log.js            zstd 会话日志解码/编码 + 单轮删除计划(纯函数)
host/log.test.mjs      node --test
host/delete-session.js 路径解析、AgentHandle 追踪、目录隔离删除、原子写入、备份
client.js              Web 客户端:菜单项 / 轮次按钮 / 确认框
locale/{zh,en}.json    插件元数据
icon.svg               插件图标

致谢

设计时参考了社区同类插件的行为与边界(未复制其代码):

Comments

Loading…

Similar plugins

dsh-session-purge

by lxchapu

DSH(DeepSeek Harness)插件:把会话从磁盘上彻底删除。任意会话的「…」菜单里可删单条,侧边栏切到「仅显示已归档」时可一键删除全部已归档会话;两者都先弹二次确认,正在运行的会话会被拒绝删除。

Development & InfrastructureManifest valid

★ 1

MIT

JavaScript

Oct 3, 2026

dsh plugin --profile web add @lxchapu/dsh-session-purge

by HunLongBaiZe

彻底删除 DSH 会话:日志 + 投影缓存 + 工作区记账 + 引用计数式附件回收 | Thorough session purge for DeepSeek Harness

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Sep 25, 2026

dsh plugin --profile web add dsh-deep-purge

by xohmai

DeepSeek Harness 会话删除插件:设置页管理归档会话,真正删除磁盘日志(回收站可还原)+ 批量清理——官方归档只隐藏不删盘,这里补上。

Sessions & MessagesManifest valid

★ 35

↓ 280/wk

Apache-2.0

JavaScript

Oct 19, 2026

dsh plugin --profile web add dsh-session-delete

by Linusteller

DeepSeek Harness 插件:侧栏会话菜单「删除会话」(永久删除,非归档)

Development & InfrastructureSessions & MessagesManifest valid

★ 1

MIT

JavaScript

Oct 22, 2026

dsh plugin --profile web add dsh-delete-sessions

by Vim0x3c

DeepSeek Harness 会话管理设置面板:列出本机全部会话(运行中/空闲/已归档),支持继续会话、预览大纲、删除会话 | Session management settings section for dsh web: resume, outline, and delete any session

UI & ExperienceManifest valid

★ 5

↓ 4.2k/wk

MIT

TypeScript

Aug 21, 2026

dsh plugin --profile web add dsh-session-manager

by DelayNooMore

DSH (DeepSeek Harness) 会话回收站插件:移入回收站、恢复、永久删除,设置页管理

Development & InfrastructureTerminal & ClientsSessions & MessagesManifest valid

★ 1

MIT

JavaScript

Oct 2, 2026

dsh plugin --profile web add dsh-plugin-session-trash