Han-1413141/dsh-ui-hub

Plugin ⭐ 2 MIT other

Install

## 行为细节

- **身份稳定**:插槽 UI 以 `slot:<插槽名>@<序号>` 为身份,跨 React 重渲染自动重新挂接;浮动控件以 `data-*` 标记(如 `data-sticky-disclosure-control`)为身份;拾取的元素以结构路径哈希为身份。
- **不用 style 打架**:定位通过 `data-uihub-float` + CSS 变量 + `!important` 规则实现,其他插件写 inline `left/top`(非 important)无法覆盖管家设置的位置;去掉标记即恢复插件自己的样式。
- **卸载还原**:插件 dispose 时删除全部 `data-uihub-*` 标记、CSS 变量、样式表和自己的 UI 元素。
- **直接拖拽**:拖拽模式只在开启期间拦截指针;**插槽里的 UI 拖拽用「平移」**(保留在原布局内,点击弹出层会跟着走),脱离插槽的浮动控件拖拽用「浮动」坐标;拖右下角手柄改宽高(浮动模式改浮层大小,默认/微调模式原地固定宽高)。拖拽结束不会给原按钮补发一次 click,普通单击仍原样传给插件;「重置此项」可恢复原样,Esc 退出编辑。
- **浮动弹层跟随**:显式设成「浮动」的 UI 若点击后弹出层仍出现在原位置,插件会用独立的 CSS `translate` 把弹层平移到 UI 的新位置(只作用于锚定在原位置的弹层,居中的整页对话框不受影响)。
- **锁定的项目不动**:自动排布与碰撞避让都跳过锁定项,并把其他项绕开它。
- **避让不会无限循环**:观察器只对结构/托管元素样式变化触发重算,写 CSS 变量前先比较当前值,收敛后不再写。
- 面板/抓手 z-index 为 80/86,高于插件浮动层、低于应用弹窗层(100+),不会盖住权限与设置弹窗。

## 安装

> 需求:Node.js ≥ 20 + DeepSeek Harness(带 `dsh plugin` 命令的版本)。插件随 `dsh web` 启动。

### 方式〇:一键安装(推荐)

Add Han-1413141/dsh-ui-hub to your DSH config (web profile) to enable.

README

Expand full README Collapse

README is empty.