Skip to content

Releases: JeffKeeping/dsh-session-manager

v0.4.1 — 删除入口迁移到会话行菜单

Choose a tag to compare

@JeffKeeping JeffKeeping released this 17 Oct 16:06

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

Choose a tag to compare

@JeffKeeping JeffKeeping released this 17 Oct 15:48

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

Choose a tag to compare

@JeffKeeping JeffKeeping released this 17 Oct 15:33

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 ??,?????)