dsh-session-delete-next

DSH PLUGIN会话与消息

仓库 ljp888/dsh-session-delete-next

会话与消息 L5 · 运行验证通过 安全审查:低风险 可信度:金 可安装插件
安装这个插件

dsh-session-delete-next 是 ljp888 维护的 会话与消息 类 DSH 可安装插件, 仓库为 ljp888/dsh-session-delete-next,许可证 MIT。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-session-delete-next 是会话与消息类的 DSH 可安装插件,验证等级 L5 · 运行验证通过,安全审查为低风险,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类会话与消息 收录类型可安装插件 验证等级L5 · 运行验证通过 安全审查低风险
验证等级 L5 L5 · 运行验证通过
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-10-12 创建于 2026-10-12
README 7.4 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add github:ljp888/dsh-session-delete-next
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

cordiscordis-plugindeepseek-harnessdshdsh-pluginpluginsession-management

验证等级与安全审查

L5 · 运行验证通过
自动化流程结论,不是人工审核
验证等级L5 · 运行验证通过在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来
安全审查低风险静态分析结论,未标注不代表已通过审查
仓库健康度活跃按仓库活跃度与最近更新时间给出
可信度金综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 验证等级 L5:安装和运行都在沙盒里跑通过,装完能直接用的概率高。
  • 静态安全审查为低风险,没有发现明显可疑行为。
  • 有可直接复制的安装命令,不用自己翻文档找入口。

先想清楚的地方

  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在会话与消息场景里给 DSH 补能力的人。
  • 想装完就能用、不想自己排依赖的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-session-delete-next当前 L5 · 运行验证通过 低风险 0 未标注 有
dsh-desktop L3 · 安装规范通过 低风险 3.0 万 未标注 无
openpets L4 · 沙盒安装通过 低风险 1,274 未标注 有
deeptide L4 · 沙盒安装通过 低风险 1,104 0.1.1-rc.2 有
jingyun-dsh L3 · 安装规范通过 低风险 1,004 未标注 有
study-mate 未做沙盒验证 未标注 856 未标注 无

仓库档案

会话与消息
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方ljp888仓库 dsh-session-delete-next · 默认分支 main
分类会话与消息desktop
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-10-12 · 2026-10-12最后推送 2026-10-12
本站收录2026-10-30首次进入本站目录的时间

README 全文

7.4 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-session-delete-next

DSH(DeepSeek Harness)侧栏会话删除插件 —— 为当前运行时(0.2.0-rc.2)重写的版本,
替代插件市场里因 peer 版本范围(^0.1.0-rc.5)不兼容而装不上的 dsh-session-delete。

仓库:

English | 中文


中文

功能

入口 菜单项 行为
会话行 … 菜单 删除会话 永久删除该会话的全部本地记录,不可恢复

要点:

  • 危险操作,红色菜单项 + 独立确认对话框(明示「不可恢复」并显示会话标题)。
  • 运行中的会话一律拒绝删除(含当前会话)——宿主端返回 409 live,对话框给出提示。
  • 删除后立即从侧栏消失,无需刷新(复用官方已转发的 api-session/removed 事件)。
  • 菜单文案跟随 GUI 语言(中文 / 英文),走官方 locale 服务。

技术实现

与旧版插件的关键差异:不再用 DOM 注入。0.2.0-rc.2 已开放官方扩展点,本插件走
标准 slot 机制,不会随侧栏结构变化而静默失效。

Host 半(index.js,纯 ESM)

  • 只 inject: ['webServer'],其余服务(sessionPersistence / workspaceRegistry /
    sessions / storageDomain)按请求用 ctx.get() 惰性获取,缺失时降级而不是拒绝加载。
  • 注册同源路由 POST /dsh-session-delete-next/delete,请求体 { sessionId }。
  • 删除顺序(先删文件,后记账,失败绝不留下「已隐藏但未删除」的半删状态):
    1. 拒绝 live / 已创建未落盘的会话;
    2. ctx.sessionPersistence.stat(id) 定位日志,locate(header).path 取路径,
    删除其所在目录(含 session.lock);
    3. 安全校验:文件名必须匹配后端自己的 session.v.jsonl[.zst|.zstd|.gz],
    且目录必须位于持久化后端的 root 之内,否则拒绝;
    4. 清理 session_projcache 投影缓存;
    5. 从 workspace 账目 detachSession,并清除归档标记;
    6. ctx.emit('api-session/removed', id) 通知浏览器。
  • 同源校验:跨站 Origin 直接 403。

Client 半(client.js,手写浏览器 bundle,无需构建)

  • window.__ModuleLoader__.load({ id: '<包名>', factory }) 懒注册。
  • 注册到官方 slot:
  • sidebar.workspaces.session.menu.item(会话 … 菜单,order: 500,排在
    pin/rename/fork/archive 之后);
  • shell.overlay(确认对话框,独立于菜单生命周期)。
  • 复用宿主注入的 useMenuOpenState() 关闭菜单;t() 来自 ctx.locale.register。
  • 若宿主缺少所需 UI primitives,只告警并跳过注册,不会让 slot 渲染崩溃。

安装

最省事的方式是直接 clone 成 profile 的插件目录(` 默认为~/.dsh/profiles/desktop`):

git clone https://github.com/ljp888/dsh-session-delete-next.git \
~/.dsh/profiles/desktop/node_modules/dsh-session-delete-next

Windows PowerShell 对应写法:

git clone https://github.com/ljp888/dsh-session-delete-next.git `
"$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-session-delete-next"

