DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Spark Scope — DeepSeek Harness 插件(DSH Plugin)
← Plugins

dsh-spark-scope

Spark Scope

DeepSeek Harness 侧边栏中的 Spark Scope 迷你窗口:解码、预填充和每个节点一目了然

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add dsh-spark-scope@0.0.3
README兼容性版本

兼容性与来源证明

Spark Scope 以 dsh-spark-scope 发布,当前版本为 0.0.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
npm
Registry 更新时间
2026/10/10

版本

0.0.3stable
2026/10/10
0.0.2stable
2026/10/9
0.0.1stable
2026/10/7

相关插件

正在加载相关插件…

最新版
0.0.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
64.3 kB
文件数
6
Surface
web
许可证
MIT
发布源
npm
GitHub
★ 0
周下载
0
最近提交
2026/10/10
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Ab Chartdsh-ab-chart带有绘制其调用的浏览器卡片的图表渲染工具,封装在一个可发布的插件包中Client Ui Skill Explorer@linxin666/dsh-client-ui-skill-explorerDSH 技能中心:按来源(bundled / project / user / custom / runtime)浏览已加载的技能,在 Web GUI 面板中启用或禁用、创建和删除技能。

README

dsh-spark-scope

A DeepSeek Harness plugin that puts the Glance view of the Spark Scope mini window in the left sidebar, so you can keep an eye on your DGX Spark nodes and their model server while you work. It works in both the browser (dsh web) and the Desktop app.

The card in light and dark themes, and collapsed to a single line

Install

dsh plugin --profile web add dsh-spark-scope

In the Desktop app, open Plugins, choose Add plugin, enter dsh-spark-scope and install it.

You also need a running Spark Scope server. See its installation guide.

Set up

Open the Spark Scope tab in Settings, type your Spark Scope dashboard's address and press Enter. Both a local network address like http://spark-scope.local:8787 and a tailnet address like https://spark-scope.example.ts.net work. If you leave out the scheme, http:// is added for you. Clear the field to hide the card. The address can only be changed on the computer that runs dsh; a page opened from another computer shows the field but cannot save it.

The data is fetched by dsh, not by your browser, so the address has to work from the computer that runs dsh. Spark Scope only answers requests made to localhost, an IP address or its own host name. To use any other name, such as a reverse proxy's, add it to SPARK_SCOPE_ALLOWED_HOSTS on the Spark Scope server.

The card

The card sits at the bottom of the sidebar, above other footer items such as the dsh-cost-meter balance. The top of the card shows the model name, how many nodes are responding, and the decode and prefill rates with five-minute sparklines. Below that are running and queued requests, KV cache usage, TTFT and TPOT p95 for the last five minutes and the prefix cache hit rate, followed by a row for each node with its GPU temperature, power draw, load and GPU memory use. With more than four nodes, the rows fill two columns.

The card shows only the figures your inference engine reports, under the same labels Spark Scope uses. oMLX reports mean decode and prefill rates since the server started, so the card shows those without sparklines. llama.cpp reports mean decode time in place of TPOT and context use in place of KV cache. When Spark Scope needs an API key to read oMLX, the card says so.

If you run more than one model server, the card adds up their rates and requests, like Spark Scope's "All at once" view, and lists each server with its decode rate and state. A note such as "(servers 1/2)" means only some of the servers report that rate.

Memory on a discrete GPU is labeled VRAM. Mac nodes have no GPU temperature or power reading, so their rows leave them out, and the GPU power total says how many nodes it covers, for example "(5/6 nodes)".

The dot next to the model name is green when Spark Scope reports the cluster as healthy and orange for any other status. It turns red if Spark Scope stops responding or its data is more than 20 seconds old. A dash (—) means Spark Scope has no reading for that value.

The button in the top right corner collapses the card to a single line with the model name and decode rate, and your browser remembers the setting. The card is hidden while the sidebar is collapsed. It uses the dsh theme and language (English, Chinese, and Korean with dsh-locale-ko) and scales with dsh-ui-scale.

How it reads Spark Scope

The plugin adds a /plugins/dsh-spark-scope/state route to the dsh web server. While the page is visible, the card requests it every 2 seconds, and dsh fetches <address>/api/state with a 5-second timeout. The plugin only reads data and never changes anything on Spark Scope or the nodes. The route uses the same sign-in and Host checks as dsh's own API, so only a signed-in dsh page can read it. dsh ignores any Spark Scope response larger than 2 MB. See dsh's SAFETY.md for running dsh safely.

Configuration

FieldDefaultDescription
urlemptySpark Scope address (http or https). Leave it empty to hide the card.

The Spark Scope tab in Settings saves this value. You can also set it in the profile's cordis.patch.yml:

- id: spark-scope
  name: dsh-spark-scope
  config:
    url: http://spark-scope.local:8787

Development

Use Node.js 24. Install dependencies with npm ci. Run npm run check for formatting, lint, JavaScript syntax and strict TypeScript checks. Run npm test to build and test the shipped bundle.

Type suppressions must use @ts-expect-error: <reason>. Inline lint suppressions must name one rule: biome-ignore lint/<group>/<rule>: <reason>. Blanket and file-wide lint suppressions are rejected. Non-null assertions remain allowed where TypeScript cannot follow an existing guard. The npm-generated lockfile is not reformatted.

Pull requests and pushes to main run the same check and test commands. The CI passed summary succeeds only when both jobs succeed; failed, cancelled and skipped jobs fail the summary.

Tested with dsh 0.2.1-alpha.2 in Chrome and dsh 0.2.0-rc.2 in the macOS Desktop app, using sample data in the state format of Spark Scope 0.1.4 and of the older 0.1.3.