DSH 插件 dsh-workspace-enhance:把 Web 側欄改成工作區文件夾列表

前言

DSH(DeepSeek Harness)的插件體系強調“一切皆插件”。在 Web 界面裏,默認側欄主要承擔工作區瀏覽的職責。dsh-workspace-enhance 把這個側欄替換爲工作區文件夾列表:每個文件夾展開後有任務、文件、Git 三個子 Tab,並提供右側文件預覽面板。

對於需要在任務會話、文件內容和 Git 狀態之間頻繁切換的開發者,這類側欄增強可以讓信息集中在同一界面查看。社區目錄是獨立站點,與 DeepSeek / 幻方無官方從屬關係,不建議把它理解爲官方應用商店。

這是什麼

dsh-workspace-enhance 是一個 DSH 插件,倉庫 owner 爲 luis1232023。它的定位是 DSH Web 界面的側欄工作區增強插件:將默認 DSH 工作區瀏覽器替換爲工作區文件夾列表,並在每個工作區文件夾下提供任務、文件、Git 三個子 Tab,另加右側文件預覽面板。

它要求 node >= 18,許可證爲 MIT。插件包含 client 半邊和 node 半邊:client 半邊運行在瀏覽器中,node 半邊運行在宿主進程中。插件聲明 dsh.bundle.patch,安裝時會自動向 profile 配置樹注入一行插件配置。

核心功能

任務列表

  • 每個工作區文件夾展開後,可以看到該工作區下的任務。
  • 任務列表按最近更新排序。
  • 任務行支持打開、重命名、歸檔、徹底刪除會話。
  • “徹底刪除”由 host 直接刪除會話日誌目錄,不可恢復。
  • 文件夾支持新建任務、重命名、刪除工作區。
  • 頂部按鈕可用於添加工作區。

文件樹與預覽

  • 文件樹以工作區文件夾爲根,支持懶加載、逐目錄緩存、展開摺疊。
  • 隱藏文件默認過濾,可通過工具欄菜單顯示或隱藏 dot 文件。
  • 文件列表上限爲 2000 條。
  • 點擊文件後,在右側預覽面板打開。
  • 預覽支持代碼語法高亮與行號。
  • Markdown 支持渲染和源碼切換。
  • 圖片可預覽,二進制文件顯示佔位提示。
  • 大文件預覽僅取前 512 KB。
  • 源碼預覽中的原始 HTML 會被轉義,用於防 XSS。

Git 視圖

  • Git 子 Tab 提供 Changes 與 Graph 只讀視圖。
  • 支持分支切換、提交詳情和 diff 語法高亮。
  • Git 功能只讀,覆蓋 log、show、status、branches,沒有寫操作。
  • Git diff 超過 256 KB 時會提示截斷。

側欄與視圖

  • 側欄支持搜索。
  • 支持按工作區視圖和平鋪列表視圖切換。
  • 支持排序和摺疊 rail 模式。
  • 視圖模式與每個文件夾的子 Tab 選擇會持久化。
  • 每個文件夾的子 Tab 有錯誤邊界隔離;出錯時會顯示錯誤和重試入口。

安裝與啓用

先在插件目錄的上級目錄執行添加命令。這裏的 file:./dsh-workspace-enhance 表示使用本地目錄安裝:

dsh plugin --profile web add file:./dsh-workspace-enhance

添加插件後,停止當前 web 實例,再執行下面命令重啓生效:

dsh web

重啓後,可以用下面兩個命令確認 bundle 和配置樹:

Invoke-WebRequest http://127.0.0.1:3080/plugins/dsh-workspace-enhance/client.js
dsh --profile web --dump-config

如果要禁用插件,在 profile 的 cordis.patch.yml 中寫入插件 id 和 disabled: true:

- id: dsh-workspace-enhance
  disabled: true

寫入後重啓 dsh web。

典型用法

1、啓動 DSH Web 後,在左側查看工作區文件夾列表。

2、展開某個工作區文件夾,選擇任務、文件或 Git 子 Tab。

3、在文件樹中點擊文件,右側會打開預覽面板;按 Esc 或關閉按鈕可關閉預覽。

4、在 Git 子 Tab 中切換分支,查看提交詳情和 diff。

5、開發 client 半邊時,可以先執行構建或監聽:

npm run build

或者:

npm run watch

client 半邊改動通過 HMR 熱加載;node 半邊(lib/index.js)改動必須重啓 dsh web。

適用場景與注意

適合在 DSH Web 中同時管理工作區任務、文件瀏覽和 Git 只讀查看的開發者。如果只是想替換默認工作區瀏覽器爲更結構化的文件夾列表,這個插件比較直接。

使用前建議檢查源碼和 MIT 許可證。插件的 node 半邊會運行在當前 dsh 進程權限下,因此不要在不信任的目錄或不明來源的插件包上直接啓用。

需要注意的邊界如下:

  • node 運行環境要求 node >= 18。
  • Git 功能只讀,不執行寫操作。
  • 任務徹底刪除不可恢復。
  • 文件列表上限 2000 條。
  • 大文件預覽僅取前 512 KB。
  • Git diff 超過 256 KB 會提示截斷。
  • 原生目錄選擇器在遠程或進程內部署可能不可用,添加工作區會回退爲手動輸入路徑。
  • pnpm 安裝 file: 依賴是打包拷貝,不是符號鏈接;構建會同步 lib 到 profile node_modules。

鏈接

  • GitHub 倉庫:https://github.com/luis1232023/dsh-workspace-enhance
  • 插件目錄線索:https://www.skillhub.cn/plugins/luis1232023/dsh-workspace-enhance
羽毛球分组比赛记分
小程序二维码

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

小夜