前言¶
在 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。