dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
仓库:https://github.com/W0rry628/dsh-better-settings · 变更记录见 CHANGELOG.md
DeepSeek Harness(DSH)插件:在侧边栏左下角账号栏那一行的右侧加一个设置齿轮按钮, 一键打开设置面板 —— 不必再「点开账号菜单 → 点设置」两步走。
┌─────────────────────────────┐
│ … 会话列表 … │
│ │
│ [头像] 账号名 ⚙ │ ← 这个齿轮是本插件加的
└─────────────────────────────┘
triggerRow),
把齿轮按钮追加到该行最右侧,紧跟在连接状态、更新提示之后。openSettings(settings.launcher 的注入物,
账号菜单拿到的就是它),因此打开的是原生设置面板,不模拟点击、不闪菜单。设置 / Settings 文案;tooltip 里带上当前生效的
settings.open 快捷键(如 Ctrl+,)。settings.launcher),则不加重复按钮。DSH 的插槽清单里,侧边栏底部只有两个口:
| Slot | 位置 | 说明 |
|---|---|---|
sidebar.footer.action | 设置行上方独立的一行 | 「Optional actions beside Settings at the sidebar foot」,footArea 是纵向列 |
sidebar.settings | 账号栏所在的那一行 | single,占用者是 ui-settings-general 的整行;内部没有留给第三方按钮的插槽 |
那一行内部的结构是 [settings.launcher(账号菜单)] [ConnectionIndicator] [DesktopUpdateIndicator],
想把自己的按钮放在账号栏右侧,只能挂到该行末尾。所以这里采用社区插件
(dshmarket、dsh-ui-tweaks)在同类无插槽场景下的做法:认领一个带自有标记的
DOM 节点、用 MutationObserver 跟随重排,并在卸载时完整回收。
如果只想放在「设置行上方那一行」,那把 lib/client.js 里的挂载逻辑换成注册
sidebar.footer.action 插槽即可,那是一条更稳定(但位置不同)的路。
从 GitHub 安装:
dsh plugin --profile desktop add 'github:W0rry628/dsh-better-settings'
也可以直接在 DSH 的插件管理器 / 插件市场里装。
本地开发(把仓库克隆到本机任意目录):
dsh plugin --profile desktop add file:/绝对路径/dsh-better-settings
手工等价操作:
$DSH_HOME/profiles/<profile>/package.json 的 dependencies 里加:
"dsh-better-settings": "github:W0rry628/dsh-better-settings"(本地开发写
"file:/绝对路径/dsh-better-settings")。"dsh-better-settings" 追加到同文件 dsh.profile.bundles 数组末尾
(顺序即 patch 层应用顺序)。pnpm install。dev:web 同时运行时生效)。| 文件 | 作用 |
|---|---|
package.json | 包清单:dsh.bundle.patch(bundle 层)+ dsh.client(浏览器半边) |
cordis.patch.yml | bundle patch:把 dsh-better-settings 这一行插进 profile 配置树 |
lib/index.js | 服务端半边:不做任何事,只是为了这一行能被正常加载 |
lib/client.js | 浏览器半边:全部功能都在这里 |
test/client-smoke.mjs | 假 DOM 冒烟测试:验证落位、去重、轨道态隐藏与卸载回收 |
CHANGELOG.md | 版本变更记录 |
node test/client-smoke.mjs
triggerRow 的 CSS Module 类名子串与 aria-haspopup 语义来定位行;
DSH 若改掉这两个约定,需要同步更新 findTriggerRow / findLauncher。openSettings;React 内部结构若变化,
会自动退回「点开账号菜单 → 点设置」的兜底路径。MIT