然后手动复制文件也可以,步骤:

  1. 把整个包目录复制到 /node_modules/dsh-session-delete-next/
    (` 默认为~/.dsh/profiles/desktop`)。
  2. 在 /cordis.patch.yml 追加一行挂载(此文件被 HMR 监听,保存后即热加载):
- insert:
- id: dsh-session-delete-next
name: dsh-session-delete-next
  1. 浏览器刷新一次即可看到菜单项。

> 不写入 profile 的 package.json:本包不在 npm 上,写成 dependencies 会让后续
> pnpm install / dsh plugin 操作去 registry 拉取而失败。代价是将来在 profile 里跑
> pnpm install 可能把这个目录剪掉,重装即可。

已知限制

  • 不能删除 live 会话。 官方没有公开的「驱逐运行中会话」API,所以正在运行或已打开的
    会话会被拒绝。先关掉它(或重启 DSH)再删。
  • 子智能体会话也可删除;删除后父会话的子智能体目录会少一项,界面会随
    api-session/removed 自行收敛。
  • 附件不删。 ~/.dsh/attachments/** 是内容寻址、跨会话共享的,删除会话不会动它。
  • Windows 上若另一个进程仍持有 session.lock,rm 可能报 EBUSY;此时对话框会显示
    原始错误且磁盘状态不变,重试即可。
  • 全量删除(按工作区批量)未实现——只做单个会话删除,减少不可验证的失败路径。

实测验证状态(本机)

项目 结果
宿主端加载 + 路由注册 ✅ ~/.dsh/logs/desktop-next.log:[dsh-session-delete-next] host ready: POST /dsh-session-delete-next/delete
profile 热加载(无需重启) ✅ 追加 patch 行后 Loader 自动刷新,日志即出现上述行
侧栏 … 菜单出现「删除会话」 ✅ 红色危险样式 + 分隔线,排在官方「归档会话」之后
中文 locale 解析 ✅ 显示「删除会话」,不是原始 key
确认对话框 ✅ 标题、含会话名插值的正文、红色「永久删除」、取消
执行真正删除(成功路径) ⚠️ 未执行 —— 原因见下

为什么没做破坏性实测:验证时侧栏只有一条会话,正是承载那次对话的活跃会话。
官方在 0.2.0-rc.2 没有公开「驱逐运行中会话」的 API,所以插件会拒绝删除它;
跑通「删除成功」路径需要一个非活跃会话当靶子,我不拿真实对话历史去赌。
想自行确认:新开一个会话 → 随便发一条消息 → 切回原会话 → 对那个测试会话执行删除。
删除成功的判据是 ~/.dsh/sessions/<项目目录>/<会话 id>/ 整个目录消失,且侧栏该行立即消失。

> 注:index.js 的 fail-closed 安全加固(sessions 服务不可用时拒绝删除)不在 HMR
> 模块监听根内,需重启 DSH 才在运行实例中生效;之前的运行实例行为一致。

English

Adds the missing Delete session action to the sidebar session row menu of DSH
0.2.0-rc.2, replacing the marketplace dsh-session-delete whose peer range
(^0.1.0-rc.5) no longer resolves.

  • Permanently removes the session's local records; red danger styling plus a
    confirmation dialog that states the action is irreversible.
  • Running/open sessions are refused (409 live) — they are never deleted.
  • The row disappears immediately, with no refresh, by re-emitting the official
    api-session/removed forwarded event.
  • Localized through the client locale service (zh/en).

Unlike the original plugin this uses the official slots rather than DOM
injection: sidebar.workspaces.session.menu.item for the menu row and
shell.overlay for the dialog. Files are removed before any bookkeeping, so a
failure never leaves a session that is hidden but still on disk.

Install: clone this repository straight into the profile's plugin directory —
git clone https://github.com/ljp888/dsh-session-delete-next.git ~/.dsh/profiles/desktop/node_modules/dsh-session-delete-next
— then append the - insert: row to /cordis.patch.yml and refresh the
page. The profile package.json is deliberately left untouched because this
package is not published to npm.

License

MIT

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-session-delete-next 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add github:ljp888/dsh-session-delete-next` 即可。

dsh-session-delete-next 的验证等级是什么意思?

L5 · 运行验证通过。在 dsh 沙盒中完成安装与运行冒烟——装得上、跑得起来

dsh-session-delete-next 安全吗?

低风险。

dsh-session-delete-next 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-session-delete-next 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

这条记录的数据可靠吗?

本站按仓库名去重后合并整理,字段以作者仓库与 npm 元数据为准;安装命令、仓库地址与 README 保持原文,带 L4 / L5 标记的安装命令已在隔离沙盒里真实跑通。

会话与消息
按星标排序,可作替代方案

dsh-desktop

dsh-desktop

为 DeepSeek Harness (DSH) 插件生态打造的现代化桌面端解决方案。万物皆「插件」,桌面本身也是「插件」。

L3 · 安装规范通过 3.0 万 星

openpets

openpets

L4 · 沙盒安装通过 1,274 星

deeptide

deeptide

L4 · 沙盒安装通过 1,104 星

jingyun-dsh

jingyun-dsh

井云 DSH 客户端插件,为 DeepSeek Harness 注入会员登录、订阅支付、算力管控与应用市场,让智能体和技能快速变成可交易商品

L3 · 安装规范通过 1,004 星

study-mate

study-mate

StudyMate 是 DSH 的「学习模式」预设与技能包,为数学、计算机科目定制学习路线、讲解课件与练习评估,跨科目共享记忆。

未标注验证等级 856 星

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。