dsh-settings-button
在 DeepSeekRuntime(DSH)Web UI 侧栏底部的账号头像右侧,常驻一个与用户栏同高的「设置」按钮,一点直达设置面板。
Settings Button — a persistent Settings button (gear + label, same height as the account row) at the right of the account avatar in the DSH sidebar foot. One click opens the Settings panel.
效果

- 按钮紧贴账号头像(用户栏)右侧,高度与用户栏一致,内容是齿轮 + 「设置」文案;
- 图标复用宿主自带的
IconSettingsOutlineMedium(与账号菜单里的设置项完全同一份矢量),currentColor随主题着色; - 点击直接打开设置面板:内部会短暂打开账号菜单并点其中的「设置」项,菜单在注入的
dsh-sb-suppress-menu下不可见,因此视觉上设置面板直接出现; - 侧栏收成 56px 轨道时按钮自动隐藏,此时设置仍可从账号菜单进入;
- 宿主版本若已经自带设置触发按钮,则不注入第二个按钮,只把自带按钮排到行尾;
- 卸载插件即移除按钮、样式与临时类。
安装
从 GitHub 安装(推荐):
dsh plugin --profile <profile> add github:lindingkao/dsh-settings-button
等价的完整写法:
dsh plugin --profile <profile> add https://github.com/lindingkao/dsh-settings-button.git
从本地目录安装(开发用):
dsh plugin --profile <profile> add /path/to/dsh-settings-button
dsh plugin ... add 会把依赖写进 profile 的 package.json,并自动把声明了 dsh.bundle 的依赖加入 dsh.profile.bundles;装完重启或刷新页面即可。
注意:
dsh plugin ... install转发的是 pnpm 的install(安装已有依赖),不接受包名,不要写成install <包>;lindingkao/dsh-settings-button这种裸owner/repo也不是有效目标,必须带github:前缀或写成完整 git URL。
本地目录安装时,profile 以 link:/file: 引用该目录,因此不要删除或移动它,否则插件会失效。
兼容性
定位只依赖当前 DSH 0.2.x 的两条界面事实:
- 侧栏脚部行是 CSS Modules 产物,类名以
_triggerRow结尾; - 账号菜单按钮的
aria-label为「账号菜单」(回退路径)。
结构变化时定位失败,插件静默不做改动,不会破坏宿主界面。
实现要点
- 按钮绝对定位在脚部行右端,不参与 flex 排布;行上用
padding-right预留按钮宽度,因此头像那栏自己收窄、不被覆盖,也不会反复重排。 - 文案取自
settings命名空间的trigger键,与账号菜单里的设置项逐字一致,跟随界面语言。 MutationObserver合并 120ms 内的重渲染;只有尺寸真正变化时才写布局,避免抖动。- 「宿主已自带设置按钮」的检测会排除本插件自己的按钮(它的文案同样是「设置」),避免删除-重建循环。
License
MIT
No comments yet. Be the first to write one.