Skip to content

sharkymew/dsh-utility-tools

30Last commit Aug 14, 2026

dsh-utility-tools DSH plugin

This plugin adds file attachment support to DSH chat: users can drag any file into the conversation area, view and manage attachments, and send them along with messages. It also provides a text quoting feature: select text in the conversation, click the quote button, and the quoted text is prepended to the message. Supports both static installation (one command) and dynamic loading.

How to install the dsh-utility-tools DSH plugin

dsh plugin --profile web add dsh-utility-tools

Copying does not run this command. Review the repository and version before installing the dsh-utility-tools DSH plugin.

dsh-utility-tools DSH plugin data source

dsh-utility-tools DSH plugin snapshot date: Aug 16, 2026

discovered

What the dsh-utility-tools DSH plugin can do

  • Drag any file into the conversation area to create an attachment capsule with management menu.
  • Attachments are submitted with the message; Electron environment uses original file path, browser stores byte-perfect copy in temp directory.
  • Select text in the conversation to show a floating quote menu; clicking it inserts a quote block at the start of the message.
  • Attachment management: view file name and size, remove individual attachments.
  • Image drag still triggers native image handling, avoiding conflicts.

Where the dsh-utility-tools DSH plugin fits

  • Drag-and-drop documents, code files, or images for the model to analyze.
  • Quote a previous response or user message to ask follow-up questions.
  • Temporarily share files without cluttering the working directory (temp storage).
  • Attach multiple files and manage them before sending.

Who the dsh-utility-tools DSH plugin is for

  • DSH users who frequently share files with the model.
  • Developers and researchers needing to reference specific text from conversations.

dsh-utility-tools DSH plugin limitations

  • In standard browsers, the original file path cannot be obtained; only a copy in temp directory is used.
  • Single file size limit is 8 MB; larger files are rejected.
  • Text quote character limit is 2000 characters.
  • Temp directory may be cleared on system restart, so attachments are not persistent.

dsh-utility-tools DSH plugin: from the repository README

Quoted from the sharkymew/dsh-utility-tools README, the upstream source of the dsh-utility-tools DSH plugin. Copyright remains with the original authors.

DSH(DeepSeek Harness)对话工具插件:**拖拽任意文件进入对话** + **选中文本引用**。 支持**两种加载方式**:静态挂载(`dsh plugin add` 一行命令安装,推荐)与动态加载(`cordis_define`,零依赖)。 --- ## 功能 ### 1. 拖拽文件附件(不限于图片) - 拖入任意文件到对话区域即进入**附件列表**:输入框上方显示「📎 附件(N)」胶囊; - 点击胶囊展开**管理菜单**:查看文件名/大小、逐个移除; - 发送(Enter 或发送按钮)时随消息一并提交: - **Electron 环境**:直接引用 `File.path` 原路径,不复制; - **普通浏览器**:字节**无损**暂存到系统临时目录(macOS/Linux 用 `/tmp`,Windows 用每用户 `%TEMP%`)下的 `dsh-drops/<会话id>/`,消息引用绝对路径,模型可直接读取; - 文件**内容不会**出现在输入框或消息气泡里(只引用路径与大小),**不污染工作目录**; - 图片拖拽仍走系统原生流程;图片与文件混拖时图片自动转交原输入栏。 ### 2. 选中文本引用 - 在对话中鼠标选中文字 → 选区上方弹出「引用」菜单; - 点击后选中文字显示在输入框上方(引用条),带「✕」取消; - 发送时引用以 `> 引用:` 块置于消息开头一并提交。 --- ## 目录结构 ``` dsh-utility-tools/ ├── README.md # 本文件(含导入指南) ├── package.json # 包声明:dsh.bundle(自动插入 entry)+ dsh.client(静态 Client 半区) ├── cordis.patch.yml # ★ bundle patch:`- insert:` 插入插件 entry(一行命令生效的关键) ├── LICENSE # MIT ├── .gitignore ├── lib/ # ★ 静态版(一行命令安装用) │ ├── index.js # Host 入口(ESM,export default 插件,零依赖) │ └── client.js # Client 半区(__ModuleLoader__.load 格式) └── dynamic/ # 动态版(cordis_define 粘贴用,已验证) ├── host.body.js # code.host 函数体 └── client.body.js # cod

Read the full READMERepository license: MIT

dsh-utility-tools DSH plugin questions

How do I install dsh-utility-tools?

Run `dsh plugin --profile web add dsh-utility-tools` in your DSH terminal, then restart the web interface. This installs the plugin from npm and applies the necessary bundle patch automatically.

Can I drag large files?

The plugin imposes an 8 MB size limit per file. If you try to drag a larger file, it will be rejected and a message will be shown. For smaller files, the process works normally.

Does the plugin store files permanently?

No. Files are stored temporarily in the system's temp directory (e.g., /tmp on Linux/macOS) under `dsh-drops/<session-id>/`. This directory may be cleared on system restart, and attachments are only saved at send time. Removing an attachment before sending leaves no disk trace.

How does text quoting work?

Select any text in the conversation area. A floating menu with a 'Quote' button appears. Click it, and the selected text will appear as a reference bar above the input field. When you send the message, the quoted text is prepended with `> quote:`.

Does the plugin work in both Electron and browser?

Yes. In Electron, the plugin uses the original file path (`File.path`) directly. In standard browsers, it copies the file bytes to the temp directory because the browser cannot expose the real path. Both methods are supported.