DeepSeek Harness 插件:dsh-widgets 右侧组件栏

前言

在 DeepSeek Harness(DSH)里跑会话时,经常需要同时看回合数、token、TTFT、缓存命中、上下文水位和任务状态,有时还要查 OpenCode Go 用量或 DeepSeek 高峰计价窗口。这些信息如果散落在终端、日志或外部页面里,切换成本会比较高。

下面介绍的 dsh-widgets 是 DeepSeek Harness Web UI 的右侧组件插件,把这些信息集中放到会话页右侧,并允许从设置中安装、排序和调整组件。

这是什么

dsh-widgetsPhysicolor 维护,定位为 DeepSeek Harness 的右侧组件系统。

已核实材料显示,它是一个基于 Cordis composition model 的持久 DSH bundle 插件,许可证为 MIT。它主要解决三类问题:

  • 展示 DSH Web UI 会话运行指标,例如 turns、LLM/tool time、TTFT、rate、cache hits、tokens。
  • 提供 task、context、heatmap、quote 等常用组件。
  • 支持从 Settings > Components 安装、排序和调整组件,并内置组件市场。

核心功能

实时会话指标

dsh-widgets 提供右侧 widget rail,用于展示实时会话统计,包括:

  • turns
  • LLM/tool time
  • TTFT
  • rate
  • cache hits
  • tokens

这些信息适合放在会话旁边查看,减少对终端、日志或外部页面的切换。

常用组件

除实时指标外,已核实的功能还包括:

  • task widget
  • context widget
  • heatmap widget
  • quote widget
  • peak pricing widget,用于展示 DeepSeek peak-pricing windows
  • OpenCode Go quota / usage 展示

其中,OpenCode Go quota / usage 通过 same-origin host proxy 获取,使用 DSH credentials。

多列网格与 2x4 长卡

组件栏支持多列网格布局,可配置为:

  • 1
  • 2
  • 4

已核实材料中,默认列数为 2 列。组件还支持 2x4 长卡形态,以及 per-instance sizing,因此同一个组件可以按不同尺寸安装和调整。

连续放大效果

dsh-widgets 提供 continuous magnification wave。

可以在 Settings → Components → Realtime follow 中切换该效果。开启后,右侧组件在指针移动时会产生连续放大反馈,而不是简单的整栏放大。

内置组件市场

插件内置 component marketplace,支持:

  • 浏览组件
  • 搜索组件
  • 预览组件
  • widget@size 安装组件

已安装组件支持 reorderable、resizable,并可在 Settings > Components 中继续管理。

可扩展组件注册表

dsh-widgets 提供 extensible widget registry,并采用 build-time discovery。

也就是说,新增组件不是直接手写维护一份注册表,而是按 widget unit 的方式扩展,构建时再生成注册表。后文会在典型用法中给出相关命令。

安装与启用

当前已核实材料中未提供官方 DSH 插件安装命令,因此本文不给出拼接命令。

接入前可以先核对以下信息:

  • 支持:DeepSeek Harness 0.1.x
  • Peer dependency:@deepseek-ai/cordis ^4.0.1
  • 许可证:MIT

启用后,widget rail 的配置会持久化到:

profiles/web/dsh-widgets-state.json

如果使用 OpenCode Go quota / usage,需要准备 DSH credentials。宿主侧会注册 same-origin proxy routes,浏览器端不发起跨域请求。

典型用法

1、设置列布局

先在 Settings > Components 中设置右侧组件栏的列数。

可选值为:

1
2
4

已核实材料中,默认列数为 2 列。

2、安装组件

打开内置的 Component Marketplace,可以浏览、搜索和预览组件。

安装时按 widget@size 选择,例如同一个 widget 可以按不同尺寸安装。安装完成后,可以在已安装列表中继续排序或调整尺寸。

3、切换放大效果

如果需要 continuous magnification wave,可以进入:

Settings → Components → Realtime follow

在这里切换该效果。关闭后,组件栏回到常规展示状态。

4、查看 OpenCode Go 用量

OpenCode Go quota / usage 依赖 DSH credentials,并经由 same-origin host proxy 获取。

启用后,浏览器不发起跨域请求。使用流程是先准备 DSH credentials,再在组件栏中查看相关 quota / usage 组件。

5、开发自检

如果需要在本地验证网站或组件状态,可以运行:

node website/verify.mjs

这一步用于执行 website self-verification。

如果扩展了 widget 相关代码,需要重新生成注册表:

pnpm build
pnpm check:registry

pnpm build 会再生 registry。pnpm check:registry 会在 registry stale 时报错,便于及时发现注册表未更新的问题。

适用场景与注意

适合以下场景:

  • 需要在 DSH Web UI 右侧查看 turns、LLM/tool time、TTFT、rate、cache hits、tokens 等会话指标。
  • 需要把 task、context、heatmap、quote 等组件放在同一侧栏管理。
  • 需要查看 OpenCode Go quota / usage。
  • 需要按 widget@size 安装、排序和调整组件。
  • 需要基于 extensible widget registry 扩展新的 widget unit。

使用前注意:

  • 插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
  • 已核实材料未提供官方 DSH 插件安装命令,不要凭仓库名自行拼接安装命令。
  • OpenCode Go quota / usage 依赖 same-origin proxy 和 DSH credentials。
  • Peak pricing 时刻表当前是 hard-coded,custom schedule 在路线图中。
  • 组件栏配置会写入 profiles/web/dsh-widgets-state.json
  • 社区目录是独立站点,不等同于 DeepSeek 或幻方的官方应用商店。

结尾

dsh-widgets 的价值在于把 DSH 会话中常用的运行指标、组件管理、用量展示和高峰计价信息集中到右侧组件栏,减少开发者在多个页面之间来回切换。

目录页:

https://www.skillhub.cn/plugins/Physicolor/dsh-widgets

GitHub:

https://github.com/Physicolor/dsh-widgets
羽毛球分组比赛记分
小程序二维码

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

小夜