DeepSeek Harness 插件:dsh-plugin-workbench(文件瀏覽器與終端)

前言

DeepSeek Harness (DSH) 採用插件化架構,Web UI 本身聚焦於對話交互。開發者在調試智能體或查看工作目錄時,常需要直接瀏覽文件、預覽內容或執行命令。dsh-plugin-workbench 作爲一個出站插件,爲 DSH Web UI 補充了文件瀏覽器、文件預覽和瀏覽器終端的能力。

這是什麼

這是一個運行在 DeepSeek Harness Web UI 中的插件,由 ghbhiee 維護,遵循 MIT 許可證。它不依賴 npm 包,通過 GitHub 倉庫直接分發編譯後的文件,支持本地開發與熱更新。

核心功能

該插件提供以下核心能力:
* 文件瀏覽器與搜索:瀏覽目錄結構、搜索文件名。
* 文件預覽:支持文本、圖片、PDF 等格式的內容查看。
* 瀏覽器終端:在 Web 界面內直接調用 Shell。
* 文件讀寫與上傳下載:支持文件的讀取、寫入、上傳及下載。
* 終端協議支持:通過 WebSocket 實現終端交互。
* 安全限制與沙箱:包含訪問控制、寫入限制和路徑保護。

安裝與啓用

插件未發佈在 npm 上,安裝和開發過程如下:

  1. 從 GitHub 安裝
    dsh plugin --profile web add github:ghbhiee/dsh-plugin-workbench
  1. 本地開發
    克隆倉庫後,使用 pnpm 安裝依賴並進行類型檢查和構建:
    pnpm install
    pnpm run check
  1. 配置啓用
    默認情況下,寫入 (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 的場景。使用時需注意以下限制:

  1. 僅支持 Web Profile:必須使用 --profile web 參數加載。
  2. 默認安全策略:默認爲只讀模式,寫入和終端功能需顯式開啓。
  3. 容量限制:文件讀寫操作有 32 MiB 的限制。
  4. 根目錄限制:無法在根目錄進行創建、重命名或刪除操作。
  5. 符號鏈接限制:不支持將符號鏈接作爲寫入目標。
  6. 編碼限制:讀取內容強制要求 UTF-8 編碼,否則返回 415 錯誤。

短結尾

dsh-plugin-workbench 通過提供標準的 HTTP API 和 WebSocket 終端接口,爲 DeepSeek Harness 的 Web 界面增加了完整的文件系統操作能力。安裝前請確認源碼與許可證,並根據需求在配置中開啓相應功能。

目錄頁 | GitHub 倉庫

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

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

小夜