imkingjh999/dsh-float-window

imkingjh999★ 0TypeScript最后同步: 2026-08-19

在 GitHub 打开

Shared floating-window shell for DSH web plugins: float/dock/minimize, drag, edge-snap, corner resize, per-window auto-assigned boss keys, multi-window stacking. 共享浮窗外壳组件

README 摘要

dsh-float-window DSH 插件共享浮窗外壳组件 —— 一份 React 组件,给所有 DeepSeek Harness web 插件提供行为一致的浮窗: dsh-shorts-wall 与 dsh-deepsea 共用同一实现。 English 中文 能力 特性 说明 三态窗口 浮动(拖拽 / 右缘吸附贴边)/ 贴边竖栏 / 最小化 四角缩放 nw/ne/sw/se 对角锚定;两模式共享矩形,切换零位移 最小化记忆 记住最小化前模式与贴边展开态,还原精确回原布局 一键最大化 标题栏按钮铺满视口(留 8px 边距);原矩形完整保留, 再点精确还原;拖拽最大化窗自动还原并跟手;状态持久化 老板键 默认 Alt+S ;多窗自动分配互不冲突的组合(见下) 多窗共存 双 z 带、启动按钮错位堆叠、恢复置顶、老板键按窗分配 内容永不重载 模式切换只改容器样式,内容子树保持挂载 完全可定制 标题 / 主题色 / 图标 / 边界 / 默认模式 / 文案全 props 化 用法 源码包(消费方 tsdown 直接内联,react 为 peerDependency): 要求: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…

在 GitHub 查看完整 README →
工具/开发dshdsh-pluginreact-component

分类