dsh-copy-document-preview:为文档预览侧栏增加一键复制

前言

在 DeepSeek Harness(DSH)里用右侧文档预览打开工作区文件时,官方预览头会显示路径、渲染器选择、换行开关和 Reload,但没有把预览内容或文件信息带出预览区的入口。要把 Markdown、代码或日志整份拷到剪贴板,往往只能手动全选或另开终端读文件。dsh-copy-document-preview 在预览头追加一个复制按钮:文本类文件复制全文,二进制文件则复制绝对路径,并给出成功或失败的可访问性反馈。

这是什么

dsh-copy-document-preview 是维护者 shellpower96 发布的 DSH 客户端插件(当前 GitHub 星标为 0)。它在侧边栏文档预览的工具栏上增加一个复制按钮,通过 Harness 自带的分页文件 Remote(remote.workspaceFiles.read)读取与预览相同的 Session 权限下的文件内容,不绕过拥有该文件的 Session。

插件无构建步骤、无运行时依赖;浏览器侧只注册文档工具栏的追加槽位 sidebar.right.tab.document.actions,不替换已有控件。界面字符串经客户端 locale 服务路由,支持英文与简体中文;样式使用宿主 --dsw-alias-* 主题令牌,随明暗模式变化。

核心功能

预览头一键复制

复制按钮渲染在预览自有控件以及「在应用中打开」之后。点击后:

  • 纯文本、Markdown、代码、日志:剪贴板为文件全文(不含预览行号)。
  • CSV / TSV / JSON / YAML:同样为全文。
  • PDF、图片、Office(.docx、.xlsx、.pptx)、zip 等二进制:宿主报告 workspace-file/not-text 时,复制该文件的绝对路径并在界面上说明,而不是静默失败。

读取方式与预览一致:remote.workspaceFiles.read(sessionId, path, { offset }, signal),宿主对单页的字节与行数限制仍然生效。

反馈与无障碍

复制成功时显示勾选标记约两秒;失败时显示警告标记及原因,并通过辅助技术播报。

安装与启用

以下命令摘自插件 README;安装后需重启 dsh web。也可从 Plugin Market 或 Plugin Manager 安装,由管理端启用 bundle。

从 npm 注册表安装:

dsh plugin --profile web add dsh-copy-document-preview

从 GitHub 安装:

dsh plugin --profile web add github:shellpower96/dsh-copy-document-preview

若本机未配置 GitHub SSH,可使用 HTTPS 形式:

dsh plugin --profile web add https://github.com/shellpower96/dsh-copy-document-preview.git#main

卸载:

dsh plugin --profile web remove dsh-copy-document-preview

典型用法

  1. 按上文为 web profile 安装插件并重启 dsh web。
  2. 在 DSH 中打开任意工作区文件,使右侧文档预览显示该文件。
  3. 在预览头找到新增的复制按钮并点击。
  4. 文本类文件:到目标编辑器或聊天输入框粘贴,得到完整源文。
  5. 二进制文件:剪贴板为绝对路径,可按路径在本地或宿主允许的方式打开原文件。

适用场景与注意

适合谁:经常在 Harness 侧边栏预览代码、配置、日志或 Markdown,需要把整份内容贴到 issue、文档或对话里的开发者。

限制(README 已说明):

  • 剪贴板写入依赖 navigator.clipboard,页面须为安全上下文(https:// 或 http://127.0.0.1),且页面需处于焦点;无 execCommand('copy') 回退。
  • 超过宿主单页限制(maxLines、maxBytes)或超过 200 页的文件会按宿主 too-large 报错;插件无法从二进制文件提取文本。

安全与许可:插件在当前 dsh 进程权限下运行,安装前请自行查看仓库源码与许可证(MIT)。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系;本文事实以仓库 README 与 package.json 为准。

结尾

dsh-copy-document-preview 补上了官方文档预览头缺少的「带出内容」能力:文本走 Session 内读的整文件复制,二进制则明确复制路径。需要进一步了解或提 issue,可访问社区目录页与 GitHub 仓库。

  • 目录页:https://www.skillhub.cn/plugins/shellpower96/dsh-copy-document-preview
  • GitHub:https://github.com/shellpower96/dsh-copy-document-preview
羽毛球分组比赛记分
小程序二维码

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

小夜