dsh-workspace-view:DSH Web 界面的文件樹抽屜插件

DeepSeek Harness(DSH)的 Web GUI 提供了強大的交互能力,但在文件瀏覽方面往往需要依賴外部工具。開發者經常需要在界面中直接查看當前工作區的目錄結構。dsh-workspace-view 旨在解決這個問題,它是一個面向 DSH Web GUI 的工作區文件瀏覽插件。

插件介紹

dsh-workspace-view 是一個 DSH workspace file-tree drawer 插件,由用戶 N5Tar 維護。它採用 MIT 許可證,屬於客戶端插件類別。

功能特性

該插件主要提供以下功能:

  1. 全高文件樹抽屜:在頁面右側顯示默認展開的文件樹抽屜。
  2. 會話關聯:根據當前 Session 自動切換工作區,無需手動配置。
  3. 按需加載:避免啓動時遞歸掃描整個倉庫,僅在展開目錄時加載內容,減少初始化開銷。
  4. 排序與展示:目錄優先、文件隨後,並按名稱排序。支持展開和摺疊文件夾。
  5. 交互控制:支持刷新當前文件樹,支持顯示或隱藏點文件。
  6. UI 優化:關閉後收縮爲頁面右側的窄把手;提供中文和英文界面文案;使用 DSH Theme Token 自動適配宿主主題。
  7. 狀態處理:內置加載、空目錄、無會話、截斷和錯誤狀態的處理。

安裝與啓用

使用該插件前,需要先安裝依賴並構建本地包,然後安裝到 DSH 的 Web Profile。

  1. 進入插件源碼目錄並安裝依賴:
    cd /path/to/dsh-workspace-view
    pnpm install
    pnpm run build
  1. 安裝到 Web Profile:
    cd /path/to/deepseek-harness
    pnpm dsh plugin --profile web add /path/to/dsh-workspace-view
  1. 檢查配置:
    pnpm dsh --profile web --dump-config
  1. 啓動 Web GUI:
    pnpm dsh web

啓動後訪問默認地址 http://127.0.0.1:3080。如果 Web GUI 已在運行,需要重啓進程才能加載新的插件。

配置

插件的核心配置位於 cordis.patch.yml 文件中,用於控制 Host 端的掃描行爲。

字段 類型 默認值 說明
maxEntries number 500 每層最多返回給 Client 的條目數(1–5000)。
maxScannedEntries number 10000 Host 每層最多掃描的目錄項數量(1–50000),用於限制超大目錄的 CPU 與內存消耗。
maxConcurrentScans number 8 Host 同時執行的目錄掃描上限(1–64),超出時返回 HTTP 429。
ignoredNames string[] ['.git', 'node_modules'] Host 完全忽略的文件或目錄名稱。

注意:ignoredNames 與隱藏文件開關的行爲不同。被 ignoredNames 匹配的條目不會由 Host 返回;其他點文件仍會返回,但默認在界面中隱藏,可通過抽屜工具欄切換顯示。

使用與限制

  1. 只讀訪問:插件只提供工作區範圍內的只讀目錄列表能力,不提供文件寫入、刪除、重命名或執行功能。
  2. 根目錄決定:工作區根目錄由 Host Session Store 決定,客戶端不能自行指定根目錄。
  3. 手動刷新:文件系統發生變化後,需要手動刷新文件樹才能看到更新。
  4. 截斷處理:大目錄達到配置上限時只顯示部分條目,並在對應目錄層級顯示截斷提示。
  5. 佈局影響:抽屜通過 shell.overlay 實現,覆蓋最右側區域,不參與 DSH 核心列寬求解。
  6. 安全模型:插件通過路徑驗證(realpath、relative)阻止 .. 路徑穿越和符號鏈接逃逸,但不應把可由不受信任本地進程併發改寫的工作區作爲強隔離沙箱。

總結

dsh-workspace-view 是一個輕量級的文件樹瀏覽工具,它通過集成到 DSH Web GUI 的右側抽屜,解決了開發者在 Web 界面中查看項目結構的需求。它具備按需加載、主題適配和多語言支持等特性,適合需要頻繁在 Web 界面下操作文件系統的場景。

  • GitHub: https://github.com/N5Tar/dsh-workspace-view
  • 目錄: https://www.skillhub.cn/plugins/N5Tar/dsh-workspace-view
羽毛球分组比赛记分
小程序二维码

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

小夜