DeepSeek Harness 侧边栏增强插件

前言

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
羽毛球分组比赛记分
小程序二维码

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

小夜