devacc8/dsh-file-explorer:DSH 環境內的硬核文件管理插件

前言

DeepSeek Harness (DSH) 採用了插件化架構。在開發智能體或管理會話時,開發者經常需要查看項目結構、編輯配置文件或直接打開本地資源。原生環境往往缺乏健壯的文件瀏覽界面。devacc8/dsh-file-explorer 旨在解決這一需求,它是一個經過加固的文件管理工具,爲 DSH 提供了安全、可控的文件訪問能力。

插件定位

該插件是 joejojoking-cloud/dsh-file-explorer 的 vendored(打包)和 hardened(加固)fork。上游代碼已凍結,該版本在此基礎上增加了安全修復、全英文 UI 以及與 Harness 主題匹配的面板背景。它作爲 DSH 的全局文件管理器工作,在每一個會話中爲用戶提供一個位於頁面右側的文件樹面板。

佈局與交互

插件在頁面右側打開一個名爲 shell.overlay 的面板。

  • 尺寸調整:面板寬度可通過拖動左側邊緣調整,範圍在 260px 至 900px 之間。
  • 獨立摺疊:文件樹和預覽區域擁有獨立的摺疊手柄(位於各自左側邊緣)。
    • 摺疊樹形視圖會保持預覽區域並將其吸附到右側邊緣。
    • 摺疊預覽區域會保持所有標籤頁,重新打開時會恢復。
  • 雙擊聊天區域:雙擊聊天區域可以同時摺疊左右兩側的面板,並應用“項目篩選”功能。此時,標籤頁中僅保留位於當前項目文件夾內的文件,其餘標籤頁會被關閉;重新展開面板後,篩選狀態依然保留。

預覽與編輯

  • 標籤式預覽:支持瀏覽器風格的標籤頁,切換時不重新加載文件內容。點擊背景標籤會滾動標籤欄,點擊當前標籤則切換內容。
  • 語法高亮:支持 Markdown、JSON、YAML、JS、TS、Python、C、C++、Java、Go、Rust、Shell、SQL、TOML、INI、CSS、HTML 等多種語法的文件預覽。
  • 面板內編輯:點擊編輯圖標可將預覽切換爲可編輯文本框,保存操作會將內容寫入磁盤。再次點擊預覽文件可關閉對應標籤頁。
  • 限制:文件大小超過 1 MB 時,預覽功能不支持。

功能細節

  • 頭部工具欄:包含“Files”標籤及多個功能圖標:
    • VS Code:點擊可打開當前整個工作區。
    • 系統文件管理器:根據當前選中狀態操作。選中目錄則直接打開,選中文件則高亮顯示並定位到所在文件夾,未選中則打開項目根目錄。
    • 展開/摺疊全部:控制文件樹的顯示狀態。
    • 刷新:更新文件列表。
    • 摺疊樹形視圖:僅摺疊左側樹形,保留右側預覽。
  • 搜索功能:搜索框支持對工作區進行遞歸掃描,自動排除 .git 和 node_modules 目錄。搜索結果上限爲 300 個匹配項。
  • 文件樹:默認展開根目錄,支持懶加載(點擊展開目錄),支持點擊切換展開/摺疊狀態。

安裝與啓用

安裝插件需使用官方命令。安裝完成後需要重啓 Harness。

dsh plugin --profile web add <path-to-this-package-or-npm-name>

安裝生效後,插件會掛載到 /plugins/file-explorer/* 路徑下,並在會話頭部提供文件切換開關。

開發與維護

  • 構建說明:客戶端捆綁包 (lib/client.js) 是手工修補的,因爲上游的構建工具鏈無法獨立安裝(其聲明的 peer 依賴包含未發佈的包)。主機端則通過 tsc 機械生成。
  • 代碼規範:lib/ 目錄下的產物爲生成文件,請勿直接編輯。所有邏輯和樣式修改應在 src/ 目錄中進行。歷史經驗表明,直接編輯 lib/ 下的文件會導致構建覆蓋修改,並可能引發語法錯誤(如 CSS 模板字符串中的反引號問題)。
  • 補丁機制:使用 cordis.patch.yml 文件將插件注入到宿主配置中。

適用場景與注意事項

  • 該插件以當前 DSH 進程的權限運行,請確保安裝來源可信,並檢查許可證。
  • 由於是上游凍結的 fork,若遇到上游修復的問題,需等待維護者自行合併或提交 PR。
羽毛球分组比赛记分
小程序二维码

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

小夜