Repository navigation
Releases: JeffKeeping/dsh-session-manager
Release list
v0.4.1 — 删除入口迁移到会话行菜单
v0.4.1
基于上游 dream12347/dsh-session-manager v0.2.3(MIT)的衍生版本,在 DSH 0.2.1-rc.2 上验证。
变更
- 删除入口迁移到会话行菜单:移除对话顶部占据标题栏的红色「删除本对话」按钮,改为侧边栏会话行「…」菜单中的一项,与「置顶 / 重命名 / 分叉 / 归档 / 复制 Session ID」并列;二次确认、强制删除、失败提示的行为保持不变,删除成功后自动关闭菜单并刷新会话列表。对话顶部继续保留「对话管理」与「回收站」两个入口
- 文档截图更新:README 换用真实界面截图并逐张重写图注,图片改名为新文件名(旧路径受 GitHub 图片缓存影响可能仍显示旧图)
截图
1. 设置页 · 会话管理 —— 独立分栏、按工作区分组、行内操作、批量删除,底部回收站与「清空回收站」
2. 会话行「…」菜单 —— 置顶 / 重命名 / 分叉 / 归档 / 复制 Session ID 之下,独立分组的红色「删除本对话」
3. 会话管理抽屉 —— 对话顶部「对话管理」打开,「更多」收纳统计/文件夹/新聊天中继续,底部已归档与回收站
4. 通用设置 · 上下文压缩阈值 —— 17%–90%,保存即生效并对所有 Agent 预设统一应用
实现
- 菜单项注册在官方插槽
sidebar.workspaces.session.menu.item
id: dsh-delete-session-menu-item
order: 500 # 排在「复制 Session ID」(450) 之后
danger: true # 红色危险项
separatorBefore: true # 单独成组
- 组件使用官方
MenuItemButton,选中后通过注入的useMenuOpenState关闭菜单 - 会话标题与 ID 取自插槽 owner props(
sessionId/displayTitle)
包含的自 0.4.0 功能
- 一键清空回收站:回收站底部「清空回收站」,经
POST /dsh-session-manager/purge-all一次性永久删除全部条目与磁盘目录,失败条目保留以便重试 - 原生确认弹窗:所有
window.confirm/window.alert改为官方Modal(遮罩模糊、Esc 关闭、焦点归还、危险色按钮、等宽展示会话 ID) - 强制删除:常规删除失败时弹窗提供「强制删除」,跳过归档校验、按
~/.dsh/sessions/<project>/<id>兜底定位并移入回收站(仍可恢复) - 更宽的会话 ID 兼容:
od-<uuid>等非session-<hex>的 ID 不再报invalid-session-id - 路由注册崩溃修复:
webServer.register()对重复路由硬抛错,重挂载会重复注册 9 条路由且旧注册未释放,异常沿apply()逃逸使 DSH 启动失败;改为进程级路由表接管,冲突只记日志
安装
dsh plugin --profile <profile> add https://github.com/JeffKeeping/dsh-session-manager/releases/latest/download/dsh-session-manager.tgz或本地目录:dsh plugin --profile <profile> add /absolute/path/to/dsh-session-manager(link 安装,勿删除目录)。
插件市场
提交清单在 market-submission/JeffKeeping__dsh-session-manager.yml。
v0.4.0 — empty trash, native dialogs, force delete
v0.4.0
基于上游 dream12347/dsh-session-manager v0.2.3(MIT)的衍生版本,在 DSH 0.2.1-rc.2 上验证。
新增
- 一键清空回收站:回收站底部新增「清空回收站」,经
POST /dsh-session-manager/purge-all一次性永久删除全部条目与磁盘目录;失败条目保留以便重试,响应回报purged/failed/remaining - 原生确认弹窗:删除 / 恢复 / 彻底删除 / 清空回收站 / 批量删除 / 删除工作区 / 保存失败等提示改用官方
Modal(遮罩模糊、Esc 关闭、焦点归还、危险色按钮、等宽展示会话 ID),不再弹出桌面端系统消息框 - 强制删除:常规删除失败时弹窗提供「强制删除」,跳过归档校验、按
~/.dsh/sessions/<project>/<id>兜底定位并移入回收站(仍可恢复);运行中的会话仍拒绝 - 更宽的会话 ID 兼容:
od-<uuid>等非session-<hex>的 ID 不再报invalid-session-id
修复
- 重挂载导致宿主启动崩溃:
webServer.register()对重复路由硬抛错,插件重挂载时会重复注册 9 条路由且旧注册未释放,异常沿apply()逃逸使 DSH 启动失败。改为进程级路由表接管:新挂载先释放旧注册再注册,冲突只记日志;setup()失败也被兜住
安装
dsh plugin --profile <profile> add https://github.com/JeffKeeping/dsh-session-manager/releases/latest/download/dsh-session-manager.tgz或本地目录:dsh plugin --profile <profile> add /absolute/path/to/dsh-session-manager(link 安装,勿删除目录)。
插件市场
提交清单在 market-submission/JeffKeeping__dsh-session-manager.yml。
v0.3.0 - native dialogs, force delete, crash fix
v0.3.0
???? dream12347/dsh-session-manager v0.2.3(MIT)?????,? DSH 0.2.1-rc.2 ????
??
- ??????:?? / ?? / ???? / ???? / ????? / ???????????
Modal(?????Esc?????????????????? ID),???????????? - ????:?????????????????,????????
~/.dsh/sessions/<project>/<id>??????????(????);????????? - ????? ID ??:
od-<uuid>??session-<hex>? ID ???invalid-session-id
??
- ???????????:webServer.register() ????????,??????????? 8 ??????????,???
apply()??? DSH ???????????????:????????????,??????;setup()??????
??
dsh plugin --profile <profile> add https://github.com/JeffKeeping/dsh-session-manager/releases/latest/download/dsh-session-manager.tgz?????:dsh plugin --profile <profile> add /absolute/path/to/dsh-session-manager(link ??,?????)



