前言¶
在 DSH 工作流里,文件和消息常常需要一起使用:消息里引用一个路径、聊天时查看一张图片、临时改一处代码,或者从本地工作区移动、复制、重命名文件。如果这些操作都要离开 DSH Web,流程会频繁中断。
dsh-plugin-workbench 解决的就是这个问题:它在 DSH 网页中加入 VS Code 风格的工作台,包括文件树、可编辑代码预览、右键文件操作和图片内联预览。装上之后,DSH 网页可以作为一个轻量代码编辑器使用。
这是什么¶
dsh-plugin-workbench 由 Pasumao 维护,许可证为 MIT。
它定位为 DSH Web 的文件工作台插件,主要提供:
- 左侧文件树侧栏
- 可编辑代码预览
- 标签页、行号栏、语法高亮
- 右键文件操作
- 图片内联预览
- Markdown 渲染
- 消息中
@引用工作区文件 - 把文件拖入聊天输入框
- 每工作区独立的撤销与偏好状态
已核实资料中的版本为 0.0.15,Node 要求 >=18。
核心能力¶
文件树与编辑视图¶
- 文件树侧栏支持懒加载,并有
2秒自动刷新。 - 文件树展开状态按工作区独立保存。
- 标签页支持多文件打开、拖拽排序、收起/弹出。
- 亮暗主题可一键切换。
- 编辑器左侧有行号栏,显示逻辑行号,并与文本滚动锁定对齐。
可编辑代码预览采用透明 textarea 叠加语法高亮的方式,支持 Ctrl/Cmd+S 保存。
语法高亮使用 highlight.js,已核实资料列出的支持范围包括:
JS/TS
Python
JSON
HTML
CSS
Shell
自动换行偏好会持久化,可在软换行和长行横向滚动之间切换。
文件操作¶
右键菜单提供 VS Code 风格的文件操作,包括:
- 新建文件
- 新建文件夹
- 重命名
- 删除
- 复制路径
- 复制
- 剪切
- 粘贴
- 刷新
- 在系统中打开
- 在资源管理器打开
复制、剪切、粘贴支持 Ctrl/Cmd+C/X/V,也支持右键菜单和跨工作区粘贴。复制到同名目标时,会询问是否覆盖。
批量操作支持多选、批量删除、拖拽整组移动。
操作可撤销:
Ctrl+Z或右上角撤销- 每工作区独立
- 上限
30条 - 删除为可撤销删除
磁盘变更同步方面,外部修改打开的文件时,干净标签页会自动重读;带未保存编辑的标签页会显示重载徽标。
预览、引用与会话插入¶
图片预览支持:
png
jpg
gif
webp
avif
svg
图片内联渲染上限为 20MB,走同源路由:
/dsh-plugin-files/raw/<path>
该路由仅响应图片扩展名。
Markdown 渲染使用 markdown-it,原始 HTML 会被转义,相对路径图片经同源路由内联显示。
@ 引用文件时,可以在文件上选择“@ 在消息中引用”,把 @相对工作区路径 插入聊天输入框;发送后,消息中的相对路径会渲染为可点击链接。
拖文件进会话时,把文件从左栏拖到聊天区任意位置,路径文本会插入输入框光标处。
安装与启用¶
环境与配置要求¶
Node 要求:
>=18
插件无需环境变量或配置文件,无外部配置项。
行为偏好按工作区持久化,包括:
- 自动换行
- 亮暗主题
- 标签布局
- 文件树展开状态
安装命令¶
已核实资料给出两种安装命令。
npm 安装:
dsh plugin --profile web add dsh-plugin-workbench
GitHub 安装:
dsh plugin --profile web add github:Pasumao/dsh-plugin-workbench
安装后重启 DSH Web。
0.0.9 起,布局补丁自动检测并重打;0.0.15 起自动识别 npm 与 DSH Desktop 构建产物,DSH Desktop 开箱即用。
如果自动重打失败,例如锚点失效,可以执行:
node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs
然后重启 dsh web。
卸载¶
卸载命令:
dsh plugin --profile web remove dsh-plugin-workbench
并还原布局 bundle。
典型用法¶
下面介绍几个常见操作。
1、打开工作区后,在左侧文件树中定位文件。
2、右键文件,选择“@ 在消息中引用”,把 @相对工作区路径 插入聊天输入框。
3、把文件从左栏拖到聊天区任意位置,路径文本会插入输入框光标处。
4、在编辑器中修改代码,使用:
Ctrl/Cmd+S
保存。
5、执行文件级复制、剪切、粘贴,使用:
Ctrl/Cmd+C
Ctrl/Cmd+X
Ctrl/Cmd+V
也可以使用右键菜单。
6、需要撤销最近操作时,使用:
Ctrl+Z
或右上角撤销按钮。
适用场景与注意¶
适合使用 dsh-plugin-workbench 的场景包括:
- 在 DSH Web 中查看和编辑工作区文件
- 在聊天中快速引用工作区文件路径
- 预览图片、Markdown 和代码
- 做简单的文件复制、移动、重命名、删除
- 需要轻量文件操作和撤销能力
安装前需要注意:
- 文件操作通道仅限
loopback RPC /dsh-plugin-files - 写操作显式以
danger-full-access执行 - 插件以当前
dsh进程权限运行,安装前应检查源码与许可证,并确认当前dsh进程可访问目标工作区 DSH升级会覆盖布局 bundle;插件启动时自动检测并重打补丁- 锚点失效时需要更新:
scripts/patch-layout.mjs
- 本仓库不包含
DSH编译产物 - 部分源码与文档由 AI 辅助生成(DeepSeek Harness),经人工审查与实机验证
- 权限相关逻辑已按最小权限原则复核
资源¶
GitHub 仓库:
https://github.com/Pasumao/dsh-plugin-workbench
当前已核实资料未提供可核实的目录页 URL;如需查找,建议以 GitHub 仓库为准。