前言¶
DeepSeek Harness(DSH)是面向智能体开发者的桌面工具,内置了文件面板、终端面板等基础能力,但在文件树的操作、文档预览的编辑性,以及多终端标签的管理上仍有提升空间。本插件通过影子替换内置文件面板、接管文档预览渲染,并在会话头部新增终端按钮,把文件树补上完整的增删改查能力,把文档预览升级为可编辑、可保存的编辑器,同时提供与右侧边栏互不干扰的底部多标签终端面板。
插件定位¶
本插件为 DeepSeek Harness(DSH)的客户端侧边栏增强插件,由维护者 xmwengxing 开发,开源协议为 MIT。它不依赖第三方框架,通过 Host 半部(index.js)与 Client 半部(client.js)协作,向 DSH 内置 web 服务器注册路由,并向 DSH 内部 Slot 注入渲染器与面板条目,从而在不改动宿主核心配置的前提下扩展功能。
文件树管理¶
本插件以 priority: -1 影子替换内置文件面板 Slot,保留原有打开行为与会话动作插槽。
- 重命名:在行内提供输入框,支持右键菜单或
⋯按钮触发,输入后保存。 - 新建文件与目录:工具栏提供新建按钮,支持在当前目录下创建。
- 上传:支持工具栏多选上传,也支持直接将文件拖拽到目录行或面板空白处。
- 下载:右键菜单提供下载选项,文件按原字节下载,目录打包为
.zip,使用系统自带解压即可打开。 - 复制完整路径:右键菜单提供复制绝对路径,Windows 下使用反斜杠,可直接粘贴到资源管理器、cmd 或 PowerShell。
- 删除:支持文件与目录的删除,删除目录时递归删除并二次确认。
- 上下文菜单与展开/折叠:右键菜单提供文件操作,支持手动展开、折叠与刷新。
文档编辑器¶
本插件接管约 130 种文本扩展名的预览,通过注册 priority: 'extension' 的渲染器定义,在文档 Slot 中提供编辑模式。
- 直接编辑:预览区支持直接编辑文本内容,支持
Ctrl/Cmd+S保存,工具栏按钮同样触发保存。 - 乐观锁保存:读取时携带文件版本,若磁盘已被外部修改,会在加载完成后提示冲突,支持选择覆盖或加载磁盘版本。
- 外部变更提示:读取期间若文件被外部修改,会在加载完成后给出变更提示。
- 大小写不敏感的扩展名匹配:扩展名匹配不区分大小写,内置渲染器(Markdown/HTML/SVG 等)仍可在切换器中选择。
下侧终端面板¶
本插件向 conversation.composer.dock 注册多标签面板条目,并向 conversation.session.header.utilities 注册终端按钮。
- 独立面板:会话头部新增终端按钮,点击在输入框下方弹出独立面板,再点收起。面板支持多标签,完全独立于右侧边栏,不会在侧边栏中出现,反之亦然。
- 新建与关闭:面板内
+号新建终端,×关闭标签并结束进程。 - 调整高度:支持通过顶缘拖拽调整面板高度(范围 160px – 70% 视口),显隐与高度持久化。
- 快捷命令:
+号旁的按钮打开命令库弹窗,提供查看命令、添加命令、备份与恢复功能。 - 查看命令:按分组折叠展示命令列表,列表上方有「全部折叠 / 全部展开」开关。
- 运行与复制:每条命令后提供运行按钮(把命令送入底部面板当前终端并回车)与复制按钮(命令文本进剪贴板)。
- 删除命令与分组:每条命令和分组标题均提供删除按钮,均需二次确认。
- 添加命令:上半部分显示分组列表,点击命令名会将名称、分组、备注、命令载入下半部分表单,可随时修改并保存;空表单点击「添加」则新增一条。
- 提示与取消:添加/保存成功后提示会一直显示,直到点击「取消编辑」才消失。
- 命令库持久化:库的权威副本存储在 DSH 主目录的
sidebar-enhancement/quick-commands.json($DSH_HOME优先,否则~/.dsh),采用原子改写。浏览器localStorage只作首屏镜像,重启 DSH、换端口或换浏览器时不会丢失数据。 - 备份与恢复:可导出整库为 JSON 文件,恢复时选择该文件并二次确认后整体覆盖,备份文件格式即该 JSON 文件本身。
安装与启用¶
本插件依赖 DSH Web(@deepseek-ai/dsh)。推荐使用 CLI 从 npm 安装。
1、安装插件:
dsh plugin --profile web add dsh-sidebar-enhancement
2、重启 dsh web 并刷新页面即可生效。插件包内自带 dsh.bundle.patch,Loader 会自动注册,无需修改 profile 配置。
如需开发调试,也可从源码本地安装:
git clone https://github.com/xmwengxing/dsh-sidebar-enhancement.git
# 在 DSH 插件安装入口选择本地目录 dsh-sidebar-enhancement/
本地目录安装采用 pnpm link,改动源码后刷新页面即可生效,无需重装。
卸载时使用:
dsh plugin --profile web remove dsh-sidebar-enhancement
兼容性与限制¶
- 仅支持会话工作区内的文件,跨会话与绝对地址不受影响。下载同样受此限制,工作区外的路径返回 403。
- 下载的目录压缩包不含符号链接(跳过,不跟随),空目录会保留在包内。
- 二进制文件、超大文本(读取上限 6M 字符)不进入编辑器,回落内置行为。
- 目录监视(watch)暂未实现,变更通过手动刷新与操作后自动重列感知。
- 下侧终端面板依赖内置终端面板包与会话面板(随插件引导注入),若宿主缺失相关服务则自动跳过该功能。
- 命令库的权威副本是 DSH 主目录下的
sidebar-enhancement/quick-commands.json,localStorage仅作首屏镜像。打开弹窗时会将主目录文件与本机镜像合并(先文件后本机,名称+分组+备注+命令四项全同才算同一条),因此两个设备各自添加的命令不会被覆盖。 - 若主目录不可写,弹窗会提示「当前命令只存在浏览器缓存中」并建议导出备份,不会静默丢失数据。
- 复制功能优先使用宿主原语的剪贴板方法,其次
navigator.clipboard,最后回退execCommand;非 https/localhost 的地址(例如局域网 IP 访问)也能复制。
适用场景¶
本插件适合需要频繁管理文件树、编辑文档预览内容、使用多终端标签进行命令操作的开发者与智能体开发者。它通过影子替换与 Slot 注入的方式扩展宿主能力,无需修改 DSH 配置,适合日常开发与调试使用。
总结¶
本插件为 DeepSeek Harness 提供了完整的文件树管理、可编辑的文档预览以及独立于右侧边栏的底部终端面板,并内置了命令库与持久化机制。通过 Host 与 Client 两半协作,在不侵入宿主核心的前提下扩展了实用能力。
参考资料¶
- GitHub 仓库:https://github.com/xmwengxing/dsh-sidebar-enhancement
- DeepSeek Harness:https://www.npmjs.com/package/@deepseek-ai/dsh