dsh-sidebar-entry-manager:按需顯示 DeepSeek Harness 左側欄面板入口

前言

在 DeepSeek Harness(DSH)裏裝多了 Web 客戶端插件之後,左側欄 sidebar.panellist 上註冊的面板行會一行接一行變長——插件、自動化任務,以及後續插件各自佔一行。宿主默認會把這些入口都攤在側欄主列裏,沒有「只保留常用項、其餘收進菜單」的開關。

若你只想精簡側欄視覺、又不想失去入口,需要一層和宿主側欄機制對齊的顯示控制。下面介紹社區插件 dsh-sidebar-entry-manager(維護者 yanli-nyan,GitHub 3 stars,SkillHub 分類爲客戶端,當前目錄頁標註版本 v1.1.0)。

這是什麼

dsh-sidebar-entry-manager 是 DSH Web 客戶端插件:在左側欄各面板入口行上提供顯示開關,界面中文名爲「左側欄入口顯示」(見包內 locale/zh.json)。插件不改動宿主或其他插件源碼,只註冊自己的 slots,樣式類名使用 dsem_ 前綴。

它解決的是:哪些面板行出現在側欄主列、哪些收起來但仍可從「更多」菜單打開,並把選擇寫入瀏覽器 localStorage,刷新與重啓後仍保留(v1.1.0 起首屏即可按偏好渲染,無需先點開「更多」)。

核心功能

以下能力來自插件 README(社區目錄 awesome-dsh-plugin.com 中文頁 與倉庫說明一致):

  1. 按行隱藏:可關閉任意非 plugins 的面板行;關閉後該行從側欄主列消失,但仍列在底部「更多」菜單中(隱藏項帶「已隱藏」標記)。
  2. 偏好持久化:鍵名爲 dsh-sidebar-entry-manager:prefs,存在本機瀏覽器。
  3. 雙入口管理:左側欄新增的「左側欄入口」圖標行,以及 DSH 設置頁中的「左側欄入口」一節,共用同一份偏好。
  4. 立即生效:在管理面板切換開關後,側欄行即時更新;「全部顯示」可一鍵清空偏好。

做不到的事(宿主硬編碼,非本插件範圍):

  • 無法隱藏「插件」行(管理面板中該行顯示爲只讀「始終顯示」)。
  • 無法隱藏「更多」按鈕(本插件會向 sidebar.panellist.actions 註冊「管理左側欄入口…」菜單項,因此「更多」會保持可見)。
  • 無法把多行合併爲單一入口(需重寫側欄外殼,超出本插件設計)。

左欄最少仍保留「插件 + 更多」兩行形態。

安裝與啓用

DSH 生態裏客戶端能力以插件形式掛載;社區目錄 SkillHub(yanli-nyan/dsh-sidebar-entry-manager)與第三方索引 DSH Get 均列出同一安裝方式。安裝前請自行閱讀 GitHub 倉庫 源碼與 MIT 許可證——插件與 DSH 進程同權運行,能訪問本機文件、憑據與網絡。

命令行(Web profile)

DSH Get 頁面給出的命令如下;從 GitHub 源碼安裝時,若 pnpm 攔截構建腳本,需按終端提示在對應 profile 的 pnpm-workspace.yaml 中配置 allowBuilds 後重試(社區目錄安裝說明中有說明)。

dsh plugin --profile web add github:yanli-nyan/dsh-sidebar-entry-manager

其他方式(README 原文)

  • DSH 桌面端 → 左側欄「插件」→ 安裝 → 填寫 dsh-sidebar-entry-manager-1.1.0.tgz 的絕對路徑(Release 或本地 npm pack --pack-destination build 產物)。
  • 手工掛載:將 tgz 放入 profile 的 .plugin-manager/,在 package.json 的 dependencies 與 dsh.profile.bundles 中登記 @local/dsh-sidebar-entry-manager,再在該 profile 目錄執行 pnpm install 並完全退出後重啓 DSH。

cordis.patch.yml 中 dsh.client.immediately: true 表示 Web 客戶端啓動即加載 client.js;改配置或升級版本後需重啓 DSH。

典型用法

經過上面的安裝並重啓後,可按 README 中的步驟自測:

  1. 點擊左側欄 「左側欄入口」 圖標,打開管理面板。
  2. 關閉不需要常駐側欄的入口(例如「自動化任務」);當前打開的面板行若被關閉,會立刻從主列消失。
  3. 需要時再點側欄底部 「更多」 → 選擇帶「已隱藏」標記的項打開;或點 「管理左側欄入口…」 回到管理面板。
  4. 在 DSH 設置 → 左側欄入口 中可進行相同操作;與側欄面板讀寫同一份偏好。

瀏覽器控制台調試接口(插件提供):

__dshSidebarEntryManager.get()
__dshSidebarEntryManager.set('schedules', false)
__dshSidebarEntryManager.reset()

卸載插件後側欄 UI 由宿主恢復;localStorage 中的 dsh-sidebar-entry-manager:prefs 可能仍存在,可用 localStorage.removeItem('dsh-sidebar-entry-manager:prefs') 清理。

適用場景與注意

適合:側欄插件較多、希望主列只留常用面板,又需要保留從「更多」進入隱藏項的能力的 DSH Web/桌面客戶端用戶。

注意:

  • 插件依賴宿主側欄實現(README 引用 @deepseek-ai/dsh-client-ui-sidebar 等槽位行爲);DSH 大版本升級後若宿主改動 setPinned / inject 契約,可能需要等待插件適配。
  • 安裝等於在本機運行第三方 JavaScript;僅在你信任維護者與源碼時使用,並優先鎖定 commit(如 github:owner/repo#sha)以降低供應鏈風險。
  • SkillHub 爲社區獨立目錄站點,與 DeepSeek / 幻方無官方從屬關係;索引頁信息(如星標 3、v1.1.0)以各站點與倉庫當時公示爲準。

結尾

dsh-sidebar-entry-manager 把「側欄面板行是否顯示在主列」做成可持久化的開關,並與宿主「更多」菜單機制對齊,適合在插件變多後整理左側欄。進一步瞭解可訪問 SkillHub 目錄頁與 GitHub 倉庫:

  • https://www.skillhub.cn/plugins/yanli-nyan/dsh-sidebar-entry-manager
  • https://github.com/yanli-nyan/dsh-sidebar-entry-manager
羽毛球分组比赛记分
小程序二维码

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

小夜