DeepSeek Harness Hub
← 返回列表

Pasumao/dsh-plugin-workbench

DeepSeek 客户端兼容 / 相关生态spec-screened在 GitHub 查看 ↗
✓ 可直接安装

⛔ 本插件已停止更新2026-09-11

自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=18);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/11 · 已提供中文文档

[已停用 2026-09-11:DSH >=0.1.5 内置了工作区文件树 + 文档预览——请改用该功能] 用于 dsh Web GUI 的 VS Code 风格工作区文件浏览器(已发布版本仍可安装)

综合分
34.2
GitHub 分
34.2
用户评分
★ Stars
7
周下载量
兼容 / 相关生态插件(非 dsh 原生,请按其对应运行时安装)
git clone https://github.com/Pasumao/dsh-plugin-workbench.git
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-plugin-workbench @ 0.0.25
Node 引擎要求 >=18 · 基线 Node 22.19 满足
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/18 05:21:27

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-plugin-workbench

npm version
npm downloads
CI
License
Stars
AI Assisted

⛔ 本插件已停止更新(2026-09-11)

DSH 0.1.5 起官方自带工作区文件树与文档预览(内置 bundle
@deepseek-ai/dsh-client-ui-sidebar-files:右侧栏文件树,懒加载目录列表;
@deepseek-ai/dsh-client-ui-sidebar-documentpreview:Markdown / 高亮代码 /
图片 / PDF / HTML / 纯文本预览),覆盖本插件的核心能力,且为官方第一方实现
(无需布局补丁、不依赖任何非公开宿主 API、随 dsh 自动升级)。
本插件因此停止维护与更新,已安装用户建议卸载并改用内置功能:

dsh plugin --profile web remove dsh-plugin-workbench
可选:把布局 bundle 还原为官方原始版本
node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs --restore
重启 dsh web 生效

已发布的版本仍可安装使用(实测兼容 DSH 0.1.5-rc.1),但不再修复问题、
不再适配后续 dsh 版本。感谢每一位用户与 star ⭐。

能直接改文件的 VS Code 风格工作台——不是只读预览:文件树 + 可编辑代码预览
(语法高亮、标签页、行号栏)+ 右键文件操作(新建 / 重命名 / 删除 / 复制 / 剪切 /
粘贴 / 在系统中打开 / 在资源管理器打开)+ 图片内联预览,每个工作区独立保存状态。
装上之后,DSH 网页就是一个轻量代码编辑器。

✅ 开箱即用:0.0.9 起布局补丁全自动——装完重启即生效;DSH 升级覆盖 bundle
后插件会自动补回,无需任何手动操作(仅锚点失效时才需手动,见「配置」节)。
0.0.15 起自动识别 npm 与 DSH Desktop 两种构建产物,DSH Desktop 开箱即用。

装完你会看到:

- 左侧多出文件树侧栏(懒加载 + 2 秒自动刷新,每工作区独立展开状态);
- 消息里的 @相对路径 变成可点击链接,点开直接在工作台预览;
- 把文件从左栏拖进聊天区,路径自动插入输入框。

效果图

workbench 实机截图:DSH 网页内的文件树与可编辑预览

真实 Web GUI 截图。

功能

