dsh-nb-plugin:用開關與拾取模式控制 DSH 界面顯隱

前言

DeepSeek Harness(DSH)把客戶端界面拆成可組合的模塊與插槽。日常使用時,側邊欄、輸入區、模型選擇、底部欄等會同時出現在屏幕上;若你只想留對話內容做演示、錄屏,或臨時收窄界面,靠瀏覽器縮放或改主題通常做不到「只藏某一欄」。社區插件 dsh-nb-plugin 在 DSH 裏增加一套界面顯隱控制:預設區域開關、設置頁入口,以及「點哪藏哪」的拾取模式,狀態保存在瀏覽器本地。

下面介紹插件定位、能力、安裝步驟和用法,並說明默認行爲與恢復方式,避免裝完誤以爲客戶端壞了。

這是什麼

dsh-nb-plugin 是 DSH 的 Web 客戶端插件,維護者爲 wzc520pyfm。它通過右側浮動面板和設置菜單項「界面顯隱」,逐項顯示或隱藏界面區域;精細開關依賴 DSH 的 data-slot 插槽錨點,可在不關掉整個輸入框的前提下單獨隱藏附件區、模型選擇等子區域。

插件不聯網、不上報,不向 DSH 安裝目錄寫文件,僅向 localStorage 寫入顯隱狀態並向頁面注入樣式表。許可證爲 MIT。當前 npm 包版本爲 1.4.0。

核心功能

22 個預設開關(三組)

  1. 側邊欄:整體、會話列表、面板入口、設置入口。
  2. 會話:主面板、標題欄、標題欄按鈕、對話內容、消息按鈕、輸入區、工作區選擇、模式選擇、附件區、模型選擇、權限選擇、計劃開關。
  3. 外殼:右側面板、右側內容、底部欄、頂部工具、拖拽手柄、浮層與掛件。

開關定位到 data-slot="…" 包裝器(DSH 插槽出口的 display:contents 錨點),因此粒度可到輸入區內的單塊,而不是整頁粗暴隱藏。

拾取元素

面板或設置頁中點擊「拾取元素」進入拾取模式:懸停高亮、點擊即隱藏;沒有插槽的零件(例如 + 按鈕、發送按鈕)也可被選中。Esc 或「取消」退出且不改動;已拾取項出現在列表中,可逐個恢復或「全部恢復」。選擇器優先落在最近 data-slot,否則用區域錨點加 tag:nth-child(n) 路徑,並在全頁唯一時才接受。拾取結果最多保存 60 條,存在狀態 v2 的 custom 數組裏;「全部顯示」快捷鍵不會自動恢復拾取隱藏的元素,需在列表中清除。

入口與快捷鍵

  • 浮動面板中的「懸浮按鈕」開關可隱藏面板入口本身;隱藏後按鈕不再渲染,顯隱邏輯仍生效。
  • 設置 →「界面顯隱」與浮動面板共用同一份狀態;按鈕被藏時仍可從設置改回。
  • ⌘⇧H / Ctrl+Shift+H:一鍵切換全部區域;「全部顯示」時同時恢復懸浮按鈕。

安裝默認行爲

全新安裝時默認隱藏輸入區與懸浮按鈕,刷新後 DSH 可能像只讀界面。這是設計默認值,不是客戶端故障。恢復見下文「典型用法」。

安裝與啓用

先安裝 npm 包,再以 desktop 配置檔案註冊插件:

npm install dsh-nb-plugin
dsh plugin --profile desktop add dsh-nb-plugin

本地開發可直接鏈接當前目錄:

dsh plugin --profile desktop add "file:$PWD"

安裝前建議閱讀 GitHub 倉庫 源碼與 LICENSE;插件以當前 DSH 進程在瀏覽器中的權限運行,只應在你信任的來源安裝。

典型用法

裝完找不到輸入框時

若初始界面沒有浮動按鈕,可任選其一:

  1. 設置 →「界面顯隱」→ 打開「懸浮按鈕」或「輸入區」。
  2. 按 Ctrl+Shift+H(macOS 爲 ⌘⇧H)執行「全部顯示」,輸入區與懸浮按鈕一併恢復。
  3. 從舊版 v1 狀態升級時,插件會遷移 localStorage,懸浮按鈕保持可見,不會被新版默認值覆蓋。

按需隱藏區域

  1. 打開浮動面板或設置中的「界面顯隱」。
  2. 在側邊欄 / 會話 / 外殼三組中關閉不需要的區域,例如只留「對話內容」做展示。
  3. 需要更細控制時,使用「拾取元素」點選界面上的具體控件;誤操作後在「已拾取元素」中恢復。

狀態存儲(便於排查)

瀏覽器 localStorage 鍵名與含義如下:

鍵 內容
dsh.ui-visibility.v2 { "hidden": ["composer"], "dock": false, "custom": [{ "selector": "…", "label": "…" }] }
dsh.ui-visibility.v1 舊版純數組;首次加載時遷移並刪除

無 v2 時有 v1 則遷移;兩者都沒有則使用安裝默認值。默認值在第一次交互後才寫入磁盤。卸載插件可徹底移除注入邏輯;若僅清除站點數據,會回到出廠默認(輸入區仍爲隱藏,需用快捷鍵或設置打開)。

適用場景與注意

適合需要在 DSH 裏快速切換「完整 UI / 精簡 UI」的開發者或演示場景:錄屏、截圖、向他人展示對話區而不暴露模型與權限控件。不適合在未告知對方的情況下給他人安裝——默認會隱藏輸入框與入口,容易造成「無法打字」的誤解;README 中也明確不建議對不熟同事或生產環境做此類玩笑。

拾取選擇器在 DSH 大版本升級、DOM 結構變化後可能失效,清除對應拾取項後重新拾取即可。插件依賴 @deepseek-ai/dsh-client-ui-layout、dsh-client-ui-settings、dsh-client-locale 等客戶端注入點,需與當前 DSH 版本兼容。

DSH 生態強調「一切皆插件」;社區目錄 skillhub.cn 爲獨立站點,與 DeepSeek / 幻方無官方從屬關係。

結尾

dsh-nb-plugin 把 DSH 界面拆成 22 個可開關區域,並支持拾取隱藏與本地持久化,適合需要可控、可逆 UI 顯隱的場景。安裝時務必記住默認隱藏輸入區與浮動按鈕,以及 Ctrl+Shift+H 與設置頁「界面顯隱」的恢復路徑。

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

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

小夜