安装
npx -y @deepseek-ai/dsh plugin --profile web add github:imkingjh999/dsh-float-window此安装命令根据 GitHub 仓库地址生成,是未经验证的安装起点。
README
维护者编写的文档快照。
dsh-float-window
DSH 插件共享浮窗外壳组件 —— 一份 React 组件,给所有 DeepSeek Harness web
插件提供行为一致的浮窗:dsh-shorts-wall 与 dsh-deepsea 共用同一实现。
English | 中文
能力
| 特性 | 说明 |
|---|---|
| 三态窗口 | 浮动(拖拽 / 右缘吸附贴边)/ 贴边竖栏 / 最小化 |
| 四角缩放 | nw/ne/sw/se 对角锚定;两模式共享矩形,切换零位移 |
| 最小化记忆 | 记住最小化前模式与贴边展开态,还原精确回原布局 |
| 老板键 | 默认 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
项目文件与信号
以下项目是目录快照中检测到的公开仓库信号。
仓库信息
- 开发语言
- TypeScript
- 许可证
- MIT
- 最后更新
- 2026年8月18日 15:58
谨慎安装
请检查源代码、权限、生命周期脚本、依赖与网络访问;不受信任的插件应先在隔离环境中测试。