前言¶
在 DeepSeek Harness(DSH)Web 端,側邊欄頂部的全局面板菜單(sidebar.panellist)由宿主渲染:每項一行帶圖標與文字,末尾是「更多」啓動器。左下角在未登錄時也是一個「更多」,下面掛着設置、意見反饋、登錄。條目一多,只能按宿主默認順序瀏覽;若想用按鈕行排布、限制行數,或把常用項拖到前面,宿主本身沒有提供這些開關。
dsh-panel-layout 是 devome 維護的客戶端插件(當前倉庫版本 0.2.1,MIT 許可),把上述兩處菜單合成一套可配置的界面:按鈕行或列表切換、按鈕行行數上限、拖動排序,溢出項收進「更多」,並把左下角三項併入面板菜單。它與只做佈局二選一的 dsh-sidebar-panel-buttons 作用在同一欄,功能上是後者的超集;社區目錄頁見 SkillHub,源碼在 GitHub。
這是什麼¶
一句話:dsh-panel-layout 只改 Web 側邊欄展開態的面板菜單——佈局形態、可見數量、順序,以及設置 / 意見反饋 / 登錄的入口位置。
宿主仍負責註冊各面板項圖標與 setPinned 釘選;本插件通過 DOM 調和與 sidebar.panellist.actions 補行,不引入 Harness 客戶端包,樣式門控依賴 <html data-dpl-mode>,設置與順序寫在瀏覽器 localStorage(dsh-panel-layout:settings、dsh-panel-layout:order),與宿主釘選互不干擾。
核心功能¶
下面按 README 中能力表歸納,均可從倉庫說明覈對。
佈局與行數¶
在 設置 → 通用 → 側邊欄面板菜單 中,可在 按鈕行 與 列表 之間切換,默認按鈕行。
按鈕行模式下,行數可選 1–3 行,默認 1 行。插件按側邊欄實際寬度估算每行格數(36px 單元格 + 4px 間距 + 2px 內邊距),每行末尾始終留一格給「更多」。列表模式下默認只顯示前 4 項,第 5 項起進入「更多」。
拖動排序與溢出¶
- 在面板菜單內可直接拖動任意一項到另一項上;按鈕行按左右半區判斷插入點,列表按上下半區。
- 超出上限的項用
display:none隱藏,同時通過宿主的「更多」菜單列出,順序與面板欄一致。 - 「更多」內的項可互拖排序;也可拖回面板欄恢復可見。宿主自帶的「瀏覽更多插件」「創建你的插件」不參與本插件排序。
- 觸屏沒有 HTML5 拖拽時,「更多」每行右側的向上箭頭可將該項排到第一併回到可見區。
吸收左下角「更多」¶
設置、意見反饋、登錄變爲面板菜單裏的普通項,沿用宿主圖標,可與其他項一起拖動排序。未登錄時左下角那個「更多」會隱藏;登錄後不再顯示「登錄」項,左下角恢復爲賬號頭像入口。
登錄後行爲與收起側欄是已知邊界:圖標欄放不下也拖不動時,不隱藏左下角入口,三項仍從原處可達。
與相近插件的關係¶
dsh-sidebar-panel-buttons 僅做按鈕行 / 列表切換,沒有行數上限、排序、收納,也不動左下角。同一時間只啓用其中一個;兩個都開時會改同一批節點,列表模式會互相頂掉。安裝本插件後建議停用 dsh-sidebar-panel-buttons。
安裝與啓用¶
插件以 web profile 安裝,裝好後刷新頁面生效。若你自行改動了 lib/client.js,需重啓 Harness 纔會重新生成瀏覽器模塊。
官方 README 給出的安裝方式如下。
dsh plugin --profile web add dsh-panel-layout
或在 DSH 插件市場裏搜索 dsh-panel-layout 安裝。從源碼安裝:
dsh plugin --profile web add github:devome/dsh-panel-layout
package.json 中聲明的 DSH 兼容範圍爲 ^0.2.1-rc.3 || ^0.2.2-0(含若干已標註 compatible 的 release)。安裝前請對照你本地的 Harness 版本。
典型用法¶
經過上面的安裝與刷新,日常操作主要在界面內完成,無需額外配置文件。
- 打開 設置 → 通用,在「側邊欄面板菜單」裏選按鈕行或列表,並設定按鈕行最多幾行(1–3)。
- 在展開側欄的面板區域拖動圖標,把常用入口排到前面;放不下的會自動進「更多」。
- 在「更多」裏調整順序,或把項拖回主欄;觸屏用行右側向上箭頭置頂。
- 從未登錄態起,設置、意見反饋、登錄會出現在面板菜單中,與插件、MCP 等項同一套排序規則。
三項的點擊行爲仍走宿主能力:設置走 settings.open(或啓動器回退路徑)、意見反饋走公開問卷鏈接(__DSH_CONTACT_CONFIG__)、登錄走賬號流 startSignIn。
適用場景與注意¶
適合誰: 長期在 DSH Web 裏切換插件市場、上下文、任務板、MCP 等面板,希望側邊欄用按鈕行節省縱向空間,或固定「前幾個」入口、把長尾收進「更多」的開發者。
權限與信任: 插件在當前 DSH 進程權限下作爲客戶端代碼運行,會讀寫頁面 DOM 與瀏覽器 localStorage。安裝前建議瀏覽 源碼倉庫 與 MIT 許可證,確認與你的工作區策略一致。社區目錄 SkillHub 爲獨立生態站點,與 DeepSeek / 幻方無官方從屬關係。
其他邊界(摘自 README):
- 僅作用於展開側欄;收起後的圖標欄保持宿主原樣。
- 排序與「更多」共用一套順序;把一項排到最前會把原本可見的最後一項擠進「更多」。
- 一行可容納 n 格時只顯示 n-1 項,因「更多」佔一格。
- 面板項圖標不自繪;若宿主改動圖標 id,吸收進來的三項可能失圖標,面板項不受影響。
結尾¶
dsh-panel-layout 針對的是 DSH Web 側邊欄面板菜單這一小塊 UI:在宿主不暴露行數與順序槽位的前提下,用客戶端調和補上佈局、上限、拖拽與收納,並把左下角三項並進同一菜單。需要按鈕行/列表、可排序、可收納時,可按上文命令安裝,並避免與 dsh-sidebar-panel-buttons 同時啓用。
- 目錄頁:https://www.skillhub.cn/plugins/devome/dsh-panel-layout
- GitHub:https://github.com/devome/dsh-panel-layout