← 返回列表
✓ 可直接安装
一个 DeepSeek Harness…
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=20);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/18 · 已提供中文文档
综合分
40.2
GitHub 分
40.2
用户评分
—
★ Stars
18
周下载量
—
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/youqu68/dsh-delete-chat.git信任档位:已验证本站已于 1 天前真实安装成功
- 是什么
- 兼容 / 相关生态插件(非 dsh 原生)
- 装得上吗
- 本站已真实安装成功(非静态推断)
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 4 天前
档位由下列信号合成:本站实装验证(真实安装)· 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
🟢实装验证通过· 2026/9/22
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/22(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-delete-chat @ 0.1.1
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 08:26:43
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-delete-chat
一个 DeepSeek Harness 会话管理器:一个设置页面,列出所有会话,并让你归档(隐藏)、取消归档(恢复)以及永久删除会话。
一个 DeepSeek Harness 会话管理插件:在设置页中列出全部会话,并支持归档(隐藏)、取消归档(恢复显示)与永久删除会话。
What it does / 功能
- 列出 每个会话及其标题、工作目录和创建时间,分为已归档和活跃两组。
- 归档 一个会话,将其从侧边栏隐藏。日志会被保留,因此归档完全可逆。
- 取消归档 一个会话,使其重新可见。
- 删除 一个会话,永久删除:移除其持久化日志文件,然后将其从工作区记账和归档集合中分离。
Install / 安装
dsh plugin --profile web add dsh-delete-chat
该包声明了 dsh.bundle.patch,因此该命令会安装它并将其协调到 dsh.profile.bundles 中——无需编辑配置文件。重启 dsh web 即可挂载它。
Usage / 使用
打开 Settings → 会话管理(Session Manager)。
Safety / 安全边界
- 归档不是删除。 归档只是隐藏一个会话;其日志仍保留在磁盘上,取消归档 可将其恢复。
- 活跃会话无法被删除。 正在运行的会话的删除按钮处于禁用状态,即使直接调用,宿主也会拒绝该请求。
- 删除是永久性的,且分两步。 第一次点击会显示将被移除的确切文件路径;只有第二次点击才会真正删除任何内容。
- 只触及会话自身的产物。 宿主通过 sessionPersistence.locate() 解析路径,拒绝任何文件名不是 session.jsonl 的内容,并拒绝不暴露每会话产物的后端(例如 SQLite 存储)。
- 感知沙箱。 会话文件位于 $DSH_HOME/sessions 下,在工作区之外。如果宿主的 shell 沙箱拒绝该移除操作,插件会呈现该拒绝,而不是强行执行,该文件可以手动删除。
- 搜索索引。 已删除的会话会立即从会话列表中消失;全文搜索索引可能会保留一条过时记录,直到下次 DSH 重启,这是文档中说明的协调点。
Architecture / 结构
一个双面包:
| 部分 | 文件 | 作用 |
| --- | --- | --- |
| 宿主插件 | lib/index.js | apply(ctx) 提供 delChat 服务 |
| 宿主清单 | lib/typert.host.js | ./typert Typert 贡献,通过网关暴露 delChat |
| 浏览器插件 | lib/client.js | settings.section 页面,通过 exports["./client"] 挂载 |
| 挂载 | cordis.patch.yml | 一行 insert:del-chat → dsh-delete-chat |
浏览器端通过 remote.delChat. 访问宿主。宿主端不导入任何 @deepseek-ai/* 运行时包——它使用 ctx.get(...) 读取宿主进程自身的服务,并通过手写的 typertRemote 绑定将自身绑定到网关,因此构建此插件无需代码生成步骤。
暴露的 Remote 方法:
delChat.list() → { sessions: [...] }
delChat.archive({ sessionId }) → { archivedSessionIds: [...] }
delChat.unarchive({ sessionId }) → { archivedSessionIds: [...] }
delChat.inspectDelete({ sessionId })→ { deletable, reason, path, dir }
delChat.deleteSession({ sessionId })→ { path }
开发
npm install
npm run build # esbuild → lib/index.js, lib/typert.host.js, lib/client.js
npm test # structural validation of both halves
npm run build 会写出已发布的产物:
- lib/index.js — 宿主插件,打包为 ESM。
- lib/typert.host.js — 从 src/typert.host.js 原样复制。
- lib/client.js — 浏览器打包产物,包裹在 DSH 客户端模块系统所执行的 window.__ModuleLoader__.load({ id, factory }) 外壳中,并将 react 保留为外部依赖,以供 shell 的静态模块表使用。
npm test 会针对一个模拟的 Cordis 上下文(exports、提供的服务、typertRemote 绑定、manifest 结构)导入构建后的宿主部分,并针对一个伪造的 window.__ModuleLoader__ 加上一个 react shim 执行构建后的浏览器打包产物,断言注册 id、exports、Remote 描述符以及 settings.section 注册。
许可证
MIT扫码进群