- 文件树:懒加载、2 秒自动刷新、每工作区独立展开状态
- 文件图标:常见格式显示着色徽章(代码)/ emoji(图片、音视频、压缩包等),目录展开/收起区分
- 可编辑预览:透明 textarea 叠加语法高亮,Ctrl+S/Cmd+S 保存;
md 默认渲染预览(源码/渲染一键切换),.txt 等散文格式与超大代码文件
自动降级为纯文本编辑,加载快、不卡界面
- 磁盘变更同步:打开的文件被外部修改(如 agent 或其它编辑器保存)时,
干净标签页自动重读,带未保存编辑的标签页显示「⟳」徽标(点击重新加载);
监视目录被删 / 受限时自动降级清理并允许重试,不会因 watcher 异常影响宿主进程
- 行号栏:编辑器左侧逻辑行号,与文本滚动锁定对齐(纯文本/高亮模式均生效)
- 图片预览:png/jpg/gif/webp/avif/svg 等直接内联渲染(同源字节路由,20MB 上限)
- 右键菜单(VS Code 风格):文件/文件夹/整列任意空白、头部均可右键——
新建文件、新建文件夹、重命名、删除(递归带确认)、复制路径、复制 / 剪切 / 粘贴、
刷新、在系统中打开、全选、撤销、
在资源管理器打开(文件在所在文件夹中被选中,文件夹直接打开;
Windows explorer / macOS open,WSL 自动转译)
- @ 在消息中引用:文件右键「@ 在消息中引用」把 @相对工作区路径 插入聊天输入框;
发送后消息中的 @相对路径 渲染为超链接(点击在工作台预览打开),
语法为 @ + 相对工作区路径,其它 @文本 一律按原样显示、无特殊含义
- 拖文件进会话:把文件/多选从左栏拖到聊天区任意位置,路径文本插入输入框光标处;
拖到左栏目录行仍是移动操作
- 任意位置点击取消选中:点击树外的任何地方(会话/其它栏/左栏头部)清除选中
- 复制 / 剪切 / 粘贴:Ctrl/Cmd+C/X/V(或右键菜单),支持跨工作区粘贴;
复制到同名已存在的目标时询问「是否覆盖」,与系统文件管理器一致;
剪切(移动)成功后自动清空剪贴板
- 批量操作:Ctrl/Cmd+点击、Ctrl+A 多选,右键菜单/Delete 批量删除选中项,
拖拽整组移动
- 操作可撤销:右上角「↩」或 Ctrl+Z 撤销最近操作(每工作区独立、上限 30 条):
复制(删副本)、剪切/拖拽移动(移回原位)、重命名、新建、删除;删除为可撤销删除
(瞬移进隐藏 .dsh-trash,不复制字节)
- 在资源管理器中打开:右键菜单项(同 VS Code 的 Reveal in File Explorer),
将文件/文件夹定位到系统文件管理器(Windows 资源管理器、macOS Finder 等),
经 loopback RPC 的 reveal 端点执行
- 自动换行:标签栏一键切换软换行(仅显示层换行,不改动文件内容)或长行横向滚动,偏好持久化
- 标签页:多文件、拖拽排序、收起/弹出;亮暗主题一键切换
- 语法高亮:highlight.js(JS/TS、Python、JSON、HTML、CSS、Shell 等;
Markdown 默认渲染预览,可切源码)
- Markdown 渲染:markdown-it(原始 HTML 一律转义不执行),相对路径图片经
同源路由 /dsh-plugin-files/raw/ 内联显示
- 磁盘变更:宿主对打开文件做 fs.watch(监听父目录,可存活原子重命名),
变更经 SSE /dsh-plugin-files/events 推送,干净标签自动同步

配置

无需环境变量或配置文件;布局补丁全自动(插件启动时自动检测并重跑
scripts/patch-layout.mjs,幂等、非阻塞;0.0.15 起自动识别同一版本的两种构建产物
——npm 构建与 DSH Desktop 内置构建;锚点与编译产物字节级耦合,DSH 升级后如失配
需更新锚点):
- 行为偏好(自动换行、亮暗主题、标签布局、文件树展开状态)按工作区持久化,无需手动配置;
- 文件操作通道:经 loopback RPC /dsh-plugin-files,写操作显式以 danger-full-access 执行,无外部配置项。

安装

布局补丁锚点与 DSH 编译产物字节级耦合,DSH 升级后如失配需更新锚点;0.0.15 起
自动识别 npm / DSH Desktop 两种构建产物,插件启动时自动检测并重打补丁
(详见「配置」节)。

npm(推荐)
dsh plugin --profile web add dsh-plugin-workbench
或 GitHub
dsh plugin --profile web add github:Pasumao/dsh-plugin-workbench

源码安装(本地开发 / 调试):

git clone https://github.com/Pasumao/dsh-plugin-workbench.git
cd dsh-plugin-workbench
pnpm install
pnpm run build     # 产出 lib/index.js 与 lib/client.js
以 link: 方式挂载进 profile

安装后打布局补丁并重启:

node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs
重启 dsh web

0.0.9 起插件启动时会自动检测并重打布局补丁,DSH 升级后无需再手动跑;
仅当自动重打失败(锚点失效)时才需手动执行上面的命令。

开发

pnpm install
pnpm run build       # 产出 lib/index.js(host)与 lib/client.js(browser)
pnpm run typecheck

卸载

dsh plugin --profile web remove dsh-plugin-workbench
可选:把布局 bundle 还原为官方原始版本(推荐,卸载后干净如初)
node node_modules/dsh-plugin-workbench/scripts/patch-layout.mjs --restore
重启 dsh web

不跑 --restore 也没关系:0.0.18 起布局补丁会自适应——explorer 列在没有插件
往 explorer / explorer.preview 插槽注册内容时自动收起(宽度归 0),
卸载后不会残留空列。--restore 只是把它还原成完全未打补丁的原始 bundle。
脚本带两道防呆:目标看起来已是未打补丁的新版 bundle(dsh 刚升级过)、或备份
属于更旧的 dsh 版本时,会拒绝回滚并提示(--force 可强行恢复)。

说明

