dsh-workspace-explorer:在 DSH Web GUI 中添加工作区文件面板

前言

在 DeepSeek Harness(DSH)Web GUI 中处理工作区文件时,常见做法是切出浏览器,打开本地文件管理器或外部编辑器。dsh-workspace-explorer 把这部分操作放进 Web 界面:在侧边栏底部添加「工作区文件」入口,打开一个 VS Code 资源管理器风格的双栏面板,左侧浏览工作区目录的文件树,右侧查看和编辑文件。下面从定位、功能、安装、用法和安全限制几个方面介绍。

插件定位

3911ee/dsh-workspace-explorer3911ee 维护,许可证为 MIT。它的一句话定位是:在 DSH Web GUI 侧边栏底部添加「工作区文件」入口,打开一个 VS Code 资源管理器风格的双栏面板,左侧浏览全部工作区目录的文件树,右侧查看和编辑文件。

核心功能

文件树

  • 自动列出所有已注册工作区目录。
  • 懒加载逐层展开,目录在前、按名称排序,带缩进引导线。
  • 文件树使用 14px 描边 SVG 图标,按语言着色,覆盖 60+ 扩展名。
  • 每个工作区根目录支持新建文件/新建文件夹,行内输入,Enter 创建、Esc 取消,重名时内联报错。

文件操作

  • 行内重命名:悬停出现铅笔按钮,默认选中主名,可继续编辑后缀。
  • Enter 提交、Esc 取消、失焦提交,支持中文输入法。

编辑器

  • 右侧编辑器带行号槽、路径栏、状态栏(大小、编码、未保存标记)。
  • 右下角手柄自由拖拽缩放,最小 380×280。
  • 「用系统应用打开」按钮可调起本机默认程序。

语法高亮

  • 支持 VS Code Dark+ 配色语法高亮:函数名、关键字、字符串、注释、数字、类型、属性分色。
  • 支持 Python、JavaScript/TypeScript/JSX、JSON、HTML/XML、CSS/SCSS/LESS、Markdown、SQL、Shell、YAML/TOML/INI。
  • 200 KB 以上自动退回纯文本;大于 256 KB 读取上限的文件只读预览。

编辑保存

  • 窗口内编辑保存:Ctrl+S 或「保存」按钮落盘。
  • 保存后自动刷新文件大小。

与 DSH 界面配合

  • 支持让 AI Agent 实时查看项目结构并修改代码,支持对话中的 @文件 引用联动。
  • 中英文界面,跟随 DSH 语言设置。
  • 完全在本地运行,不发起出站网络连接,不上传任何文件内容。

安装与启用

软件要求

  • DeepSeek Harness 0.1.0-rc.6 及以上。
  • Profile 类型必须是带 Web 界面的标准 web profile。
  • 安装插件时需要 pnpm
  • Windows 实测通过;macOS/Linux 理论支持,代码已做跨平台路径处理,但未实测。

安装

资料给出的安装命令如下:

dsh plugin --profile web add github:3911ee/dsh-workspace-explorer

资料称 npm 方式在发布后才可用:

dsh plugin --profile web add dsh-workspace-explorer

手动安装

手动安装时,先把插件源码复制进 web profile 的 node_modules,再编辑 web profile 的 package.json。需要在 dependencies 中加入插件路径,并在 dsh.profile.bundles 数组中加入插件名:

{
  "dependencies": {
    "dsh-workspace-explorer": "file:./node_modules/dsh-workspace-explorer"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-workspace-explorer"]
    }
  }
}

启用验证

先重启 dsh web 服务,再刷新浏览器。验证步骤是:侧边栏底部出现文件夹图标按钮,悬停提示「工作区文件」,点击后打开双栏面板。

典型用法

下面按常见操作说明。

1、安装完成后,重启 dsh web 并刷新浏览器,在侧边栏底部点击文件夹图标按钮。

2、新建文件/文件夹:在各工作区根目录点击新建按钮,行内输入名称,Enter 创建,Esc 取消。

3、重命名:悬停文件出现铅笔按钮,修改名称后 Enter 提交,Esc 取消,失焦提交。

4、编辑保存:在右侧编辑器输入修改,按 Ctrl+S 或点击「保存」落盘,保存后自动刷新文件大小。

5、升级:资料给出重新执行 GitHub 安装命令,或由 dsh plugin 转交 pnpm update

dsh plugin --profile web add github:3911ee/dsh-workspace-explorer

6、卸载:执行移除命令,再重启 dsh web

dsh plugin --profile web remove dsh-workspace-explorer

安全与限制

数据边界

插件完全在本地运行,不发起出站网络连接,不上传任何文件内容。资料同时说明:不收集、不记录、不传输任何文件内容或操作日志;前端语法高亮对文件内容做 HTML 转义后渲染。

绑定地址

插件 API 暴露面与 DSH Web GUI 绑定地址一致。默认 127.0.0.1 为推荐且默认的安全配置。若用户将 dsh web 绑定到非回环地址,插件 API 无独立鉴权,切勿将带本插件的 DSH 直接暴露到公网。

路径与资源限制

  • 路径校验要求绝对路径,拒绝相对路径与空路径。
  • 新建/重命名仅接受单一路径段,拒绝空名、... 与含路径分隔符的名称。
  • 单层目录列举封顶 1000 条目。
  • 文件读取默认 256 KiB、硬顶 8 MiB;文件写入 8 MiB 上限;请求体 64 KiB 上限。

安装前注意

插件以当前 dsh 进程权限运行,其文件操作受该进程可访问范围约束。安装前应检查源码、依赖和许可证;本文列出的许可证为 MIT。安全修复仅保证最新发布版本;插件依赖 DSH 官方公开接口,DSH 大版本升级后如接口变化需相应跟进。

已知限制

  • 子目录内新建文件/文件夹入口未提供,仅各工作区根目录。
  • 预览仅支持 UTF-8 文本,二进制文件显示为替换字符。
  • 语法高亮为轻量正则实现,复杂嵌套场景偶有偏差。
  • 卸载后重启 dsh web 即完全移除;插件不修改 DSH 内置文件,不留残留。

链接

资料提供的 GitHub 仓库地址为:

https://github.com/3911ee/dsh-workspace-explorer

本文未列出目录页链接,因为资料未提供。

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

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

小夜