a903067276-rgb/dsh-hud
DeepSeek Harness(dsh)Web的HUD状态面板插件:在浮动面板中显示git状态、MCP服务器、技能、模型及令牌使用情况。
项目介绍Project Overview
dsh-hud 是一款 DSH Web 的 HUD 状态面板插件。在输入工具栏点仪表盘按钮,即可在右侧浮窗查看 Git 状态、最近 5 次提交、MCP 服务器、当前技能、模型/会话用量及 DeepSeek 账户余额,按文件可展开完整 diff,面板数据每 30 秒自动刷新。适合需要随时了解项目与账号状态的开发者。注意:需要 DSH Web ≥ 0.1.1-rc.1,Linux/Windows 尚未官方测试;余额通过 DEEPSEEK_API_KEY 在本地调用官方接口,密钥不会外泄。
dsh-hud is a HUD status panel plugin for DSH Web. Clicking the gauge button in the input toolbar opens a resizable floating panel showing git status with expandable file diffs, recent commits, MCP servers, available skills, current model, token and session usage, and DeepSeek account balance. The button also displays a live badge with the count of uncommitted files. Use it when you need an at-a-glance overview of project state and account balance during a session. Note: requires DSH Web ≥ 0.1.1-rc.1; Linux and Windows are untested, and the balance feature calls the official API locally with DEEPSEEK_API_KEY, which never leaves the host.
请帮我了解并安装插件:【dsh-hud】【https://github.com/a903067276-rgb/dsh-hud】
把上面这条消息直接发给当前会话里的 DSH,让它帮你了解并安装。安装命令不一定准确,发给 DSH 更稳。Send this message to DSH in your current session. CLI install commands may not be accurate across systems — DSH will figure it out for you.
或使用命令行安装(适合开发者)Or use CLI install (for developers)
命令行安装CLI Install
dsh plugin --profile web add "github:a903067276-rgb/dsh-hud#main"
把 a903067276-rgb/dsh-hud 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-hud 📊
A HUD status panel plugin for DeepSeek Harness (dsh) web: one button in the input toolbar opens a floating panel with git status, MCP servers, skills, official usage info and balance.
Unofficial project: independently developed and maintained by a community member, not an official DeepSeek product.
Screenshot


