前言¶
DeepSeek Harness (DSH) 採用插件化架構,Web UI 本身聚焦於對話交互。開發者在調試智能體或查看工作目錄時,常需要直接瀏覽文件、預覽內容或執行命令。dsh-plugin-workbench 作爲一個出站插件,爲 DSH Web UI 補充了文件瀏覽器、文件預覽和瀏覽器終端的能力。
這是什麼¶
這是一個運行在 DeepSeek Harness Web UI 中的插件,由 ghbhiee 維護,遵循 MIT 許可證。它不依賴 npm 包,通過 GitHub 倉庫直接分發編譯後的文件,支持本地開發與熱更新。
核心功能¶
該插件提供以下核心能力:
* 文件瀏覽器與搜索:瀏覽目錄結構、搜索文件名。
* 文件預覽:支持文本、圖片、PDF 等格式的內容查看。
* 瀏覽器終端:在 Web 界面內直接調用 Shell。
* 文件讀寫與上傳下載:支持文件的讀取、寫入、上傳及下載。
* 終端協議支持:通過 WebSocket 實現終端交互。
* 安全限制與沙箱:包含訪問控制、寫入限制和路徑保護。
安裝與啓用¶
插件未發佈在 npm 上,安裝和開發過程如下:
- 從 GitHub 安裝
dsh plugin --profile web add github:ghbhiee/dsh-plugin-workbench
- 本地開發
克隆倉庫後,使用 pnpm 安裝依賴並進行類型檢查和構建:
pnpm install
pnpm run check
- 配置啓用
默認情況下,寫入 (writeEnabled) 和終端 (ptyEnabled) 功能是關閉的。需要在 Web profile 的cordis.patch.yml中進行配置:
- id: workbench
config:
ptyEnabled: true
readRoots:
- /Users/me/notes
配置項說明:
* `readRoots`:允許瀏覽器讀取的額外絕對目錄列表(默認爲空)。
* `writeEnabled`:允許寫入、上傳、創建目錄等操作。
* `ptyEnabled`:允許在瀏覽器中啓動 Shell。
典型用法¶
安裝並配置後,插件通過 API 接口提供服務。主要的交互方式包括:
- 目錄列表:通過
GET /plugins/workbench/api/list?root=&path=獲取目錄內容。 - 文件讀取:通過
GET /plugins/workbench/api/read?root=&path=獲取文本內容(強制 UTF-8)。 - 文件寫入:通過
PUT /plugins/workbench/api/write?root=&path=提交修改。 - 終端連接:通過 WebSocket
WS /plugins/workbench/pty建立終端會話。
適用場景與注意¶
該插件適合需要在 Web 界面直接管理文件和運行 Shell 的場景。使用時需注意以下限制:
- 僅支持 Web Profile:必須使用
--profile web參數加載。 - 默認安全策略:默認爲只讀模式,寫入和終端功能需顯式開啓。
- 容量限制:文件讀寫操作有 32 MiB 的限制。
- 根目錄限制:無法在根目錄進行創建、重命名或刪除操作。
- 符號鏈接限制:不支持將符號鏈接作爲寫入目標。
- 編碼限制:讀取內容強制要求 UTF-8 編碼,否則返回 415 錯誤。
短結尾¶
dsh-plugin-workbench 通過提供標準的 HTTP API 和 WebSocket 終端接口,爲 DeepSeek Harness 的 Web 界面增加了完整的文件系統操作能力。安裝前請確認源碼與許可證,並根據需求在配置中開啓相應功能。