DeepSeek Harness plugin

dsh-hud-yuanlian

HP / MP / TIME status HUD for the DeepSeek Harness sidebar (formal plugin bundle)

Jump to install

Source facts

Repository
yuanliangxiannan/dsh-hud
Latest update
Aug 16, 2026
Category
UI Enhancements
GitHub stars
0
Format
plugin
Catalog evidence
Upstream dsh.bundle evidence
Evidence path
package.json#dsh.bundle
Checked against
0.1.0-rc.8
Upstream check date
2026-08-20

This evidence comes from the upstream catalog. This site has not installed, run, or security-reviewed the plugin.

Install

Start with a prompt that asks an agent to review the GitHub repository and source. Switch to the command if you want to install it yourself.

Copy this prompt into DSH, Codex, or another agent and ask it to review the GitHub repository and source first.

Do not install or run any commands yet. Read this plugin's GitHub repository, README, and relevant source code. Then answer the questions below clearly and directly so I can decide whether it fits my needs:

1. What is this plugin, and what problem does it solve?
2. Who is it for, and what are its typical use cases?
3. How is it used after installation? Include one minimal example.
4. What known limitations or privacy, security, compatibility, or maintenance risks does it have?
5. Give a clear recommendation: recommend, conditionally recommend, or do not recommend, with reasons.

Distinguish statements documented by the repository, inferences from source code, and unknowns. If evidence is insufficient, say so explicitly. Do not guess or simply repeat the README.

GitHub: https://github.com/yuanliangxiannan/dsh-hud
Plugin: dsh-hud-yuanlian
Author: yuanliangxiannan

Check the source files

Read the README and other files from this plugin directory before installing.

File explorer4 files
README_EN.mdSource · read only
README language

dsh-hud

A game-style HP / MP / TIME HUD for DeepSeek Harness.

中文

Overview

dsh-hud is a standard Host + Client plugin bundle: no runtime patches, no node_modules surgery. It visualizes the current agent session's health at the bottom of the sidebar using a light, youthful gacha-HUD visual language.

Screenshot

![dsh-hud-hero](docs/assets/dsh-hud-hero.png)

> dsh-hud runs directly inside the DeepSeek Harness sidebar.

![dsh-hud-status](docs/assets/dsh-hud-status.png)

> HP for context, MP for resources, TIME for workspace cumulative time.

![dsh-hud-provider](docs/assets/dsh-hud-provider.png)

> OpenCode Go 5H / Weekly / Monthly quota details.

![dsh-hud-rail](docs/assets/dsh-hud-rail.png)

> HP / MP / TIME remain available in the 56px rail mini HUD.

The three meters

HP — remaining context capacity

How much context the current session has left.

  • Source: the Harness contextPressure projection (projectedTokens / contextWindow).
  • HP% = clamp(100 × (1 − projectedTokens / contextWindow)).
  • Color steps with capacity: green → yellow-green → gold → orange → red.

MP — remaining resource of the current provider

MP reflects the available resource of the provider actually selected for the current session, not a fixed account balance.

  • It is keyed on the provider route, never the model name — the same model name shows a different resource under a different provider.
  • Unsupported providers show -- and NO QUOTA DATA, never the previous provider's balance.

TIME — workspace cumulative time

The cumulative agent wall-clock time of the current workspace, across sessions.

  • Built from turn/startturn/end intervals, merged as a union across all sessions (overlaps are never double-counted).
  • An in-progress turn counts up to the current instant.

Provider-aware MP

ProviderResourceSource
DeepSeek Official (deepseek-official)Account balance (CNY)GET /user/balance
OpenCode Go (opencode-go)5H / Weekly / Monthly quotaGET /zen/go/v1/usage
Others-- (NO QUOTA DATA)No adapter

DeepSeek Official

MP shows the account's total balance (e.g. ¥10.73); the bar is relative to mpMaxBalance (default 50 CNY — above that the bar stays full and the real amount is shown).

OpenCode Go

The official plan defines three simultaneously-active windows: Rolling 5 hours / Weekly / Monthly. The UI prefers percentages:

  • Each window's remaining = clamp(100 − usagePercent).
  • The main MP value is the bottleneck: min(rolling, weekly, monthly) — the resource most likely to run out first.
  • The main bar uses the same bottleneck value.

Example:

◇ MP                         78%
[MP bar]

5H 92% · W 78% · M 86%

OPENCODE GO // 02

Layouts

Wide Sidebar

The full three-meter HUD: STATUS card head → HP → MP → TIME. Each meter opens a detail popover on click.

56px Rail

When the Harness itself collapses to the 56px rail, dsh-hud shows three mini vertical bars (HP / MP / TIME) plus a hover tooltip — no vertical space wasted.

HUD Collapse

The wide HUD can be manually collapsed into a single icon button (~34px), and expanded again by clicking it.

  • The preference is stored in localStorage under key dsh-hud:collapsed.
  • Expanded by default; survives refresh and restart; switching Session / Workspace does not change it.

Installation

BigFish users

Download dsh-hud-0.1.0.tgz from Releases, then:

dsh plugin --profile web add ./dsh-hud-0.1.0.tgz

dsh plugin reconciles dsh-hud into dsh.profile.bundles automatically. Fully quit and relaunch BigFish for the profile to boot with the plugin.

Native DeepSeek Harness users

dsh plugin add ./dsh-hud-0.1.0.tgz

Build from source

npm install
npm run build
npm pack          # produces dsh-hud-0.1.0.tgz

Configuration

Optional hud: section in $DSH_HOME/settings.yaml (schema-registered; safe defaults apply without it):

hud:
  mpMaxBalance: 50            # balance treated as a full MP bar (CNY)
  balanceRefreshMinutes: 5    # host-side resource refresh interval

Build

npm install
npm run build                  # tsc (strict) host + esbuild client bundle → lib/
npm run typecheck              # strict typecheck only
node scripts/verify-host.mjs   # host logic checks (real-history test optional, see below)

The build resolves @deepseek-ai/* type declarations from the installed BigFish distribution; override the location with DSH_TYPES_ROOT.

The real-history aggregation test in verify-host.mjs is optional: it only runs when DSH_HOME (default ~/.dsh) and DSH_HUD_VERIFY_WORKSPACE (the absolute workspace path to verify) are set. Without them it is skipped and the pure-logic checks still run.

Compatibility

  • DeepSeek Harness / BigFish: @deepseek-ai/* 0.1.0-rc.6 (see package.json peerDependencies)
  • Node.js: ≥ 20 (build verified on Node 22)
  • Platform: Web profile (browser)

Security

Provider credentials are resolved only inside the Harness Host process via ctx.credentials.resolve():

  • Credentials appear only as environment-variable names / credential references, e.g. DEEPSEEK_API_KEY, OPENCODE_GO_API_KEY; there is never a real key or token in the source.
  • The resolved secret value never goes into:

- the Client bundle - RPC DTOs - localStorage - the README - logs

  • The OpenCode Go credential reference comes from the apiKeyEnv configured under llm-pi-ai; dsh-hud reuses that provider's existing credential and never asks you to re-enter it.

Known Limitations

  • v0.1.0 ships only two resource adapters: DeepSeek Official and OpenCode Go; selecting any other provider (GLM, OpenRouter, custom providers, …) shows -- for MP.
  • The rail mode shows no numbers — only mini bars plus a tooltip.
  • No EXP, levels, achievements, charts, or history.
  • HUD collapse is purely manual; there is no auto-collapse based on workspace count or overflow.

License

[MIT](./LICENSE)