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.

Ui Repair — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

@yadsh/dsh-ui-repair

Ui Repair

Reversible DOM diagnostics and scoped UI repairs for DeepSeek Harness plugins

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

npx -y @deepseek-ai/dsh plugin --profile web add @yadsh/dsh-ui-repair@0.3.2
READMECompatibilityVersions

Compatibility and provenance

Ui Repair is published as @yadsh/dsh-ui-repair and currently resolves to version 0.3.2. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
10/16/2026

Versions

0.3.2stable
10/11/2026
0.3.1stable
10/8/2026
0.3.0stable
10/4/2026
Show 7 more versionsCollapse versions
0.2.5stable
9/22/2026
0.2.4stable
9/21/2026
0.2.3stable
9/17/2026
0.2.2stable
9/15/2026
0.2.1stable
9/13/2026
0.2.0stable
9/12/2026
0.1.1stable
9/10/2026

Related plugins

Loading related plugins…

Latest
0.3.2
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
125.3 kB
Files
25
Surface
web
License
MIT
Source
npm
GitHub
★ 2
Weekly downloads
399
Security scan
✓ v0.3.2 scan passed
Last push
10/12/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

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 pluginsAb Chartdsh-ab-chartChart rendering tool with the browser card that draws its calls, in one publishable plugin packageWhale Widgetdsh-whale-widgetDeepSeek balance whale widget in the bottom-right corner of the DSH Web interface: balance/today’s usage/peak-off-peak pricing, customizable bubble click sequence (text/balance/today/peak-off-peak/image/random phrases and parallel weighted selection), per-line styles and fonts, floating quick editin

README

dsh-ui-repair

An early, conservative compatibility layer for visual problems in DeepSeek Harness plugin interfaces. It measures rendered DOM, reports narrowly defined layout anomalies, and can apply reversible scoped CSS without editing another plugin's source or package files.

Full specification · DSH integration investigation

Installation

Install the published npm package by name:

dsh plugin --profile web add @yadsh/dsh-ui-repair

To remove the plugin:

dsh plugin --profile web remove @yadsh/dsh-ui-repair

Restart the DeepSeek Harness host if bundle hot reload does not pick up the newly installed plugin or browser client.

Current proof of concept

This first implementation slice includes:

  • an installable Host package and classic DSH browser bundle;
  • semantic repair roots instead of coupling to hashed CSS-module classes;
  • R001 repeated-row icon alignment diagnostics;
  • R002 repeated-row icon size consistency diagnostics;
  • R003/R004 repeated-row horizontal and vertical diagnostics;
  • R005/R006 unexpected horizontal and vertical overflow diagnostics;
  • R007 clipped-content diagnostics;
  • R008 flex-shrink and R009 missing-min-width diagnostics;
  • R010 icon-to-label gap and R011 repeated-row padding diagnostics;
  • R012 clipped text and R013 outside-parent diagnostics;
  • observe, suggest, and conservative auto runtime modes;
  • persistent Host settings and a configuration card on the Plugins page;
  • persistent selector/plugin/rule ignore policies;
  • allowlisted CSS writes scoped by per-repair data attributes;
  • animation-frame layout stabilization, verification, and rollback;
  • in-memory repair history;
  • bounded initial scans and mutation/resize-triggered targeted rescans;
  • automatic restoration of every owned DOM attribute and style tag on unload.

The default mode is observe. Configuration is persisted by the Host under the dsh-ui-repair namespace, which is the profile entry id the browser card reads through ctx.configForms. Generic overflow is reported but not mutated. An overflow target must opt in with data-dsh-ui-repair-scroll before the current auto mode can treat it as a safe scroll owner.

Repair roots

The scanner recognizes these stable boundaries:

[data-dsh-ui-repair-root]
[data-dsh-plugin-root]
[data-plugin-root]
li.dsh-plugin-card
[role="dialog"][aria-modal="true"]

Plugin authors can make a fixture or owned surface unambiguous:

<section data-dsh-ui-repair-root="example-plugin">
  <div data-dsh-ui-repair-scroll>...</div>
</section>

Repeated row groups may use data-dsh-ui-repair-row-group, with optional data-dsh-ui-repair-row and data-dsh-ui-repair-icon markers when their native semantics are not button, a, li, svg, or img. data-dsh-ui-repair-row-height explicitly permits normalizing an anomalous row height; without it, R004 remains diagnosis-only.

Potentially ambiguous layout ownership remains diagnosis-only unless the surface opts in. data-dsh-ui-repair-scroll-x marks a safe horizontal scroll owner, data-dsh-ui-repair-no-shrink marks a flex item that must preserve its intrinsic width, and data-dsh-ui-repair-min-width-zero marks a flex/grid item that may shrink below its content width.

Spacing repairs require data-dsh-ui-repair-gap or data-dsh-ui-repair-padding on the anomalous row. Text wrapping requires data-dsh-ui-repair-text-wrap; containment repairs require data-dsh-ui-repair-contain. Without these ownership markers, R010-R013 are reported but remain diagnosis-only.

Browser API

The browser module provides ctx.uiRepair for cooperating client plugins:

const report = await ctx.uiRepair.scan()
ctx.uiRepair.setMode('suggest')
await ctx.uiRepair.apply(report.issues[0].id)
ctx.uiRepair.getHistory()
ctx.uiRepair.rollbackAll()

All repairs are temporary in this proof of concept. Unloading the plugin calls rollbackAll() and removes its observer, generated styles, and marker attributes.

Settings

The card opens from this bundle's row on the Host's Plugins page and exposes activation, mode, normal and risky confidence thresholds, startup, mutation, and resize scanning, manual scan/apply/ignore/rollback actions, session health counters, and persistent ignored selectors. Risky overflow/clipping repairs can never be configured below 98% confidence. The row answers every state of its namespace: while the Host has no settings for this session the card says so and keeps the scan panel and the rollback action, rather than leaving the section blank or drawing its defaults as the saved policy — the Plugins page stays reachable from a browser the settings directory is intentionally closed to.

Development

pnpm --filter @yadsh/dsh-ui-repair check

The current tests cover detection without mutation, scoped vertical and horizontal overflow repair, sticky-content safety refusal, icon and row alignment/size outliers, flex constraints, plugin attribution, ResizeObserver, gap/padding consistency, text overflow, parent containment, manual suggestions, verification, rollback, client lifecycle, and browser bundle identity.

Not implemented yet

The specification's persistent repair recipes, plugin-version revalidation, full per-plugin health view, screenshot verification, vision-toolkit integration, and the remaining P0/P1/P2 rules are intentionally deferred. The proof of concept establishes the lifecycle, measurement, configuration, scoping, and rollback seams they will use.

License

MIT. This is an independent community project and is not affiliated with or endorsed by DeepSeek.