DSH Plugins Marketplace

DSH Plugins

Plugins

/

UI & Experience

/

box-select-copy

b

box-select-copy

Identified

Alt+drag a rectangular box over the DSH conversation to copy the text inside it.

框选复制(Box Select Copy)

一个 DSH(DeepSeek Harness)Web 客户端插件:按住 Alt 用鼠标左键拖出矩形选框,松开后自动复制框内所有文本,并弹出轻量提示。

适合从对话、代码块或表格里按块摘取内容,而不必逐行拖选。

功能

  • Alt + 左键拖拽:在对话正文区域画出矩形(块/列)选框
  • 松开即复制:提取选框覆盖的所有文本,写入系统剪贴板
  • 轻量提示:成功显示 ✅ 已复制;空选/失败也有对应提示
  • 保留横向间隔:同一行内跨度较大的列之间自动补 \t
  • 主题适配:选框与提示使用 DSH 主题 token,自动适配明暗主题
  • 可取消:拖拽中按 Esc 或窗口失焦即取消

安装

要求:DSH Web 客户端支持客户端 bundle 插件(dsh.client)。

方式一:直接从 GitHub 安装(推荐)

在 DSH 的插件管理页选择安装外部 bundle,把安装目标填为:

github:Mi-Chuan/box-select-copy

也可以直接对 Agent 说:

请用 plugin_manager 的 install_bundle 安装 github:Mi-Chuan/box-select-copy

安装完成后刷新 DSH 页面。

这种方式由 pnpm 通过 Git 读取仓库。如果本机 Git 访问 GitHub 失败(例如 Windows 上出现 CRYPT_E_NO_REVOCATION_CHECK),请改用方式二或方式三。

方式二:从 npm 安装

包已发布到 npm:

box-select-copy

在 DSH 插件管理页把安装目标填为上面的包名,或对 Agent 说:

请用 plugin_manager 的 install_bundle 安装 box-select-copy

安装完成后刷新 DSH 页面。

方式三:下载 Release 压缩包

从 Releases 下载 box-select-copy-1.1.1.tgz,然后把安装目标填为压缩包的绝对路径,或直接填下载地址:

https://github.com/Mi-Chuan/box-select-copy/releases/download/v1.1.1/box-select-copy-1.1.1.tgz

方式四:克隆到本地安装(开发用)

git clone https://github.com/Mi-Chuan/box-select-copy.git

在 DSH 中把安装目标指向克隆后的 box-select-copy 目录(包含 package.json 的那一层),安装后启用插件并刷新页面。

npm 包名、插件 ID 和 GitHub 仓库名都是 box-select-copy,三处保持一致。

从旧版 @local/column-select-copy 或 @local/box-select-copy 升级:请先卸载旧插件,再安装本版本。

使用

  1. 在对话正文中按住 Alt
  2. 用鼠标左键拖拽出矩形选框
  3. 松开左键

成功后底部出现 ✅ 已复制,此时可直接 Ctrl+V 粘贴。

实现说明

  • 插件只包含客户端代码,注册到 shell.overlay 浮层,不修改对话 DOM。
  • 在 window 捕获阶段监听 pointerdown/move/up,仅当 altKey + 左键 + 对话滚动区 时启动。
  • 通过 Range.getBoundingClientRect() 逐字符判断与选框是否相交,再按 top 分行、left 排序,行间用 \n 连接。
  • 剪贴板优先使用 navigator.clipboard.writeText,失败时回退到隐藏 textarea + execCommand('copy')。

主要文件:

client.js         客户端逻辑(选框、提取、剪贴板、提示)
index.js          Host 半区(空实现)
cordis.patch.yml  bundle 注册 patch
locale/           插件名称与描述的中英文案
package.json      bundle 清单

限制

  • 只在对话正文区域生效;输入框、侧边栏不会触发。
  • 伪元素(如部分列表符号)和 Shadow DOM 内的文本不会被提取。
  • 若浏览器/Electron 拒绝剪贴板权限,会尝试回退方案;仍失败时提示“复制失败”。

License

MIT

Versions

Latest versionPublishedSize
1.1.1——

Comments

Loading…

Similar plugins

dsh-selection-followup

by zzx-dear

Select any text in a DSH chat reply to get a floating Follow-up/Copy pill: one click quotes the selection into the composer so you can type your own follow-up question, or copies it.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Aug 18, 2026

dsh plugin --profile web add dsh-selection-followup

by 2310770803

One button in the DSH session header: copy a deep link, the whole conversation as Markdown, or the working directory. · DSH 会话标题栏一键复制:深度链接、整段对话 Markdown、工作目录。

Terminal & ClientsSessions & MessagesManifest valid

★ 1

MIT

JavaScript

Nov 1, 2026

dsh plugin --profile web add dsh-session-copy

Select text in the chat transcript, right-click, and quote it into the composer. The quote travels as an atomic chip and renders as a collapsible card, while the model receives the full block with mes

UI & ExperienceManifest valid

★ 0

dsh plugin --profile web add dsh-quote-selection

by dreammaker2016

该仓库暂未提供项目说明。

Tools & CapabilitiesUI & ExperienceTerminal & ClientsManifest valid

★ 1

MIT

JavaScript

Sep 21, 2026

dsh plugin --profile web add @z1995418/dsh-file-menu

Drag a conversation onto any workspace group in the sidebar to relocate it between DSH workspaces, updating its cwd, disk location and registry ownership.

Sessions & MessagesManifest valid

★ 0

dsh plugin --profile web add dsh-workspace-drag

by YizhouLouisLu

Select text in the DSH Web UI conversation to quote it into the composer, or ask about it in a throwaway side panel that leaves no record.

UI & ExperienceManifest valid

★ 0

MIT

JavaScript

Oct 5, 2026

dsh plugin --profile web add dsh-select-ask-plugin