DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Refine — DSH Plugin for DeepSeek Harness
← Plugins

dsh-refine

Refine

UX layer for the dsh continual-harness engine (dsh-continual-harness): /refine human command + settings panel with entry browsing, refinement history timeline, one-click rollback, and auto-gate audit — engine optional at runtime.

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-refine@1.2.1
READMECompatibilityVersions

Compatibility and provenance

Refine is published as dsh-refine and currently resolves to version 1.2.1. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/20/2026

Versions

1.2.1stable
9/18/2026
1.2.0stable
9/9/2026
1.0.3stable
8/21/2026
Show 3 more versionsCollapse versions
1.0.2stable
8/21/2026
1.0.1stable
8/20/2026
1.0.0stable
8/20/2026

Related plugins

Loading related plugins…

Latest
1.2.1
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
209
Security scan
✓ v1.2.1 scan passed
Last push
9/18/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in

Related plugins

More verified plugins in ui-customization.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profileExperimental Web profile layer for Agent Teams Remote and UI pluginsRemote Web Ui@linxin666/dsh-remote-web-uiScan-to-pair remote access for the dsh web GUI that shares one official interface: a QR beside the settings button pairs phones and PCs into the same Web GUI (a portrait-touch adaptation layer for phones, full desktop on PCs) through one-time tokens and rClient Ui Task Board@linxin666/dsh-client-ui-task-boardHost-authoritative task board for the DSH Web GUI with real session execution, Host cron scheduling, and optional cross-platform idle-sleep protection; mounted without DSH source changes.

README

dsh-refine

English | 简体中文

A refinement UX layer for the DeepSeek Harness (dsh): the /refine human command plus a settings panel with entry browsing, a refinement history timeline, one-click rollback, and auto-gate audit. It drives the dsh-continual-harness engine, which is optional at runtime — when the engine is not mounted, every operation degrades into an actionable instruction instead of an error.

The plugin is the shell, and since 1.2.0 it mounts the engine itself: dsh-continual-harness starts as a child plugin under ctx.isolate('commands'), so the engine's own /refine adapter never registers and dsh-refine keeps the full command surface (status / list / history / rollback / triggers) while forwarding the engine's --global / --local grammar to it. List only dsh-refine in your profile's dsh.profile.bundles; a profile that still mounts dsh-continual-harness as its own row keeps working — the shell detects the already-registered engine, skips its own mount, and falls back to the engine's /refine.

This project is a port and practical adaptation of the prime-agent /refine idea for the dsh ecosystem.

Features

  • /refine command — status / list [kind] / history [n] / rollback <id>, plus free-text refinement instructions (owned by the engine when it is mounted; provided by dsh-refine otherwise)
  • Settings panel — harness timeline, entry browsing, one-click rollback, auto-gate audit
  • Bilingual & themed — the panel reads the host locale (Simplified Chinese / English) and adapts to the dark and light themes through dsh design tokens with no hardcoded colors
  • Session-history compatibility — the harness/refinement session event written by older engine builds is registered into the host reader so legacy refined-session logs stay loadable (the 0.3.0 engine self-registers and no longer writes it; dsh-refine keeps an idempotent defensive registration)
  • Host gap bridging — where the installed engine's turn-time code reads session.events but the dsh host only exposes snapshotEvents(), dsh-refine installs a guarded events getter so the engine's projection/planner stops crashing with Cannot read properties of undefined (reading 'length')
  • Engine optional — without the engine you get actionable setup guidance; nothing errors out, nothing pollutes the session

Requirements

  • Node.js ≥ 18
  • dsh 0.1.5-rc.2 (verified against it; peer deps follow the dsh core convention ^0.1.5-rc.2 for @deepseek-ai/dsh-home-paths / @deepseek-ai/dsh-typert-protocol, which must stay single-instance with the host — align them via the profile's pnpm.overrides)

Installation

Add the package to your profile and let it mount the engine itself (since 1.2.0 the shell owns the whole arrangement — do not mount dsh-continual-harness as a separate bundle row):

dsh plugin --profile web add dsh-refine

For development, point the profile's package.json dependency at a local checkout and reinstall:

cd ~/.dsh/profiles/web
pnpm add link:/path/to/dsh-refine
dsh plugin --profile web install

The engine arrives as dsh-refine's own dependency (dsh-continual-harness ^0.3.1) and mounts under an isolated commands scope, so its /refine adapter never collides with this package's.

Restart dsh web to apply (host-side changes need a restart; client panel changes hot-reload while pnpm run dev:web is running).

Usage

Command

InputDescription
/refine statusOverview of engine/rollback state
/refine list [kind]List current entries (filter by prompt/memory/skill/subagent)
/refine history [n]Recent refinement history (default 10, max 50)
/refine rollback <id>Roll back one committed refinement (ids from history)
/refine <any text>Trigger an engine refinement; returns immediately, results appear later in the panel / history

/refine <text> treats the text as a refinement instruction handed to the engine's planner. For ordinary chat, just type in the input box without the / prefix. When dsh-continual-harness@0.3.0+ is mounted it owns /refine (plan + rollback); the panel below still offers the browse / timeline / one-click-rollback views.

Panel

Settings → Refine Harness: a settings-style overview of engine and state path, browse prompt / memory / skill / subagent entries, inspect the history timeline and roll back with one click, and audit auto-gate decisions.

How it works

engine mounted (dsh-continual-harness@0.3.0+):
  /refine  ──► engine's own /refine ──► coordinator ──► harness_state.json / refinements.jsonl

engine absent:
  /refine  ──► dsh-refine /refine ──► tools.execute('harness_refine') ──► actionable setup instruction

panel (always): 设置 → 精炼 Harness ──► refineUx data/rollback ──► ESP files + harness_refine
  • Instruction triggers are background fire-and-forget: the engine and agent are validated synchronously, then the command acks immediately so the input box is never frozen for a planner round-trip; engine results land in the panel timeline and /refine history.
  • Rollback is synchronous: it applies the stored inverse edits only, with no LLM round-trip.
  • Session-event compatibility: lib/compat.js registers harness/refinement into the host reader's known event-type set (KNOWN_SESSION_EVENT_TYPES) — one registration keeps logs from older engine builds loadable; as of 0.3.0 the engine no longer writes the event and self-registers the type itself.

Development

npm install
npm run lint    # ESLint (lib/ + smoke-host.mjs)
npm test        # smoke suite — no engine required; extra host-registration
                # assertions run when dsh is on PATH

The smoke suite is hermetic: minimal engine ESP fixtures are bootstrapped automatically when ~/.dsh/harness lacks them, and it also exercises the real dsh install paths for compatibility regression (skipped gracefully when dsh is not on PATH). Run DSH_HOME=/tmp/fresh npm test to reproduce the CI environment in a clean directory.

See CONTRIBUTING.md for commit style, changelog policy, and the release process; see SECURITY.md for reporting vulnerabilities.

License

MIT © dushaobindoudou