# dsh-session-delete — 会话管理插件 dsh 插件:`/t-archive`(归档区)+ `/t-restore`(回收站),带稳定序号、关键词筛选与临时关键词列表。 English: [README.md](README.md) > **Vibe coding 声明** —— 本插件全程 **vibe coding** 开发:由 > **deepseek-v4-flash + DeepSeek Harness** 与作者交互迭代完成,并由 > **deepseek-v4-flash + Harness** 代为发布。 ## 功能 - `/t-archive` — 归档区管理(侧边栏右键"归档"的对话) - 列出(按工作文件夹分组)、恢复、删除进回收站、彻底删除 - 含 **"未分组(游离会话)"** 区:父会话已删除的 fork/子代理孤儿会话,可直接删除 - `/t-restore` — 回收站管理 - 列出、恢复到原工作区、彻底删除某个、全部清空 - **稳定序号**:两次列出之间一个序号始终对应一个会话;操作后位置显示空缺(`———— 已恢复(位置空缺)`),不重新编号 - **关键词优先**:唯一匹配直接操作;多匹配建立**临时关键词列表**,用 `--kw <序号|关键词>` 在列表内操作(无区分度的关键词会被拒绝,不嵌套列表) - 批量序号(`--delete 1 3 5`)、完整 `session-…` id、`--purge`/`--clear` - **多工作区**:归档区覆盖所有工作区;回收站全局;恢复回到各会话原工作区 - 安全:拒绝删除有活动任务的会话(`agent.status === 'running'`);文件路径全部来自官方 API ## 安装 从 GitHub(需先发布仓库): ```powershell dsh plugin --profile web add github:TANGBINGBINGING/dsh-session-delete ``` 本地路径安装: ```powershell dsh plugin --profile web add file:C:/路径/dsh-session-delete ``` 重启 dsh(`npx @deepseek-ai/dsh web`),在输入框输入 `/t-archive` 或 `/t-restore`。 > 本插件是 **bundle** 型(package.json 声明 `dsh.bundle.patch`),自动注册—— > **不要再在 profile 的 `cordis.patch.yml` 里手动 insert**(重复 loader 条目 id 会导致 dsh 启动失败)。 ## 用法 ``` /t-archive 列出归档区(按工作文件夹分组,刷新) /t-archive <序号...> 恢复(回到对话列表) /t-archive --delete <序号...> 删除进回收站 /t-archive --delete --purge <序号...> 彻底删除(不可找回) /t-archive <关键词> 唯一匹配直接恢复;多匹配建立临时关键词列表 /t-archive --delete <关键词> 唯一匹配直接删除 /t-archive --kw <序号|关键词> 在最近临时列表中操作(关键词必须唯一) /t-restore 列出回收站(刷新) /t-restore <序号...> 恢复到原工作区 /t-restore --delete <序号...> 彻底删除某个 /t-restore --clear 全部彻底删除 ``` 输入规则:纯数字 = 序号;`session-…` = id;其他 = 关键词。`[运行中]` = 有活动任务(不可删除)。 ## 卸载 ```powershell dsh plugin --profile web remove dsh-session-delete ``` ## 开发 ```bash node tools/dsh-session-delete/test.mjs # 35/35 ``` ## 语言适配 本插件**原生为中文**(默认输出)。提供英文适配,通过 `DSH_LANG` 环境变量切换: ```powershell # 英文输出(启动 dsh 前设置) set DSH_LANG=en npx @deepseek-ai/dsh web ``` - **默认**(不设 `DSH_LANG`):中文输出 - **`DSH_LANG=en`**:命令、列表、成功/错误消息、`/` 菜单描述全部英文 - 输入解析与语言无关(数字、`session-…` id、关键词行为一致) > **测试声明**:英文适配由 **AI 自动测试**验证——单元测试覆盖两种语言(41/41 通过:35 中文 + 6 英文)。**尚未经过人工测试**。 ## 设计要点 - dsh 无公开 unarchive API;插件复刻官方归档的逆向操作(`enqueueOperation` → `requireState` → `setState`),持久化到 workspace.json 并广播 `host/archived-sessions-changed` 使 UI 实时更新 - 回收站恢复后重新索引 header,让会话归位原工作区 - 删除后先重建索引再清理归档标记,不留残留 ## License [MIT](LICENSE)