dsh-session-focus: Mark "Active" and "Suspended" Sessions in the DSH Sidebar

前言

DeepSeek Harness(DSH)侧边栏已经能区分:哪个 Session 在跑、哪个在等回答、哪个有新消息。它不知道的是你本轮决定推进哪几条,以及某条 Session 已经搁置多久。工作区一多、文件夹一折叠,这种信息缺口里任务最容易丢。

dsh-session-focus 补的是这一层:不替代侧边栏、不加悬浮球、也不另开一个要你记得去看的窗口。下面介绍它做什么、怎么装、怎么用,以及实现上的边界。

这是什么

  • 插件名称:dsh-session-focus(社区目录:fan-sx/dsh-session-focus)
  • 维护者:Fan-sx
  • 分类:工作流
  • 许可证:MIT(当前 package 版本 0.1.2)
  • 定位:给 DSH 会话列表加上 Focus / Parked 标记,并在工作区折叠时仍能看到「手上还有几条」。

目录页:SkillHub 插件页
源码与说明:GitHub — Fan-sx/dsh-session-focus

DSH 生态是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

核心功能

一键标记,三处同步

会话标题前有一个 16px 格子,点击后在三种状态间循环:

无 → focus(进行中)→ parked(挂起)→ 无

  • Focus:琥珀色竖条,表示你正在推进的 Session。
  • Parked:空心环,表示在等外部、或有意先搁在一边。

同一套循环也出现在 Session 的悬浮卡片,以及对话顶部的胶囊控件上。

折叠后仍能看到数量

把工作区分组收起时,组内 Session 和标记都会隐藏。插件会在文件夹名旁加一个小圆点;鼠标悬停在该行时,圆点会变成条数。侧边栏底部还有一行汇总,例如 ● 6 条在手上,点击可打开完整列表。

跨工作区总览页

侧边栏条带上的面板图标(README 中以靶心图标描述)打开跨工作区列表,按状态分组。其中「等待审批、计划待审、等待回答、在跑、已完成未读」等分组直接读取 DSH 自带的 useSessionStatus 快照,与侧边栏状态点的含义一致;你自己打的 Focus / Parked 标记列在这些系统状态之后。

安装与启用

官方 README 给出的安装方式如下(请将 <profile> 换成你的 DSH profile 名):

dsh plugin --profile <profile> add dsh-session-focus

若使用本地目录(例如自行下载的源码树),可用绝对路径:

dsh plugin --profile <profile> add /absolute/path/to/dsh-session-focus

在 DSH Desktop 中,也可在 Plugins 页面通过绝对路径安装。

引擎要求(来自 package.json):DSH >=0.2.0-rc.2 <0.3.0;客户端为 web 注入;Host 侧不注册路由、工具或服务。

插件以当前 DSH 进程的权限运行。安装前建议浏览仓库源码与 MIT 许可证,确认符合你的环境策略。

典型用法

  1. 在侧边栏找到本轮要推进的 Session,点标题前的格子,直到出现琥珀竖条(Focus)。
  2. 等同事或外部流程的 Session,点成空心环(Parked)。
  3. 工作区很多时,先看文件夹名旁圆点或底部 ● N 条在手上,再点底部一行或面板图标进入完整列表。
  4. 标错了再点一格即可撤销,无需额外配置项。

标记保存在浏览器 localStorage,键名为 dsh-focus.marks.v1(包改名后仍保留该键,避免丢已有标记);多标签页通过 BroadcastChannel 同步。

实现要点与限制

纯客户端:Host half 无路由、无工具、无服务,无需鉴权或迁移。

工作区圆点:依赖侧边栏行上的 data-row-key="workspace:<id>" 结构,用样式表 ::after 挂在行上,而不是注入 DOM 节点(避免 React 重绘时闪烁)。若上游改掉该 hook,圆点可能消失,其余功能仍可用。

会话归属:对话头没有 workspaceId,插件通过 Session 的 cwd 与工作区注册表路径做归一化来推断所属工作区。

局限(README Limits):

  • 标记按浏览器隔离;换机器或换浏览器会从空开始。
  • 上述 data-row-key 若变更,折叠组上的圆点会失效。

结尾

dsh-session-focus 解决的是「多 Session、多工作区时,你自己定的优先级和挂起项」在 UI 里看不见的问题;它与 DSH 原生 Session 状态互补,而不是另建一套任务系统。

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

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

Xiaoye