DeepSeek Harness 插件

dsh-session-dustbin

DSH 会话纸篓:归档的会话随手丢进纸篓——随时翻看对话内容,一键删除(含文件)或恢复,删除即时生效无需重启。(英文原文)

跳到安装方式

来源信息

GitHub 仓库
Github-CJX/dsh-session-dustbin
最近更新
2026年8月21日
分类
工具与能力
GitHub stars
0
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-21

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/Github-CJX/dsh-session-dustbin
插件名:dsh-session-dustbin
作者:Github-CJX

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器3 个文件
README.md来源说明 · 只读预览

dsh-session-dustbin

DSH 会话纸篓 — 归档的会话像丢进纸篓的纸:随时翻出来看内容,不要了连文件一起倒掉,删除即时生效、无需重启。

!plugin type !license !tests

<img width="1264" height="801" alt="image" src="https://github.com/user-attachments/assets/1b6eac82-df7f-4b33-962a-9fac70ef6d9b" />

<img width="1264" height="801" alt="image" src="https://github.com/user-attachments/assets/a5665b63-4d64-4eb1-a0f2-6ba5fb225405" />

在设置 → 插件 → 可配置 增加「会话纸篓」卡片:

  • 归档会话纸篓:列出已归档会话,展开可查看对话内容(从会话日志解码,多帧 zstd 兼容)
  • 删除会话:活跃与归档会话均可删除——先归档(侧边栏即时消失)再删文件(数据彻底清除),无需重启
  • 恢复归档:一键把归档会话恢复为活跃会话
  • 侧边栏快捷删除(实验性):会话行「…」菜单注入「🗑 删除对话」,DSH 风格确认框

工作原理

  • 列表状态实时读取平台 workspaceRegistry 内存服务(归档/恢复立即反映),磁盘 ~/.dsh/storages/workspace.json 为兜底
  • 会话内容从 ~/.dsh/sessions/<项目>/<id>/session.jsonl.zstd 多帧 zstd 逐帧解码(兼容 rc.7 追加式日志格式)
  • 所有操作走 loopback 围栏桥(/api/dsh-session-dustbin/*),仅本机浏览器可访问
  • 删除链路workspaceRegistry.archiveSession()(内存广播,侧边栏立即收走)→ 删除会话目录 → 清理 workspace.json 标记;列表读取时过滤目录已不存在的会话,标记残留不会显示

已知约束

  • 活跃会话的事件日志未完整落盘(关闭才 flush)→ 只能查看归档会话全文;活跃会话只列出不读内容
  • 删除不可逆(会话目录 + 标记一并清除),卡片与侧边栏均带 DSH 风格确认框(需勾选「无法恢复」才能确认)
  • 删除后重启前,DSH 侧边栏的归档分组可能残留一个点不开的空条目(平台无移除归档标记的 API;插件列表不受影响,重启后彻底干净)
  • 侧边栏注入为实验性:React 重渲染可能吞掉注入项(下次打开菜单重新注入);会话定位按标题反查,重复标题取第一个

仓库结构

dsh-session-dustbin/
├── lib/                        # 宿主侧(Node ESM,零 cordis 工具依赖)
│   ├── index.js                # 插件入口:设置段 + 路由挂载
│   ├── routes.js               # loopback 围栏桥(list / get / delete / unarchive)
│   ├── sessions.js             # workspace.json 读写 + 会话枚举/内容/删除/恢复
│   ├── zstd.js                 # 多帧 zstd 解码(rc.7 追加式日志格式)
│   ├── protocol.js             # 与客户端共享的路径/命名空间常量
│   └── client.js               # 预构建客户端 bundle(提交以便克隆即用)
├── src/client/                 # 客户端(浏览器侧,rolldown 打包)
│   ├── index.ts                # 入口:settings.plugin.item keyed 卡注册
│   ├── SessionAdminCard.tsx    # 会话纸篓卡片(列表/内容/删除/恢复)
│   ├── sidebar-inject.tsx      # 实验性:侧边栏会话菜单注入「删除对话」
│   ├── locales.ts              # zh / en 文案
│   └── session-card.module.css
├── docs/                       # installation / troubleshooting / architecture
├── build-client.mjs            # 客户端构建脚本
├── sync-profile.mjs            # 同步插件到 profile(清拷贝 + 重装 + 校验)
├── smoke-client.mjs            # 客户端冒烟测试
├── test-sessions.mjs           # 宿主逻辑测试
└── cordis.patch.yml            # profile bundle 注册补丁

开发

node test-sessions.mjs          # 宿主逻辑测试(临时目录,不碰真实数据)
node build-client.mjs           # 重建客户端 bundle
node smoke-client.mjs           # 客户端冒烟
node sync-profile.mjs           # 同步到 profile(file: 实体拷贝),然后重启 DSH

架构细节见 [docs/architecture.md](docs/architecture.md),安装见 [docs/installation.md](docs/installation.md),排障见 [docs/troubleshooting.md](docs/troubleshooting.md)。