前言¶
在 DeepSeek Harness(DSH)桌面端里,工作区和对话列表通常落在左侧边栏。多项目并行时,频繁收放侧栏、在列表里找目标会话,会打断当前上下文。社区插件 dsh-titlebar-workspace 把「当前工作区」做成顶栏控件,下拉即可列出全部工作区并展开对应对话,点选即可跳转,无需先打开侧栏。
下面介绍该插件的定位、能力与安装用法;事实依据为其 GitHub 仓库 README 与 package.json(维护者 ExcitedEven,许可证 MIT,当前包版本 0.2.0)。
这是什么¶
dsh-titlebar-workspace 是面向 DeepSeek Harness Desktop 的客户端插件:在应用顶栏增加工作区切换器,显示当前项目,并在顶栏直接切换工作区、打开对应对话。README 标明其为社区插件,非 DeepSeek 官方出品。
插件以 DSH profile bundle 形式安装,运行时零额外 npm 依赖;源码为 TypeScript(src/),构建产物在 lib/(link: 安装时无需本地构建)。宿主侧仅注册 Loader,不额外注册服务或工具。
核心功能¶
顶栏工作区切换¶
点击顶栏上的工作区名称,下拉列出所有工作区。将鼠标移到某一工作区(或键盘聚焦)时,右侧展开该工作区下的对话列表。
打开逻辑¶
- 点击工作区:打开「最该看」的一条对话——优先级为等待处理,其次未读,再次运行中;同状态取最新;若工作区为空则新建一条。
- 点击对话:直接打开该对话。
- 「新建对话」会复用已有空白对话,避免堆积多个空会话;列表保持展开以便确认结果。
状态提示¶
顶栏与列表行用颜色点表示状态(README 说明如下):
- 黄色:有工作区在等待你(审批、计划评审、提问等)。
- 绿色:有对话已跑完但你尚未查看。
- 转圈:对话正在运行。
顶栏上的状态点取所有工作区中最紧急的一项;悬停可看到来自哪个工作区。每个工作区行显示自身聚合状态,每条对话行显示各自状态点。空白会话与侧栏行为一致:只显示当前那一个「新对话」,其余空白会话隐藏,且不参与状态计算或点击选择。
交互与布局¶
点击外部、按 Esc,或页面出现弹窗时,菜单自动收起。下拉与对话浮层挂在页面最上层,不会被右侧栏遮挡;出现真正弹窗时会自动收起。
顶栏原生菜单由 Electron 主进程构造,没有留给插件的扩展点。本插件把控件追加到 preload 在页面内建立的顶栏菜单行,尺寸与悬停样式与行内控件一致;侧栏收放时随该行移动,不做位置轮询。找不到菜单行时不渲染,也不影响其他插件。
安装与启用¶
安装方式为将本仓库作为 desktop profile 的 bundle 加入:可通过插件目录页操作,或让 plugin_manager 指向该目录。安装后若顶栏未出现控件,重启应用。
README 给出的命令如下:
dsh plugin --profile desktop add github:ExcitedEven/dsh-titlebar-workspace
环境要求(来自 README 与 package.json):
- 仅桌面端生效,普通浏览器中不渲染。
- 需要
dsh >= 0.2.0(dsh.engines.dsh/engines.dsh)。
卸载:设置 → 插件 → dsh-titlebar-workspace → 停用或卸载,顶栏控件随之消失。重启应用会重新加载插件;会话与文件在磁盘上,不受影响。
典型用法¶
- 安装并必要时重启桌面端,确认顶栏出现当前工作区名称。
- 点击该名称,在下拉中浏览各工作区;悬停或聚焦某一工作区,在右侧查看其对话列表。
- 需要处理积压时,直接点工作区名,按 README 描述的优先级打开最该看的对话;需要指定会话时,点具体对话行。
- 新建对话时利用「新建对话」入口,避免侧栏里一堆空白会话。
适用场景与注意¶
适合:在 DSH 桌面端同时维护多个工作区、希望减少侧栏开合、在顶栏快速跳转对话的开发者。
限制(README 原文要点):
- 客户端专用,非 Web 环境无 UI。
- 依赖 DSH 0.2.0 及以上与桌面 layout / workspace 相关客户端注入(
package.json中dsh.client.inject列出@deepseek-ai/dsh-client-ui-layout、@deepseek-ai/dsh-client-ui-workspace、@deepseek-ai/dsh-client-locale)。
社区插件在与你本机 DSH 进程相同的权限下运行。安装前建议浏览仓库源码与 MIT 许可证,确认符合你的安全与合规要求。DSH 生态强调「一切皆插件」;SkillHub 插件目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。