DeepSeek Harness Plugin

a903067276-rgb/dsh-hud

Stars ★ 0 Category UI Enhancements Added 2026-08-14

HUD status panel: Git status, MCP servers, skills, model and token usage in a floating side panel.

Install

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

dsh plugin --profile web add github:a903067276-rgb/dsh-hud

GitHub-sourced plugins run build scripts on your machine at install time. Only install sources you trust, and pin a commit (github:owner/repo#sha).

README

English | 简体中文

License: MIT

A HUD status panel plugin for DeepSeek Harness (dsh) web. One button in the input toolbar opens a floating panel showing:

  • Git — branch, ahead/behind, unstaged / staged / untracked files (collapsible groups), per-file +N/-N summaries, 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 %)

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.

Platform support

Platform Status
macOS ✅ Fully tested (development environment)
Windows / Linux ⚠️ Not yet tested — expected to work, see docs/install.md

Requirements

  • DSH web (run with npx @deepseek-ai/dsh web)
  • git CLI on PATH
  • No extra shell needed: DSH's shell service executes everything via bash -c on all platforms (Git Bash on Windows), so if DSH runs, this plugin runs.

Installation

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): npm i -g pnpm if missing, matching the profile store's major version. A manual fallback (file-path + package-name double mount in ~/.dsh/cordis.patch.yml) exists for environments without dsh plugin — see docs/install.md. Use either the bundle install or the manual mount, never both.

Usage

Click 📊 HUD in the input toolbar. 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).

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.

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.

License

MIT

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →