DeepSeek Harness plugin

dsh-workbench-ui

A workbench-style UI for DeepSeek Harness: task panel with six-stage pipeline, telemetry field, command console, dual light/dark themes, privacy mask for screenshots. | 为 DeepSeek Harness 打造的工作台式

Jump to install

Source facts

Repository
seedaylight/dsh-workbench-ui
Latest update
Aug 20, 2026
Category
Workflow & Automation
GitHub stars
1
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/seedaylight/dsh-workbench-ui
Plugin: dsh-workbench-ui
Author: seedaylight

Check the source files

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

File explorer4 files
README.mdSource · read only
README language

dsh-workbench-ui

> [English](#readme) · 中文

dsh-workbench-ui is a UI plugin for DeepSeek Harness. It replaces the default chat layout with a workbench-style interface: a task panel and a six-stage pipeline, a telemetry field, and a command console. Light and dark themes follow the system setting. Every value on screen comes from the live session — no timers, no fake state.

![Dark](preview/dark.png) · ![Light](preview/light.png)

![Dark status strip](preview/dark-status.png) · ![Light status strip](preview/light-status.png)

> Real screenshots above. Open preview/preview.html in a browser for a live self-contained render you can screenshot in both themes.

---

Overview

  • The conversation becomes a process streamINPUT blocks, a live REASONING timeline, tool cards, RESULT blocks.
  • A persistent Agent Core shows the current task and a real six-stage pipeline ANALYZE → PLAN → EXECUTE → OBSERVE → VERIFY → COMPLETE, driven by real session events, never by timers.
  • A three-depth telemetry field (SRC / Δ / SYNC / PROC / NODE / EXEC / MEM / OS) carries real values with a subtle mouse parallax.
  • A restrained command console replaces the chat input; the model menu stays fully usable.

Features

  • Real state machine — phases come from the durable session log (reasoning-delta, tool/call, tool/result, assistant/message, request/context) plus agent.phase.kind for completed / error / cancelled / waiting. No fake state, no fake loading.
  • Agent Core — task + six-node pipeline (✓ done / ● current / ○ pending / × fault) + live process line with a real caret + tool fan-out (AGENT ● → read ✓ → bash ◐ …).
  • Reasoning as a signal — vertical timeline, node markers, per-line entry animation, fading history, blinking caret, one-shot scan.
  • Tool / terminal / diff visuals — flat engineering cards, streaming terminal caret, line-by-line diff reveal.
  • Telemetry field — far / mid / near depth layers, real data only, agent-state-reactive.
  • Signature mark — an original [ · ] bracket-node-diagonal mark and a letterspaced wordmark.
  • System chip & status bar — system / agent state in the header; git, model, tokens and runtime at the bottom.
  • Command palette⌘K / Ctrl+K (keyboard only, no UI chrome).
  • Privacy mask⌘⇧P / Ctrl+Shift+P blurs project/session names, paths and telemetry before screenshots (visual only, data untouched).
  • Performance — all effects are CSS transforms / opacity / background-position; prefers-reduced-motion fully respected.

Design details

  • Typography: Inter / Geist for UI; JetBrains Mono / IBM Plex Mono for code, logs, numbers, metadata.
  • Borders: 1px hairlines. Radius 4–8px, 0 on work areas. Structure by borders, not shadows.
  • Motion: fast, precise, mechanical.
  • Depth: ambient → field → surface → active process → interaction.
  • All visuals procedural (CSS gradients + inline SVG). No third-party assets, no wallpapers, no copied layouts.

Light mode

A bright, clean engineering workbench: white surfaces, graphite text and a restrained cyan signal. Almost invisible grid and a soft depth. Quiet, precise, readable.

Dark mode

A deep computational environment: graphite layers, cold cyan signal, a faint grid, floating telemetry and a wireframe geometry. The focus is on the running agent.

Both themes share one semantic token system and follow the OS prefers-color-scheme. There is no theme toggle in the UI.

Install

From a local copy (recommended — works even when GitHub downloads time out):

git clone https://github.com/seedaylight/dsh-workbench-ui.git
dsh plugin --profile web add ./dsh-workbench-ui

Replace web with your profile name if you use another one (default, tui, …). Works on macOS, Windows (PowerShell or cmd), and Linux — the dsh plugin command is identical. On Windows cmd, replace ./dsh-workbench-ui with dsh-workbench-ui (or an absolute path).

Directly from GitHub:

dsh plugin --profile web add https://github.com/seedaylight/dsh-workbench-ui.git

If this fails with a download timeout (codeload.github.com … error 23), just use the local-copy method above — it avoids the tarball download entirely. The plugin has no build scripts, so a pnpm allowBuilds warning printed alongside a failure can be ignored; retry or switch to the local method.

Uninstall

dsh plugin --profile web remove dsh-workbench-ui

Getting started

After installing, restart the web GUI and reload the page — the workbench UI appears automatically, no switch or config needed.

1. Stop the running web instance (Ctrl+C in the terminal where dsh web runs, or kill its process). 2. Start it again: dsh web. 3. Reload the browser (the page at http://127.0.0.1:3080, or whatever URL dsh printed).

Once loaded, the session view becomes a workbench:

  • Agent Core — current task + live six-stage pipeline ANALYZE → PLAN → EXECUTE → OBSERVE → VERIFY → COMPLETE, driven by real session events.
  • Telemetry field — far / mid / near layers (SRC / Δ / SYNC / PROC / NODE / EXEC / MEM / OS), real values only.
  • Command console — replaces the chat input (the model menu stays usable).
  • Status bar — git, model, tokens, runtime, agent state at the bottom.
  • Command palette⌘K / Ctrl+K.
  • Privacy mask⌘⇧P / Ctrl+Shift+P for clean screenshots.
  • Themes — light/dark follow the OS prefers-color-scheme, no toggle in the UI.

The host half registers two same-origin endpoints (/__dsh-workbench-ui__/health, /__dsh-workbench-ui__/snapshot); the client polls the snapshot once per second.

Requirements

DeepSeek Harness (dsh) with the web client · Node.js ≥ 18. Tested against dsh 0.1.0-rc.7. The CSS targets the current harness build's DOM (class-name hashes); a harness upgrade may need a small selector refresh — normal for community UI plugins.

Privacy

No telemetry, no analytics, no external requests. All values come from your local session, computed inside the harness process. The telemetry endpoints are same-origin read-only snapshots. The plugin ships no credentials, no tokens, no personal data, no machine paths.

Keyboard shortcuts

ActionmacOSWindows / Linux
Command palette⌘KCtrl+K
Privacy mask (screenshots)⌘⇧PCtrl+Shift+P
Toggle workspace sidebar⌘\Ctrl+\
Toggle details panel⌘JCtrl+J

Troubleshooting

"Failed to apply … cannot get property "timer" without inject" means the browser is still loading an old cached bundle (this error came from a pre-v0.3.1 client that used the cordis timer service). The plugin no longer uses timer — after updating the plugin, you must:

1. Reinstall the updated plugin: git clone (or git pull in your existing clone) then dsh plugin --profile web add ./dsh-workbench-ui. 2. Restart dsh: stop the dsh web process and start it again. 3. Hard-reload the browser (⌘⇧R / Ctrl+Shift+R) to drop the cached script.

Verify which bundle is actually served: open http://127.0.0.1:3080/plugins/dsh-workbench-ui/client.js and check the URL's rev= — current versions are 9ad8d3e93c56 or newer. A 7b447dd6b1a0 rev means an old copy is still in place.

"Failed to load plugins / bundle script … failed to load" after a fresh install: the browser could not fetch the plugin's client.js — usually a dropped network connection (same cause as codeload.github.com … error 23 install timeouts), not a code error.

1. Reload the page (⌘R / Ctrl+R). If the browser had cached a partial download, a hard reload (⌘⇧R / Ctrl+Shift+R) clears it. 2. If it still fails, verify the bundle is served: open http://127.0.0.1:3080/plugins/dsh-workbench-ui/client.js — it should return the script, not an error page. 3. Reinstall from a local copy to rule out a partial GitHub download (see [Install](#install)).

License

MIT. This is an independent community plugin for DeepSeek Harness; the product and its brand belong to their respective owners.