- /dsh-plugin-files RPC 通道仅限 loopback;写操作显式以 danger-full-access 执行;
右键菜单的新建/重命名/删除同样经该通道(loopback 信任,与编辑器保存一致);
本插件挂载的全部 HTTP 路由(RPC / raw 图片 / SSE)统一经过连接层鉴权 fence
(connection.requestRejection,Host/Origin + 浏览器鉴权检查)
- 图片预览走同源路由 /dsh-plugin-files/raw/:仅响应图片扩展名,
先经 ctx.fs.resolve → stat(沙箱一致的路径解析)再读取字节,20MB 上限
- DSH 升级会覆盖布局 bundle;0.0.9 起插件启动时自动检测并重打补丁,
无需手动重跑;锚点失效时需更新 scripts/patch-layout.mjs(0.0.15 起锚点表分
npm / desktop-ci 两个构建变体自动探测,desktop-ci 变体存于
scripts/layout-anchors.desktop-ci.json)
- 本仓库不包含 DSH 编译产物

参与贡献

见 CONTRIBUTING 与 CODE_OF_CONDUCT;
变更记录见 CHANGELOG。

兼容性

- 实测于 DSH 0.1.5-rc.1(0.0.23 起文件通道改为本插件自挂路由,适配该版 cordis 4.0.2
的服务解析——旧版经 connection.rpc.handle 注册会启动即崩)与 DSH 0.1.2-rc.1
(0.0.16 起布局补丁锚点适配该版:detailsCol 边框样式
1px/--dsw-alias-border-l2 → .5px/--dsw-alias-border-l3、DetailsColumn 的
子级新增 SessionProvider 包裹);0.1.1-rc.2 及更早版本用 0.0.15 的锚点表。
- 0.0.9 起插件启动时自动检测并重打布局补丁,DSH 升级后通常无需手动操作;
锚点失配会在启动日志提示 ui-layout patch exited 1,此时升级本插件即可。

依赖的非公开宿主 API

本插件依赖若干 dsh 内部(非公开、无稳定兼容性承诺)的宿主 API。dsh 升级时请重点回归以下依赖点。适用 dsh 版本:0.1.5-rc.1(同系 0.1.2-rc.1 亦实测兼容):

| 依赖的非公开 API | 用途 | 位置 |
|---|---|---|
| connection.rpc.call wire 协议 | 文件 RPC 通道复用 web 客户端 connection.rpc.call 的线上协议:POST /dsh-plugin-files/,body { type: 'client-request', rpcId, method, payload },应答 { type: 'server-response', rpcId, result },仅接受 HTTP 200;非 200 表现为 transport failure | src/index.ts serveFilesRpc |
| ctx.connection.requestRejection(req) | 与 connection 服务自挂通道相同的 Host/Origin + 浏览器鉴权 fence(401/403);文件 RPC、raw 图片与 SSE 三条路由均过此检查 | src/index.ts 三处 webServer.register handler |
| ui-layout bundle patch 锚点 | 资源管理器列由 scripts/patch-layout.mjs 向编译后的 @deepseek-ai/dsh-client-ui-layout client bundle 注入标记(npm-015 变体对应 0.1.5 rightbar 框架,如 "explorerCol": "pI_x6G_explorerCol"、explorerOccupied、data-explorer-collapsed 等,见 src/index.ts LAYOUT_PATCH_MARKERS_015);dsh 升级覆盖 bundle 后由宿主自动重打,锚点失配时补丁脚本安全退出不写文件 | scripts/patch-layout.mjs、src/index.ts |

相关插件

本插件属于 Pasumao 的 dsh 插件生态,同系列已发布插件可搭配使用:

| 插件(npm) | GitHub | 说明 |
|---|---|---|
| dsh-notify | GitHub 仓库 | Windows 原生通知 + 系统托盘 |
| dsh-plugin-choice-refresh | GitHub 仓库 | 选择增强:重新生成选项 / 更多选项 |
| dsh-plugin-dev-kb | GitHub 仓库 | 插件开发知识库(官方文档完整镜像 + 技能) |
| dsh-plugin-image-tools | GitHub 仓库 | 图片选择卡 + 回复内嵌图片 + 盲模型收图 |
| dsh-plugin-table-zoom | GitHub 仓库 | 聊天长表格浮窗查看 + 一键复制 Markdown |
| dsh-plugin-windows-guard | GitHub 仓库 | Windows 环境防坑:守则技能 + 乱码检测 / 危险写拦截 / 编码诊断修复 |
| dsh-plugin-context-trim | GitHub 仓库 | 会话注入门控:skill / tool / 提示词段落按会话裁剪 |
| dsh-plugin-workbench | GitHub 仓库 | 本插件:VS Code 风格工作区文件树 + 可编辑预览,网页变轻量代码编辑器 |

本系列其余插件见 Pasumao · dsh 插件;觉得好用欢迎到 GitHub 点 ⭐。

AI 生成声明

部分源码与文档由 AI 辅助生成(DeepSeek Harness),均经人工审查与实机验证;
权限相关逻辑已按最小权限原则复核。

License

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群