dsh-settings-button:側欄賬號旁常駐設置入口

前言

在 DeepSeek Harness(DSH)Web 界面裏,設置面板通常藏在側欄底部的賬號菜單裏:先點開頭像,再選「設置」。日常改模型、快捷鍵或界面選項時,多一步菜單操作並不致命,但路徑偏長。若你希望在側欄底部賬號一行旁邊直接看到「設置」,點一次就打開面板,lindingkao/dsh-settings-button 就是面向這一點的客戶端插件。

這是什麼

dsh-settings-button 由社區維護者 lindingkao 發佈,分類爲客戶端插件。它在 DeepSeekRuntime(DSH)Web UI 側欄底部的賬號頭像右側,注入一個與用戶欄同高的「設置」按鈕(齒輪圖標 + 文案),單擊優先直達設置面板,而不必先展開賬號菜單。

核心功能

下面介紹 README 中已說明的行爲,均可在倉庫文檔中核對。

界面與交互

  • 按鈕緊貼賬號頭像(用戶欄)右側,高度與用戶欄一致,內容爲齒輪 + 「設置」文案。
  • 圖標複用宿主自帶的 IconSettingsOutlineMedium(與賬號菜單裏的設置項同一份矢量),通過 currentColor 隨主題着色。
  • 點擊後優先派發宿主登記的 settings.open 快捷鍵命令,直達 shell 的 actions.open(),不依賴 DOM 模擬點擊;僅在命令不可用(宿主未註冊或註冊表被收緊)時,纔回退爲短暫打開賬號菜單並點其中的「設置」項;回退時菜單在注入的 dsh-sb-suppress-menu 下不可見,視覺上仍是設置面板直接出現。
  • 側欄收成 56px 窄軌道時按鈕自動隱藏,設置仍可從賬號菜單進入。
  • 若宿主版本已自帶設置觸發按鈕,插件不注入第二個按鈕,只把自帶按鈕排到行尾。
  • 卸載插件會移除按鈕、樣式與臨時類。

打開設置的路徑與兼容

主路徑是 @deepseek-ai/dsh-client-ui-settings-general 在 sidebar.settings 座位被注入時註冊的 settings.open 命令;插件通過 ctx.shortcuts.registry.invoke 派發。命令不可用時自動走賬號菜單回退,按鈕不會因此失效。

按鈕定位依賴 DSH 0.2.x 的兩條界面約定:側欄腳部行 CSS Modules 類名以 _triggerRow 結尾;賬號菜單按鈕的 aria-label 爲「賬號菜單」(回退路徑)。結構變化時定位失敗則靜默不做改動,不破壞宿主界面。

實現要點(便於排查)

  • 按鈕絕對定位在腳部行右端,行上用 padding-right 預留寬度,避免覆蓋頭像欄。
  • 文案取自 settings 命名空間的 trigger 鍵,與賬號菜單設置項一致,跟隨界面語言。
  • 派發命令前會讀當前彈窗名:僅在無彈窗時調用,避免在 modal === "settings" 時誤關已打開的設置;命令缺失或派發後 240ms 內面板仍未出現纔回退菜單。
  • MutationObserver 合併 120ms 內重渲染,僅在尺寸真正變化時寫佈局。
  • 檢測「宿主已自帶設置按鈕」時會排除本插件注入的按鈕,避免刪除-重建循環。

當前 package 版本爲 0.2.0,許可證 MIT。

安裝與啓用

先做 profile 選擇,再用官方文檔中的 add 命令把插件寫入 profile 依賴;裝完重啓 DSH 或刷新頁面即可。

從 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 也不是有效目標,須帶 github: 前綴或完整 git URL。本地目錄安裝時 profile 以 link:/file: 引用該目錄,不要刪除或移動該目錄,否則插件會失效。

典型用法

安裝並刷新後無需額外配置:在側欄展開狀態下,側欄底部賬號一行右側應出現齒輪 + 「設置」。單擊即嘗試打開設置面板。

若側欄已收成 56px 軌道,按鈕會隱藏;此時仍從賬號菜單進入設置。若你的 DSH 已自帶同類按鈕,插件不會重複注入,只會調整自帶按鈕位置。

適用場景與注意

適合經常在 Web UI 裏改設置、希望減少「賬號菜單 → 設置」路徑的 DSH 用戶。插件屬於客戶端注入類擴展,以當前 DSH 進程權限在瀏覽器側運行;安裝前建議瀏覽 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的環境與安全要求。DSH 側欄 DOM 或類名在 major 升級後可能變化,屆時插件可能靜默失效,需關注倉庫更新。

DeepSeek Harness 生態強調「一切皆插件」;社區插件目錄(SkillHub 等)爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-settings-button 在側欄賬號旁提供常駐設置入口,優先走宿主 settings.open 命令,並在窄側欄與已有自帶按鈕場景下做了退讓。目錄頁:https://www.skillhub.cn/plugins/lindingkao/dsh-settings-button;源碼與說明:https://github.com/lindingkao/dsh-settings-button。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