dsh-workspace-toolbox:DSH Web 工作区工具箱

前言

DeepSeek Harness (DSH) 采取插件化架构。在 Web profile 的开发场景中,开发者通常需要频繁在浏览器界面和本地终端之间切换,以管理项目文件、控制 Docker 容器以及启动/监控 Vite 开发服务器。下面介绍一个客户端插件,旨在将文件浏览、Docker 与 Vite 项目管控以及终端功能集成到 DSH Web UI 的会话视图中,减少上下文切换。

这是什么

wuyh/dsh-workspace-toolbox 是一个 DSH Web UI 插件。安装后,在会话视图栏的“轨迹”标签之后,会新增一个“工具箱”页签。该页签内包含四种模式:文件、Docker、Vite 和终端,提供一体化的工作区管理能力。

核心功能

文件浏览

  • 浏览与导航:采用面包屑导航,每屏显示一层目录,支持点击进入和返回上级。
  • 搜索:支持全工作区搜索,自动忽略 node_modules 等噪音目录。
  • 预览:支持 VS Code 风格的多标签预览(最多 10 个标签),提供语法高亮(文本)、Markdown 渲染、图片展示及二进制文件提示。
  • 安全限制:仅读取工作区边界内文件,不支持写入;浏览器端只接收相对路径与最小元数据。

Docker 管理

  • 连接方式:支持本地 Unix socket 连接;支持通过 SSH 隧道连接远程服务器。
  • 资源管理:提供镜像拉取、列表与删除,容器列表、日志查看、启动/停止/删除。
  • 构建与运行:支持工作区内 Dockerfile 项目的联动构建与运行,支持配置端口与环境变量。
  • 长任务:对拉取、构建、运行等长任务提供进度反馈。

Vite 项目管控

  • 自动扫描:自动扫描工作区内包含 vite 依赖或 vite.config.* 的项目。
  • 进程管理:支持启动(执行 pnpm run dev)与停止,自动解析端口与访问地址。
  • 日志与访问:提供实时日志回显,并支持一键在浏览器中打开页面。

终端

  • 多终端支持:支持 SSH 服务器终端(带 PTY)、进入 Docker 容器终端(docker exec)以及本地 shell。
  • 渲染:基于 xterm.js,提供真实的终端渲染、尺寸自适应和滚动回看。

安装与启用

该插件需要 DSH 0.1.0-rc.6 或兼容版本,且环境需安装 pnpm。

  1. 执行安装命令:
    dsh plugin --profile web add https://github.com/wuyh/dsh-workspace-toolbox/archive/refs/tags/v0.3.0.tar.gz
  1. 重启 Web Profile:
    安装后需重启 Web profile 以使插件生效(例如执行 dsh web)。

  2. 启用插件:
    在 DSH Web UI 的会话视图栏中,点击新增的“工具箱”页签。

典型用法

  1. 文件操作:在“工具箱”-“文件”页签中,使用面包屑导航进入项目目录,利用搜索框查找文件,或双击文件在多标签中预览代码和 Markdown 文档。
  2. Docker 开发:在“工具箱”-“Docker”页签中,通过 SSH 隧道连接远程 Docker 环境,拉取镜像,构建并运行容器,通过日志面板监控容器状态。
  3. Vite 开发:在“工具箱”-“Vite”页签中,查看自动扫描到的项目列表,一键启动开发服务器,在日志面板查看实时输出,或直接跳转至页面。

适用场景与注意

  • 纯客户端改动:插件的纯 Client 侧改动支持热更新(HMR),无需重启;Host 侧改动需重启 profile。
  • 安全性:SSH 密码和私钥仅在运行时内存中保存,重启后需重新输入。浏览器端仅接收相对路径。
  • 权限与依赖:插件以当前 DSH 进程的权限运行。若使用 git 源码安装,需确保 pnpm 版本兼容,且若 pnpm ≥10,可能需要在 profile 的 pnpm-workspace.yaml 中配置 allowBuilds 以允许构建脚本执行。

结语

dsh-workspace-toolbox 通过将文件管理、容器操作和前端开发工具集成到单一界面,简化了基于 DSH 的工作流。开发者可以在不离开 Web UI 的情况下完成大部分开发运维操作。

  • 目录页: https://www.skillhub.cn/plugins/wuyh/dsh-workspace-toolbox
  • GitHub: https://github.com/wuyh/dsh-workspace-toolbox
羽毛球分组比赛记分
小程序二维码

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

小夜