前言¶
DeepSeek Harness(DSH)可以同时跑多个会话、后台任务和子智能体。默认 Web 界面里,这些信息分散在不同入口,要判断「谁在等审批、谁在跑、token 用了多少」,往往要在多个页面之间切换。
dsh-dashboard 是社区维护的客户端插件,把会话列表、任务进度、等待状态、后台作业和 token/KPI 指标收进同一面板,直接注入 Harness 的 Web GUI,不需要单独起服务或打开额外页面。下文介绍它的定位、能力与安装用法。
这是什么¶
- 包名:
@jinhun-tqtteam/dsh-dashboard(npm 当前版本 0.1.0) - 维护:GitHub 组织 jinhun-tqtteam,作者 Tran Quang Tien
- 分类:客户端(仅提供 Web 客户端 bundle)
- 许可:MIT
README 明确说明:这是非官方第三方插件,与 DeepSeek AI 无隶属、赞助或背书关系。插件目录页在 SkillHub;源码与文档在 GitHub。
核心功能¶
插件在侧边栏底部提供 Dashboard 入口(侧边栏收起时为图标 rail + tooltip),打开后不遮挡侧边栏的全屏面板,主要能力包括:
- KPI 与筛选:18 块 KPI 磁贴,按运行中(蓝)/ 已完成(绿)/ 等待(琥珀)/ 错误(红)配色;磁贴可点击作为筛选器。另有搜索框和状态 chip(All / Running / Approval / Needs input / Errors / Completed / Idle)。
- 会话表:带状态 pill、工作区分组;支持键盘(Enter 打开会话,D 打开详情);表头 sticky;等待用户审批或输入的会话有 attention 动效。
- 活动与层级:实时 job 活动流、子智能体层级树。
- 详情抽屉(slide-over):待办进度、live jobs、会话统计、token 用量构成与图例、context 压力 gauge。
- 浮动 live summary:可 Sticky 固定,跨页面跟随;最小化时显示等待计数 pill。
- 通知:页内 toast、提示音、系统原生横幅(完成 / 错误 / 等待);通过 requestAnimationFrame 桥接,标签页未聚焦时仍可触发。
状态模型会把 approval / question / plan-review 从 pendingInteraction 中拆开;错误来自崩溃的 producer job。样式使用 DSH 设计 token(--dsw-*),随明暗主题切换,并尊重 prefers-reduced-motion。
安装与启用¶
前提:已有带 Web GUI 的 DeepSeek Harness 安装;从源码构建时需要 Node.js >= 18。插件变更后需重启 Harness;仅 bundle 变更时浏览器刷新即可。
推荐:CLI 一键安装¶
包声明了 dsh.bundle.patch,CLI 会将其作为 profile bundle 安装并自动叠加 patch,无需手改 cordis.patch.yml。
从 GitHub 安装(pnpm git 拉取预构建的 lib/):
dsh plugin --profile web add github:jinhun-tqtteam/dsh-dashboard
npm 发布后可用:
dsh plugin --profile web add @jinhun-tqtteam/dsh-dashboard
本地 checkout 目录内执行:
dsh plugin --profile web add .
或使用绝对路径:
dsh plugin --profile web add /path/to/dsh-dashboard
上述命令会把包加入 profile 依赖、写入 dsh.profile.bundles,并由 bundle 内的 patch 注册 loader 入口。
手动安装(无 CLI)¶
将含预构建 lib/ 的包目录复制到 profile 插件目录,例如:
<profile>/web/node_modules/@jinhun-tqtteam/dsh-dashboard
在 <profile>/web/cordis.patch.yml 中追加:
- insert:
- id: dsh-dashboard
name: "@jinhun-tqtteam/dsh-dashboard"
name 必须与包注册 id(包名)完全一致,否则客户端模块图会拒绝该 bundle。完成后重启 Harness。
典型用法¶
| 操作 | 方式 |
|---|---|
| 打开面板 | 侧边栏底部 Dashboard,或收起时的 rail 图标 |
| 固定 live summary | Sticky 按钮 |
| 打开会话 | 单击表格行 |
| 会话详情 | 双击行、按 D,或在 sticky 中单次点击 |
| 筛选 | 点击 KPI 磁贴或状态 chip |
| 关闭 | Esc(先关详情抽屉,再关面板) |
| 通知开关 | 面板或 sticky 头部的铃铛(绿点=已授权横幅,琥珀=被拦截) |
首次点铃铛会预热音频上下文、请求浏览器通知权限并启动 keep-alive,避免后台标签静音。若铃铛仍为琥珀色:在地址栏为 Harness 源站允许通知,并检查操作系统里对该浏览器的通知设置。
工作原理(简要)¶
包注册一个 host 侧插件(空 apply,仅出现在 Loader)和一个客户端 bundle,路径为 /plugins/@jinhun-tqtteam/dsh-dashboard/client.js。bundle 通过 window.__ModuleLoader__.load 以 DSH 期望的 lazy-CJS 形态自注册,挂载三个 shell.overlay(面板、sticky、通知)和一个 sidebar.footer.action(触发器),并通过标准 inject 接收 openSession 描述符。仓库中 src/ 为源码,lib/ 已提交,便于无构建步骤的手动复制安装。
适用场景与注意¶
适合:经常在 Harness Web GUI 里并行多个会话、需要一眼看到等待审批/输入、后台 job 与 token KPI 的开发者或运维。
注意:
- 插件以当前 DSH 进程与浏览器上下文运行;安装前请自行审阅 源码与 LICENSE。
- SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属,勿当作官方应用商店。
- 面板为空时,需等 host 发布会话数据,且至少应存在一个会话。
- 日志若出现
bundle ... loaded without registering "<id>",说明 loadername与包名不一致。 - 侧边栏无触发按钮时,检查
cordis.patch.yml是否已生效并重启 Harness。
结尾¶
dsh-dashboard 把「所有会话、进度、等待态、后台作业与 token KPI」收敛到 Harness 内置 Web 界面的一页里,适合作为 DSH「一切皆插件」生态下的客户端观测补充。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。