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 仓库

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

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

小夜