dsh-workspace-optimize:DSH 左侧工作区侧栏增强

前言

在 DeepSeek Harness(DSH)里同时维护多个工作区、多条会话时,默认左侧工作区树往往只能按官方逻辑浏览与排序。若你希望像管理 IDE 项目一样给文件夹和会话打收藏、改颜色、看运行状态,并在会话等待审批或完成时收到桌面提醒,就需要在客户端侧做一层增强。社区插件 dsh-workspace-optimize(维护者 akilonewbility)针对的正是这一块:在不替换 DSH 会话存储的前提下,用自定义增强侧栏和 Host 侧事件桥接,补收藏、置顶、优先级、状态灯与通知等能力。

这是什么

dsh-workspace-optimize 是 DSH 的客户端类插件(npm 包名 dsh-workspace-optimize,当前版本 0.1.1,MIT 许可证)。它通过 Cordis patch 替换 sidebar.workspaces 的渲染(也可切回官方侧栏),并在 Host 半监听会话状态事件,经本机 loopback 推给浏览器半展示状态灯与 Windows 系统通知。

插件要求 DSH >= 0.2.0-rc.1(package.json 中 engines.dsh 为 >=0.2.0 <0.3.0-0)。与 DeepSeek / 幻方无官方隶属关系;可在 SkillHub 目录页 与 GitHub 仓库 查看说明与源码。

核心功能

增强侧栏

  • 侧栏模式:默认使用插件自绘的增强侧栏,可在设置中切回「官方侧栏」,释放插槽后官方 UI 原位置恢复,无需整页重载。
  • 收藏、优先级、颜色:对工作区文件夹和会话同时支持收藏、排序优先级与颜色标签;增强侧栏尽量还原原版侧栏操作习惯。
  • 排序:侧栏头部菜单支持按「最后更新」自动排序,最近有用户消息的会话排到前面(与「手动」写入宿主顺序的模式互有取舍,见下文限制)。
  • 右键与悬停:增强侧栏可直接右键工作区与会话打开菜单,悬停可查看会话信息。

会话状态与通知

  • 状态指示灯:运行中、等待交互、完成时分别显示蓝色呼吸灯、黄色呼吸灯、绿色灯。
  • 桌面提醒:在需要审批、等待回答、完成或出错等场景,经 Notification API 推送到 Windows 通知中心;点击可跳转到对应会话。事件来源为 Host 对 api-session/status、api-session/activity、api-session/error、session/event 等的采集,浏览器半以 SSE(EventSource)为主、失败时轮询。

其他能力(README 已列)

  • 正文搜索:侧栏内搜索会话正文(结果最多展示 30 条,无全文分页)。
  • 跨工作区移动:在可选依赖 @michengai/dsh-archive-manager 存在时提供移动入口;缺失时收藏由本插件本地保存、移动入口隐藏。
  • 空白草稿:默认隐藏无消息的空白会话(与官方一致);开启「显示空白会话」后标题显示为「新建会话」。

安装与启用

在已安装 Node.js(插件要求 Node >= 22)且 DSH 版本满足上述范围的前提下,任选 README 中的方式安装:

npm i dsh-workspace-optimize

或:

dsh plugin --profile desktop add dsh-workspace-optimize

安装后插件默认总开关 enabled 为开启。Host 半(index.js、lib/)更新需重启 DSH;浏览器半(client.js)可在设置页「维护」里「重新加载界面」加载,但会丢失未发送的输入。

典型用法

切换侧栏样式

打开 设置 → 工作区增强 → 侧栏样式:

  • 增强侧栏:使用插件替换 sidebar.workspaces 的渲染。
  • 官方侧栏:撤销增强渲染,官方侧栏原位恢复。

若切回官方侧栏后出现空白,README 建议在 设置 → 工作区增强 → 维护 中执行「重新加载界面」。

维护与版本对齐

桌面端没有浏览器刷新入口,设置页提供:

控件 用途
刷新侧栏数据 只重新拉取侧栏数据,不重载页面
重新加载界面 重载页面以加载更新后的 client.js
界面版本 对比页面与 Host 的界面修订号,不一致时提示重载

通知与免打扰

设置页字段与 /state 中的 settings 对应,常用项包括:

字段 默认 说明
sidebarMode optimized optimized 增强侧栏 / native 官方侧栏
showBlankSessions false 是否显示空白会话草稿
notify.complete / notify.waiting / notify.error true 完成、等待确认、出错时通知
notify.started false 会话开始运行时通知
notifyWhenVisible false 窗口可见时是否仍通知
dnd.enabled false 免打扰;dnd.start / dnd.end 默认 23:00 / 08:00(本地时间)

通知无权限时会降级为页面内提示;页面关闭后不再收到通知(依赖页面进程)。

适用场景与注意

适合谁:长期在 DSH 桌面端或多工作区并行开发、需要侧栏级收藏/颜色/排序,并希望在会话阻塞或完成时通过系统通知感知的用户。

可选协同:安装 @michengai/dsh-archive-manager 时,收藏可与 Archive Manager 星标一致,并启用跨工作区移动;本插件不声明 sidebar.workspaces.session.* 子插槽,因此 Archive Manager 等第三方插件的会话行级菜单不会出现在增强侧栏中(设置页入口不受影响)。Schedule 的时钟标记由插件用官方数据自绘。

数据与隐私:插件状态保存在 %USERPROFILE%\.dsh\workspace-optimize-state.json(若 Host 设置了 DSH_PROFILE_DIR 则落在对应 profile 目录),内容为颜色、优先级、设置与收藏等,纯本地、无遥测;HTTP 仅监听本机 DSH loopback。

已知限制(节选):

  1. 官方无删除会话 API,仅归档;本插件不提供删除。
  2. 「最近更新」排序下手动顺序不可见;状态灯与「完成未查看」为内存态,重启后绿点消失。
  3. 跨工作区移动会搬迁会话日志;运行中会话、子代理会话或目标同名日志会被拒绝。
  4. 扩展类型为 shadows-shipped-ui,DSH 大版本升级后可能需要作者适配。

安全提示:插件以当前 DSH 进程权限运行,安装前请阅读 GitHub 源码 与 MIT 许可证,自行评估是否纳入你的工作流。

结尾

dsh-workspace-optimize 把 DSH 左侧工作区从「只读树」扩展成可收藏、可着色、可排序并带状态灯与桌面通知的增强侧栏,且可随时切回官方 UI。若你在 SkillHub 或 GitHub 看到更新,记得区分 Host 与 client 的更新方式(重启应用 vs 设置页重载界面)。

  • 目录页:https://www.skillhub.cn/plugins/akilonewbility/dsh-workspace-optimize
  • GitHub:https://github.com/akilonewbility/dsh-workspace-optimize
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye