前言¶
DeepSeek Harness(DSH)在每条会话行上会画状态点,但工作区(文件夹)那一行默认没有汇总信息。把某个工作区折叠或滚出视口后,你很难从文件夹标题判断里面是否还有会话在等你审批、仍在跑子任务,或刚跑完还没点开。
dsh-workspace-status 是维护者 Stijnus 发布的 Web 客户端插件(npm 包名 dsh-workspace-status,当前版本 0.3.2,MIT 许可证)。它在侧边栏补上三类能力:工作区行上的彩色状态标记、列表上方的「已置顶」会话区,以及仅针对置顶会话的应用内/桌面通知。插件通过社区目录与 GitHub 分发,与 DeepSeek / 幻方无官方从属关系;DSH 生态里能力多以插件形式扩展,安装前建议自行查看源码与许可证。
这是什么¶
一句话:给 Harness 侧边栏增加 工作区级状态点、置顶会话独立分区,以及 置顶会话专属通知。
插件面向使用 DSH Web UI、需要在多工作区、多会话并行时快速扫一眼「哪个文件夹有事」的开发者。数据与 Harness 内置行为对齐:置顶列表来自 Host 在 profile 工作区注册表里持久化的全局 pinnedSessionIds;置顶操作使用 Harness 自带的 pin(行 hover 按钮或行 … 菜单),无需额外配置字段。
工作区状态标记¶
Harness 只在会话行显示状态点,工作区行右侧原本是空的。本插件在该位置(与会话行时间戳同类区域)渲染 一个 汇总标记,展开或折叠工作区都会出现;屏幕阅读器可通过隐藏文案获知详细计数(例如「Workspace activity: 2 running, 1 waiting for you — api, web」)。
标记含义与颜色如下(与资料中的 design token 一致):
| 标记 | 含义 | 颜色 |
|---|---|---|
| 实心点 | 至少一条会话在等你(审批、计划审阅或提问) | amber(--dsw-alias-state-warn-primary) |
| 描边环、旋转 | 至少一条会话在运行(含运行中的 subagent) | blue(--dsw-static-deepseek-450) |
| 实心点 | 至少一条会话刚结束且尚未被打开过 | green(--dsw-alias-state-success-primary) |
优先级与会话行一致:等你处理 高于 运行中,高于 刚完成提醒;因此文件夹行同时只显示一种外观,隐藏描述里仍可报告各项数量。
补充规则(README 已写明):
- subagent 活动算在父会话所在工作区;subagent 行本身不产生工作区标记。
- 已归档会话不参与汇总。
- 「刚完成」标记是提醒而非永久旗标:自会话最后更新起(或插件观察到停止后起)一小时内有效,避免文件夹行长期绿点;单会话行的绿点仍按 Harness 默认直到被打开。
- 未分组会话汇总在 Ungrouped 桶行。
- 全部空闲时不渲染可见标记。
已置顶会话区¶
置顶后会话从常规工作区分组中「抽出」,出现在全局面板行与 Workspaces 标题之间的 Pinned 区:
- 按工作区分组,组头使用与官方浏览器一致的 34px 文件夹行、蓝色激活色、 disclosure 三角与圆角,末尾带数量。
- 每条置顶行保留 live 状态点、相对时间、当前会话高亮;行尾有实心 pin 图标,点击即可取消置顶(无需重启,会话回到原工作区分组)。
- Pinned 区与各区组可折叠,状态保存在浏览器 storage;区域有高度上限并独立滚动,避免占满浏览区。
- 搜索行为不变:置顶会话仍出现在搜索结果;常规树里用生成样式隐藏已抽出的行。若某工作区会话全部被置顶,Workspaces 下该组可能看起来是空的,但工作区组头仍在(New session 仍可用)。
置顶通知¶
Pinned 区标题旁有 铃铛(开关通知)与 扬声器(可选双音 chime)。偏好写入浏览器 storage,默认 通知开、声音关。
仅对 置顶会话 在 状态迁移 时触发(挂载后首次观察不回放;同一「等你」状态重复渲染不重复响;等你原因从审批变为提问算新事件;完成事件每次运行只响一次):
- 开始 等你处理(审批 / 计划审阅 / 提问)— 通知会带上原因与工作区名。
- 未完成阅读地结束 — 运行中的会话停止且完成标记仍未读。
投递方式:
- 窗口在后台且系统已授予通知权限时,可弹出 桌面/OS 通知;点击聚焦应用并打开该会话。
- 应用内通知 始终可在 Pinned 区内展示(OS 拒绝通知时仍可用),带状态图标、标题与原因;点击打开会话,× 关闭;约 八秒 后自动消失。
首次点铃铛会请求通知权限并显示一次性测试通知。通知仅在客户端、应用运行期间生效,不是邮件/IM/Web Push;非置顶会话不会触发。
安装与启用¶
插件声明的 DSH 兼容范围为 >=0.2.1-rc.2 <0.3.0-0,客户端平台为 web,并通过 cordis.patch.yml 注入侧边栏相关 UI 模块。安装命令以 README 为准:
dsh plugin --profile web add dsh-workspace-status
执行后 重启 Harness 或刷新 Web UI。工作区行应出现彩色状态标记;置顶一条会话即可看到 Pinned 区及铃铛/扬声器控件。
典型用法¶
- 并行多个工作区时,不展开分组也能从文件夹行颜色判断: amber 优先处理, blue 表示仍有任务在跑, green 提醒有刚完成未读的会话。
- 把需要盯住的会话 pin 到 Pinned 区,在别的标签或窗口时依赖桌面通知;若不想打扰系统通知,可关铃铛,仅看 Pinned 区内应用内条。
- 置顶较多时折叠 Pinned 或各工作区子组,利用独立滚动保持下方 Workspaces 浏览区可用。
仓库 README 中的 Preview 图为插件样式表在本地复刻侧边栏 DOM 上的设计预览,非实机截图;真机侧边栏应呈现相同标记语义。
适用场景与注意¶
适合:长期使用 DSH Web 端、多工作区多会话、需要文件夹级扫视与少量「必盯」会话提醒的开发者。
注意:
- 插件在 当前 DSH 进程与 Web 客户端上下文 中运行,会读写浏览器 storage 并可能请求桌面通知权限;安装前请阅读 GitHub 仓库 源码与 MIT 许可证。
- 必须使用
--profile web安装;与 README 套件中其他 Stijnus 插件(如 Moodboard、Move to Workspace 等)相互独立,可按需单独安装。 - 社区目录页:skillhub.cn 上的 dsh-workspace-status。
结尾¶
dsh-workspace-status 把会话行的状态语义抬到工作区行,并把置顶会话集中到侧边栏上部,用可选桌面通知减少「折叠了文件夹就漏掉审批」的情况。若你要在 Web Harness 里一眼看文件夹、单独盯几条 pin,可按上文命令安装并在置顶区打开铃铛试用。
- 目录页:https://www.skillhub.cn/plugins/Stijnus/dsh-workspace-status
- GitHub:https://github.com/Stijnus/dsh-workspace-status