DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-plugin-settings-float

x

dsh-plugin-settings-float

Identified★ 1

DeepSeek Harness plugin: draggable, edge-resizable floating settings window that keeps the chat visible

dsh-plugin-settings-float

DeepSeek Harness plugin that turns the settings dialog into a draggable, edge-resizable floating window, so you can keep the chat visible (and usable) while changing settings.

The native settings surface is a centered modal with a full-screen scrim: it covers the conversation and cannot be moved. This plugin keeps the same React tree but lifts the panel out of the modal — no scrim, a floating panel you can drag by its header and resize from any edge or corner.

⚠️ This is a DOM-level enhancement built against the current DSH settings shell. The upstream bundle is never modified, and if a DSH upgrade changes the settings markup the plugin simply stops applying (the settings page keeps working as the native modal). Treat it as a convenience layer, not a fork.

Features

  • Draggable — grab the nav title or content header and move the window anywhere.
  • Eight resize handles — drag any edge (↑↓←→) or corner (⤡ ⤢); opposite edges stay anchored.
  • Chat stays alive — the dark scrim is removed and the overlay stops swallowing pointer events, so the conversation is visible and clickable behind the window.
  • Remembers geometry — position and size persist in localStorage per browser profile.
  • Reset shortcuts — double-click a header to snap back to the default spot; double-click a resize handle to restore the default size.
  • Configurable — defaults, minimum size, enable switch and optional click-outside-to-close are exposed as a DSH plugin config card.

Install

dsh plugin --profile <your-profile> add dsh-plugin-settings-float

Then make sure the bundle is listed in the profile's package.json (the Plugins page does this for you when installed from the GUI):

"dsh": {
  "profile": {
    "bundles": [ "...", "dsh-plugin-settings-float" ]
  }
}

Restart the DSH host — client bundles are composed at boot, so a page refresh is not enough.

Usage

ActionResult
Drag nav title / content headerMove the window
Drag any edge or cornerResize (min size applies, viewport-clamped)
Double-click a headerReset position to the default spot (right side, vertically centered)
Double-click a resize handleReset size to the configured default
Esc / ✕Close settings (unchanged)

Configuration

Open Settings → Plugins → Settings Float (the card is generated from the plugin schema), or set the row config in the profile patch:

- id: settings-float
  name: dsh-plugin-settings-float
  config:
    enabled: true
    defaultWidth: 760
    defaultHeight: 720
    minWidth: 480
    minHeight: 320
    closeOnOutsideClick: false
KeyDefaultMeaning
enabledtruefalse keeps the native centered modal
defaultWidth / defaultHeight760 / 720Initial size, used until the user resizes once
minWidth / minHeight480 / 320Smallest size the window can be dragged to
closeOnOutsideClickfalseSends Escape when the chat behind the window is clicked

Compatibility

  • Verified against DSH 0.2.1-rc.3 (desktop and web profile share the same settings shell).
  • The panel is found by role="dialog" + settings-only children, with the release's hashed class only as a fast path — so a rename usually degrades gracefully instead of breaking.
  • Requires a web-capable DSH surface (dsh.client platform web).

Privacy

  • No network requests, no host-side changes, no telemetry.
  • Only two localStorage keys are written: dsh.settings-float.pos.v1 and dsh.settings-float.size.v1.

Development

npm install
npm test        # jsdom smoke tests: mount, 8-direction resize, drag, reset, config

Layout:

lib/index.js     host row: plugin entry + Config schema (the settings card)
lib/client.js    browser half: DOM enhancement, drag & resize
test/            jsdom smoke tests driving real pointer events

The client bundle uses DSH's client-module ABI (window.__ModuleLoader__.load({ id, factory })); id must match the package name.

License

MIT

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 21.6k

CC0-1.0

Python

Oct 30, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.3k

CC0-1.0

Python

Oct 16, 2026

Index only — not installable

by Yuuyuko-uu

DSH 鱼的记忆:给会话一份会淡忘的长期记忆,每条都带时间

Development & InfrastructureMemory & ContextSessions & MessagesManifest valid

★ 411

MIT

JavaScript

Oct 30, 2026

dsh plugin --profile web add dsh-fish-memory

by SAOS-3624

Scene-aware storyboard for DeepSeek Harness: 9-16 numbered cells with timestamps + transcript + an audio envelope, packed into ONE image (384 tokens). Two tools: video_storyboard and video_zoom.

Tools & CapabilitiesVision & MultimodalDevelopment & Infrastructure

★ 279

MIT

JavaScript

Oct 30, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 276

MIT

TypeScript

Oct 20, 2026

Index only — not installable

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 276

MIT

TypeScript

Oct 30, 2026

dsh plugin --profile web add dsh-config-manager