前言¶
在 DeepSeek Harness (DSH) 中并行运行多个智能体时,侧边栏会迅速变成同质化行的墙壁。每个工作区头部和会话行的渲染方式完全相同,唯一的信号仅是一个需要费力寻找的 10 像素圆点。
这种设计导致几个具体的痛点:无法确认哪个工作区正在执行任务、忙碌的工作区因操作其他项而沉底、会话完成后无法及时察觉,以及低对比度的状态点在非近距离查看时难以辨识。
该插件旨在回答两个核心问题:当前正在运行什么 以及 我启动的任务去哪了。它通过视觉权重和排序逻辑,将注意力集中在活跃会话上。
插件定位¶
这是一个 DeepSeek Harness (DSH) Web GUI 插件,由 baifagg 维护,开源协议为 MIT。
它的核心作用是在 DSH 侧边栏中高亮运行中的会话,并将持有活跃会话的工作区置顶。它提供了一套基于“注意力阶段”的视觉体系,并完全适配当前主题,无需手动配置颜色。
核心能力¶
1. 5 个注意力阶段与排序¶
插件将所有会话划分为五个注意力阶段,并按紧迫性从高到低排序:
- 等待:需要用户审批、计划审查或回答。显示为琥珀色,置顶第一位。
- 运行中:正在活跃的会话。显示为蓝色,带有子代理数量芯片。
- 完成-未读:已结束但未打开查看。显示为绿色,置顶保持 8 小时。
- 已见:已打开但未离开的会话。显示为绿色(淡色),保持置顶直到用户切换选择 15 分钟后。
- 中断:运行超过 6 小时但无新输出。显示为红色,仅标记不置顶。
2. 主题自适应设计¶
插件不包含硬编码的颜色值。它完全依赖 DSH 主题定义的 CSS 变量(Tokens):
- 运行:使用
--dsw-static-deepseek-450 - 等待:使用
--dsw-alias-state-warn-primary - 完成/已见:使用
--dsw-alias-state-success-primary - 中断:使用
--dsw-alias-state-error-primary - 选中行:使用插件定义的紫色(混合
--bw-running和--bw-interrupted),不借用状态颜色。
这种设计确保了插件在默认浅色/深色主题以及 Catppuccin、Nord 等社区主题包下均能正确显示。
3. 完成状态的持久化¶
这是插件的重要逻辑修正。官方 done 状态对应 completionUnread(已完成且未读)。如果逻辑简单地将“未读”转为“已读”即移除高亮,会导致用户在打开会话时,正在阅读的行突然消失。
插件采用“衰减而非骤停”的策略:
- 打开一个“完成-未读”的会话,它变为“已见”,并保持置顶。
- 只要用户仍在该行上停留,它就不会消失。
- 一旦用户切换选择,开始 15 分钟的“已见”倒计时。
- 未打开的“完成-未读”状态会保持 8 小时,足以覆盖午休时段。
4. 视觉反馈¶
- 子代理:不使用颜色区分,而是渲染为一个小型计数芯片。
- 完成脉冲:当会话真正结束时,行会有一个短促的绿色 settle 脉冲,通知用户任务已完成。
- 指示器:每行左侧有 3px 的彩色条,以及对应色相的色环和表面色。
安装方式¶
该插件以 DSH 插件形式运行。安装步骤如下:
- 获取插件源码。可以通过 Git 克隆或下载 ZIP 包。
- 将插件文件放入 DSH 的插件目录中。
# 示例:通过 Git 克隆到 DSH 目录(请根据实际环境调整路径)
git clone https://github.com/baifagg/dsh-plugin-busy-workspace.git /path/to/your/dsh/plugins/dsh-plugin-busy-workspace
插件依赖 @deepseek-ai/cordis 和 @deepseek-ai/dsh(版本需满足 package.json 中的约束),安装后需重启 DSH 进程使其生效。
典型用法¶
- 并行工作区管理:当你同时启动三个工作区的智能体时,持有“等待”或“运行中”会话的工作区会自动浮动到列表顶部。
- 状态识别:快速扫视侧边栏,通过颜色条和色相即可区分当前的状态分布,无需阅读具体文本。
- 任务追踪:如果你启动了一个任务去查资料,打开它查看结果后,它不会从列表中消失,而是变为绿色淡色状态,等待你处理下一个任务。
- 完成通知:当长时间运行的会话突然完成时,你会看到该行闪烁绿色脉冲,提醒你任务结束。
注意事项¶
- 权限要求:该插件以当前 DSH 进程的权限运行,安装前建议检查源码以确保符合安全要求。
- 许可证:插件采用 MIT 许可证,允许自由使用和修改。
- 依赖关系:确保本地环境已安装兼容版本的 DeepSeek Harness 和 Cordis 插件框架。