前言¶
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。
- 执行安装命令:
dsh plugin --profile web add https://github.com/wuyh/dsh-workspace-toolbox/archive/refs/tags/v0.3.0.tar.gz
-
重启 Web Profile:
安装后需重启 Web profile 以使插件生效(例如执行dsh web)。 -
启用插件:
在 DSH Web UI 的会话视图栏中,点击新增的“工具箱”页签。
典型用法¶
- 文件操作:在“工具箱”-“文件”页签中,使用面包屑导航进入项目目录,利用搜索框查找文件,或双击文件在多标签中预览代码和 Markdown 文档。
- Docker 开发:在“工具箱”-“Docker”页签中,通过 SSH 隧道连接远程 Docker 环境,拉取镜像,构建并运行容器,通过日志面板监控容器状态。
- 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