The gauge button in the input toolbar opens the floating panel showing git status, commit history, MCP servers, skills and official usage info (tokens, cache hit rate, turns/steps, LLM & tool time, context usage).
Features
- Git — branch, ahead/behind, unstaged / staged / untracked files (collapsible groups),
per-file
+N/-Nsummaries, click a file to expand its full diff, last 5 commits - MCP — connected MCP servers (derived from
mcp__<server>__<tool>tool names) - Skills — skills available to the current agent
- Official info — current model + reasoning effort, plan mode state, token usage (input / output / cache-hit rate), session stats (turns, steps, LLM & tool time, decode tok/s, context usage %)
- Balance — official DeepSeek account balance, auto-fetched from
GET /user/balanceusing theDEEPSEEK_API_KEYcredential (the key never leaves the host; shows--when unavailable) - Per-model usage — current session's token buckets broken down by model (requests, input, cache, output), so flash/pro usage both remain visible after switching
The button also shows a live badge with the number of uncommitted files, so you can see at a glance that a project has pending changes without opening the panel.
Install
This repository is an official bundle plugin (dsh.bundle + dsh.client in the root
package.json), installed through the official profile manager:
dsh plugin --profile web add "github:a903067276-rgb/dsh-hud#main"
Then restart dsh web (bundle layers are composed at startup; HMR does not apply).
Requires pnpm on PATH (dsh plugin forwards to pnpm).
Manual mount fallback: see docs/install.md.
Usage
Click the gauge icon in the input toolbar (official DSH design tokens, follows
dark/light theme). The panel opens on the right side (default 240px);
drag its left edge to resize (200–480px, remembered in localStorage). Section headers
with count badges are clickable to collapse/expand. Data auto-refreshes every 30s (when
the panel is closed, only the lightweight git badge keeps polling).
Platform support
| Platform | Status |
|---|---|
| macOS | ✅ Fully tested (development environment) |
| Linux | ⚠️ Not yet tested — expected to work, see docs/install.md |
| Windows | ⚠️ Not yet tested — expected to work, see docs/install.md |
Requirements
- DSH web >= 0.1.1-rc.1 (run with
npx @deepseek-ai/dsh web) - Version compatibility (the per-model usage projection uses the DSH 0.1.1+ contract; 0.1.0-rc.7/rc.8 still use the old one):
- Maintenance policy: this plugin keeps evolving with the latest DSH releases; compatibility with older DSH versions is best-effort only and not guaranteed going forward.
| Your DSH version | Install this | Note |
|---|---|---|
| 0.1.1-rc.1 and newer | main (v1.2.15+) |
Full features |
| 0.1.0-rc.7 – 0.1.0-rc.8 | v1.2.11 — dsh plugin add github:a903067276-rgb/dsh-hud#v1.2.11 |
Last release with the pre-0.1.1 projection contract |
| 0.1.0-rc.6 and older | rc6-compat — dsh plugin add github:a903067276-rgb/dsh-hud#rc6-compat |
Frozen, no maintenance — upgrade recommended |
gitCLI on PATH- No extra shell needed: DSH's
shellservice executes everything viabash -con all platforms (Git Bash on Windows), so if DSH runs, this plugin runs.
How it works
┌─ Host (Node, cordis plugin) ──────┐ ┌─ Browser (client bundle) ──┐
│ lib/index.js │ │ lib/client.js │
│ │ │ │
│ webServer.register(/api/dsh-hud) │──fetch──▶ input.left seat: button │
│ ├ /api/dsh-hud git/mcp/... │ │ shell.overlay seat: panel │
│ └ /api/dsh-hud/diff per-file │ │ │
└───────────────────────────────────┘ └────────────────────────────┘
The host serves JSON over the webServer prefix route and runs all git commands in a
single bash -c call with __HUD_[BHSLN]__ segment markers (fast project switches).
The client is a hand-written window.__ModuleLoader__.load(...) bundle with zero build
step, sharing state between the button and the panel through a module-level store
(useSyncExternalStore). Details and known pitfalls for maintainers:
docs/architecture.md.
Notes
- Use either the official bundle install or the manual mount — never both.
- All data is gathered locally from the running
dshinstance; the only outbound call is the official balance API using theDEEPSEEK_API_KEYcredential (the key never leaves the host). DSH_HUD_NO_WATCH=1disables file watching entirely — the HUD then refreshes purely via its 30s polling + manual/focus refresh. Useful on machines with enormous directory trees (e.g. a parent folder containing dozens of repos) where macOS file watchers are unreliable; the watcher is also capped at 128 by default (deeper changes surface via polling within ~30s).
Development
lib/index.js host half — data routes (git / mcp / skills / model)
lib/client.js client half — UI (button + panel), final bundle, no build step
cordis.patch.yml bundle patch — single package-name mount (official bundle flow)
docs/ install guide & architecture notes
examples/ manual double-mount example (fallback install path)
To test locally: symlink (or dsh plugin --profile web link) into the web profile's
node_modules, add the two mount entries, restart dsh web.
Design philosophy
Simple by design. dsh-hud is deliberately minimal:
- Zero dependencies — no runtime packages, no build step; the client bundle is the final artifact in the repo
- Read-only — it only reads git status, MCP/skills listings and official projections; no git write operations, no file mutations
- One button, one panel — no settings pages, no config files
It is an independent community project: not an official DeepSeek product, and not affiliated with, forked from, or sharing code with any other DSH plugin project. If your workflow needs heavyweight SCM operations (commit/push UI, file trees, git graphs), other plugins cover that; dsh-hud deliberately stays a glanceable status HUD and coexists with them.
Community
This is a plugin for DeepSeek Harness. Find more plugins via the
dsh-plugin topic.
nexu-io/open-design
ruvnet/ruflo
amruthpillai/reactive-resume
esengine/DeepSeek-Reasonix
volcengine/OpenViking
Molunerfinn/PicGo
titanwings/colleague-skill
nocobase/nocobase