dsh-float-window
DiscoveredShared floating-window shell for DSH web plugins: float/dock/minimize, drag, edge-snap, corner resize, per-window auto-assigned boss keys, multi-window stacking. 共享浮窗外壳组件
dsh-float-window
DSH 插件共享浮窗外壳组件 —— 一份 React 组件,给所有 DeepSeek Harness web
插件提供行为一致的浮窗:dsh-shorts-wall 与 dsh-deepsea 共用同一实现。
English | 中文
能力
| 特性 | 说明 |
|---|---|
| 三态窗口 | 浮动(拖拽 / 右缘吸附贴边)/ 贴边竖栏 / 最小化;切停靠即吸附右缘(0.4.1) |
| 四角缩放 | nw/ne/sw/se 对角锚定;两模式共享矩形,停靠吸附右缘、还原不跳位 |
| 最小化记忆 | 记住最小化前模式与贴边展开态,还原精确回原布局 |
| 窗口控制钮 | 标题栏右侧 ─ 最小化 / □ 最大化 icon 钮; |
| 最小化即老板键动作,tooltip 显示活组合(如「Alt+X 最小化」) | |
| 一键最大化 | 标题栏按钮铺满视口(留 8px 边距);原矩形完整保留, |
| 再点精确还原;拖拽最大化窗自动还原并跟手;状态持久化 | |
| 老板键 | 默认 Alt+S;多窗自动分配互不冲突的组合(见下) |
| 多窗共存 | 双 z 带、启动按钮错位堆叠、恢复置顶、老板键按窗分配 |
| 内容永不重载 | 模式切换只改容器样式,内容子树保持挂载 |
| 完全可定制 | 标题 / 主题色 / 图标 / 边界 / 默认模式 / 文案全 props 化 |
用法
源码包(消费方 tsdown 直接内联,react 为 peerDependency):
import { FloatWindow } from 'dsh-float-window'
<FloatWindow
storageKey="my-plugin:shell" // 几何/模式持久化 key
title="My Window"
accent="#7fc4ff"
launcherGlyph="🪟"
labels={{
openTitle: '打开窗口',
expandTitle: '展开',
minimizeTitle: '最小化(老板键还原)',
modeToggleTip: '切换 浮动 / 贴边',
floatText: '浮动',
bossKeyText: '老板键 {key}', // 可选;{key} 替换为实际组合,默认即此模板
}}
>
{(visible, ctx) => <YourContent visible={visible} bossKey={ctx.bossKey} />}
</FloatWindow>
要求:React 18+(peer),TypeScript bundler 解析
(tsdown/vite/tsc moduleResolution: bundler)。
多窗识别与老板键分配(≥0.2)
每个插件的 client bundle 各自内联本组件,模块态不共享,
协调走 window.__dshFloatWindows 全局注册表:
- 识别:
floatWindowSnapshot()返回当前文档挂载中的浮窗及各自老板键; 同一注册表也驱动 z 层叠与右下角启动按钮错位(bottom: 18 + n×52)。 - 自动分配:未声明老板键的窗口按挂载顺序领取组合池
Alt+S → Alt+X → Alt+Z → Alt+C → Alt+V → Alt+B → Alt+Q → Alt+W(刻意避开 Chrome 占用的 Alt+D/E/F),超出后顺延Alt+Shift+1…。 单窗行为与 0.1 完全一致(就是 Alt+S)。 - 显式预留:
bossKey="Alt+D"声明的组合会被注册表预留,自动窗永不落入; 同组合的自动窗会让位并即时刷新提示。两个显式同组合窗口则各自照常响应。 - 完全自定义:
isBossKey谓词且不传bossKey时保持 0.1 匿名行为—— 不参与协调,提示文案退化为「老板键」。 - 提示联动:launcher / 贴边栏 tooltip 与标题栏
bossKeyText(支持{key}占位符)始终显示该窗当前实际响应的组合。
注意:协调要求同页所有浮窗都运行 ≥0.2 (0.1 实例不注册,仍各自默认 Alt+S)。
License
MIT
Comments
Loading…
Similar plugins
by heiheiha798
Web UI plugin that folds each staged response's think and tool calls into per-segment bounded, scrollable slide windows with a configurable height, keeping every intermediate response visible.
★ 1
MIT
JavaScript
Sep 12, 2026
dsh plugin --profile web add dsh-plugin-response-windowby H1Kariiiiiii
One-click desktop launcher for DSH Web: creates a Windows .lnk with a WPF-style startup popup (progress + timeout), then opens the authenticated browser; plus a floating shutdown button that exits dsh
★ 3
Apache-2.0
JavaScript
Sep 6, 2026
dsh plugin --profile web add dsh-desktop-launcher2by Yochor-Debug
Floating DeepSeek API balance capsule for the DSH Web GUI: a corner pill shows the remaining balance, clicking expands the total, granted and topped-up breakdown, double-clicking refreshes at once and
★ 0
MIT
JavaScript
Sep 22, 2026
dsh plugin --profile web add dsh-plugin-balance-floatQuick Control panel for DSH Web: a docked or floating shortcut panel whose switches other plugins register through the quickControl service. Includes a theme and skin switcher plus fine-grained NO_PRO
★ 0
Apache-2.0
JavaScript
dsh plugin --profile web add dock-flashA dsh web plugin that wraps the running Harness in a native Windows desktop window: it bundles a Wails v3 desktop client (so installing the plugin is enough), probes the web port and writes the ~/.dsh
★ 1
↓ 430/wk
NOASSERTION
JavaScript
dsh plugin --profile web add @zerorigin-studio/dsh-desktop-shellby huazhiliange
Share any DeepSeek Harness (DSH) session as a self-contained, read-only static webpage — timeline, collapsible tool calls & reasoning, default redaction, dual SHA-256 fingerprints, watermark.
★ 0
JavaScript
Aug 20, 2026
dsh plugin --profile web add dsh-share-page