dsh-fileview:DSH 插件:遠程瀏覽器的 GUI 內文件查看器/編輯器

前言

DeepSeek Harness (DSH) 的原生工作區打開器僅支持循環迴環訪問。在 DSH 0.1.2 中,文件鏈接調用 ctx.remote.session.openWorkspacePath({ path });在遠程頁面上,此原生操作無法在遠程設備上打開桌面應用程序。該插件通過包裝 Remote 方法並在路徑白名單 HTTP 端點支持的 GUI 覆蓋層中打開請求路徑來解決這個問題。迴環頁面繼續使用原生操作系統打開器。

功能

  1. 點擊遠程頁面上的文件鏈接打開 GUI 覆蓋層查看器(全文本、可滾動、可選擇、可編輯、可保存、觸控友好)。
  2. 左側邊緣的“文件”手柄打開目錄瀏覽器(多根切換器、麪包屑、父級)。
  3. 迴環頁面保持原生操作系統打開行爲。
  4. 編碼階梯:BOM (UTF-8 / UTF-16LE / UTF-16BE) → UTF-8 → GB18030;保存保留原始編碼、BOM 和 EOL 樣式 (CRLF/LF)。
  5. 二進制文件:圖像 (PNG/JPG/GIF/WebP/BMP) 內聯顯示;其他文件顯示提示。
  6. 大文件 (> 2 MB) 以只讀分頁窗口打開。
  7. 原子保存(臨時文件 + 重命名)。

安裝與配置

使用 insert 指令插入插件。inject: [webServer] 確保在註冊路由前等待 webServer。

- insert:
    - id: fileview
      name: dsh-fileview
      inject: [webServer]
      config:
        roots:
          - 'D:\workspace'
          - 'C:\Users\me\projects'
        writeRoots:
          - 'D:\workspace'

修改 composition 或 Host 代碼後需要重啓 dsh web。Client-only client.js 變更需要在重新構建/重新加載客戶端插件後生效。

典型用法

config.roots 是必需的讀寫路徑白名單(絕對目錄;允許子路徑,其他所有內容返回 403)。config.writeRoots 可選地將保存範圍縮小到子集。

注意事項

此插件已棄用(2026-09-13)。自 DSH 0.1.5 起,內置 Web 側邊欄預覽文件(Markdown、代碼、HTML、PDF 和圖像)並顯示模型交付的文件,取代了此插件的核心用例。它不再維護;最後一個目標版本是 DSH 0.1.2。

安全設計:
- 同源保護(Origin 必須匹配 Host;無 Origin 調用者遵循 DSH API 平面姿態)。
- 路徑白名單(大小寫不敏感的包含檢查;根目錄外的請求和遍歷請求接收 403)。
- 安全未配置狀態(沒有 config.roots 意味着沒有文件路由被註冊)。
- 保存限制(6 MB 內容上限;GBK/GB18030 文件拒絕在線保存,因爲它們無法無損往返,因此以只讀打開)。

參考資料

羽毛球分组比赛记分
小程序二维码

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

小夜