dsh-ws-files:工作空間文件瀏覽器

在 DeepSeek Harness (DSH) 的開發流程中,直接在 Web 前端查看和編輯本地項目文件通常需要依賴終端或外部工具。dsh-ws-files 插件將文件樹、搜索和在線編輯器直接集成到 DSH 的佈局系統中,支持在對話/軌跡同級打開標籤頁進行編輯。該插件由 zhangxiang1993621 維護,遵循 MIT 許可證。

核心功能

  • 佈局集成:面板註冊進 layout.left 或 layout.right 區域(id 爲 ws-files),與 dsh-layout 協同渲染。
  • 樹形瀏覽:支持懶加載目錄,文件夾名稱加粗,顯示文件大小。
  • 搜索:支持按文件名搜索(不區分大小寫),可快速定位。
  • 文件操作:點擊文件可用系統默認程序打開;在對話/軌跡同級標籤頁打開,支持關閉。
  • 在線編輯:
    • 自動進入編輯模式。
    • 實時高亮:支持關鍵詞、註釋、字符串、數字着色(疊層高亮,不中斷輸入)。
    • 智能縮進:Enter 自動縮進,Tab/Shift+Tab 反縮進。
    • 自動保存:防抖自動寫入,狀態欄顯示保存狀態,支持 Ctrl+S 立即保存。
    • 撤銷/重做:Ctrl+Z / Ctrl+Y。
  • 類 IDE 預覽:預覽模式帶行號、代碼摺疊、按文件類型設置縮進寬度。
  • 多工作區:支持在 workspaceRegistry 已登記的工作區間切換。

安裝與啓用

在 deepseek-harness 倉庫目錄下執行以下命令。使用 file:/ 安裝發佈版本,開發期使用 link:/ 以便熱更新。

# 安裝發佈版本
node --import tsx/esm apps/cli/src/bin.ts plugin --profile web add file:/絕對/路徑/dsh-ws-files
# 開發期使用 link(修改源碼後刷新頁面即生效)
node --import tsx/esm apps/cli/src/bin.ts plugin --profile web add link:/絕對/路徑/dsh-ws-files

安裝後需重啓 DSH Web 服務。

架構與實現

插件分爲 Host 和 Client 兩部分。

  • Host 端(lib/index.js):通過 Cordis 插件行注入 webServer、fs、workspaceRegistry,提供 /ws-files JSON 路由。
  • Client 端(lib/client.js):通過手工維護的 __ModuleLoader__ 協議加載,註冊佈局面板和文件標籤頁槽位。

安全與注意事項

插件對文件讀寫進行了嚴格限制:

  • 路徑圍欄:所有讀寫操作限制在 workspaceRegistry 已登記的工作區根目錄內,越界返回 403。
  • 寫沙箱:寫入時顯式攜帶 workspace-write 沙箱策略,由宿主 fs 策略層雙重把關。
  • 寫前確認:瀏覽器端保存前彈出確認框,不提供刪除端點。
  • 只讀優先:默認可用 list/read/stat/search/open,write 需用戶主動觸發。

總結

dsh-ws-files 爲 DSH 提供了一個輕量級的、集成了安全沙箱的文件瀏覽器和編輯器,適合需要在 Web 界面頻繁查看和修改工作區代碼的開發者。更多細節可查閱插件目錄或源碼。

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

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

小夜