DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Lqg97 /

Lqg97/dsh-session-suspend

Verified

DSH(DeepSeek Harness)侧边栏会话挂起插件:把空闲会话收进底部「已挂起」折叠组,可逐个/整批恢复

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@6796e5c3

dsh-session-suspend

给 DSH(DeepSeek Harness)侧边栏的会话列表加一个挂起模式:把暂时不用的会话收进侧边栏底部的「已挂起」折叠组,需要时再恢复回列表。

会话不会消失:挂起只是把它从列表里收起并记账,随时可以从折叠组里恢复(或恢复并打开)。

特性

  • 挂起入口:会话行悬停时的月亮按钮,或行的「...」菜单 →「挂起会话」(排在"归档"之后、"复制会话 ID"之前)。
  • 折叠组:侧边栏底部出现「🌙 已挂起 N」按钮,新收进会话时会闪一下;点开是浮层列表,点行 = 恢复并打开,尾部箭头 = 只恢复,表头全部恢复一次还原,Esc/点外部收起。
  • 状态驱动:挂起/恢复按宿主归档状态判定,对已经挂起的会话再点菜单只会取消挂起,不会重复归档;读取不到快照时保守回退,不跳过 Host 调用。
  • 提示条:底部居中(对齐中间内容列,不被左侧栏宽度带偏)、跟随主题色、14px 带图标、可点 × 关闭;挂起成功那条带撤销,恢复会给「已恢复」反馈;提示条本体不挡点击,只有「撤销 / 关闭」接收鼠标。
  • 与宿主一致:悬停提示用和宿主图标同款的气泡(500ms 延迟、下方右对齐、portal 到 body);菜单行、行悬停按钮、折叠组入口都走宿主的增量槽,不替换任何宿主 UI;中英文案随 DSH locale 切换,颜色全部走主题 token。

要求

  • DSH(DeepSeek Harness)0.2.1-rc.5(开发与验证所用版本);更早版本若缺少对应槽位,插件会静默不注册,不影响宿主。
  • 无其他依赖。

安装

插件是「本地目录 bundle」,把仓库克隆到任意位置后安装:

git clone https://github.com/Lqg97/dsh-session-suspend.git

在 DSH 里打开 插件管理 → 安装本地目录,选择克隆后的目录(例如 ~/code/dsh-session-suspend);或让 agent 调用插件管理器的 install_bundle,target 填该目录的绝对路径。

安装后刷新一次页面(Cmd+R)即可生效,无需重启。首次安装会出现在插件管理列表里(标题「会话挂起」)。

卸载:插件管理器里卸载 @local/dsh-session-suspend,或从 profile 的 dsh.profile.bundles 中移除后刷新。

用法

  1. 在侧边栏某条会话上悬停 → 点月亮,或打开该行「...」菜单 →「挂起会话」。
  2. 会话从列表收起,底部出现「🌙 已挂起 N」。
  3. 点底部按钮展开折叠组,逐个或全部恢复;挂起成功的提示条也能直接撤销。

行为边界

  • 只有空闲会话能挂起:会话还在跑(回合、子代理、后台任务、定时提醒)时 Host 会拒绝,插件提示「还在运行,停止后再挂起」,不会替你停掉工作(从不传 stopActivity)。
  • 复用宿主归档状态:列表行由宿主 ui-workspace 渲染,插件没有"把行折叠起来"的插入点,所以挂起借用宿主的归档把行移出列表;插件只记录"由挂起动作归档"的会话,你在宿主归档筛选里手动取消归档时,折叠组里的对应项会自动消失。
  • 本地记录:挂起集合存在浏览器 localStorage;换浏览器/清站点数据后折叠组会失去记录,但这些会话仍是宿主里的归档状态,可在宿主的归档筛选里恢复。
  • 归档筛选下的重叠:切到「全部对话 / 仅显示已归档」时,挂起的会话也会按宿主规则出现在列表里(置灰),这是复用归档语义的固有重叠。

工作区级挂起(待宿主槽位)

侧边栏的工作区分组行没有插件插槽(宿主只开放了 Session 行的菜单/悬停按钮),Host 也没有工作区级归档/收起状态,所以「挂起整个工作区」目前做不了。

需要的槽位与状态已整理成需求文档并提交给上游:

  • 上游讨论(DeepSeek Harness · Ideas):https://github.com/deepseek-ai/deepseek-harness/discussions/11996
  • 需求文档:docs/workspace-row-slots-request.md(含接口草图、兼容性、验收标准)

在宿主支持之前的临时替代:工作区分组本身可以点标题折叠(宿主原生能力)。

实现

文件 作用
index.js Host 半身(空 apply):让 bundle 有可激活的行,并让 Client 模块并入 web 模块图
client.js 浏览器半身:折叠组、行菜单项、行悬停按钮、提示条、词典与样式
cordis.patch.yml 插入 session-suspend 行
locale/*.json 插件管理里的标题与描述
icon.svg 插件图标(原创)

用到的宿主扩展点(全部是增量槽,未注册时宿主行为不变):

  • sidebar.workspaces.session.menu.item(菜单项,order 420)
  • sidebar.workspaces.session.row.action(行悬停按钮,order 90)
  • sidebar.footer.action(底部折叠组入口,order 20)
  • shell.overlay(提示条,order 30)

License

MIT

—/ 5

No ratings yet

Verified DSH bundle

Commit 6796e5c3e9b5

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout