dsh-file-drag:让 Files 侧边栏的文件直接拖入消息编辑器

前言

在 DeepSeek Harness 中,从操作系统的文件系统拖拽文件到消息编辑器已经可以工作。但 Files 侧边栏中的文件行并没有被标记为拖拽源,编辑器也只接受来自操作系统的 Files 类型 payload,因此侧边栏文件无法直接拖入。dsh-file-drag 通过在侧边栏文件行上启用原生拖拽,并绕过编辑器的 payload 检查,将文件路径传递给编辑器,从而补全这一能力。

是什么

dsh-file-drag 是一个 DeepSeek Harness 插件,由 JiayuREN1127 维护。它的作用是:在 Files 侧边栏中,把文件和文件夹行变成可拖拽源,让你可以直接把文件拖到消息编辑器的任意位置。

默认情况下,拖入的文件会变成一个内联的圆角芯片,与编辑器自己的 @ 选择器产生的 token 一致,可以跟随文本移动、换行和删除。你可以在设置中切换三种模式:内联芯片、上传附件、纯 @ 路径。

核心功能

  • 侧边栏文件拖拽:Files 侧边栏中的文件和文件夹行现在可以被拖拽到消息编辑器。
  • 三种投放模式:
  • 内联芯片(默认):在光标位置插入一个圆角芯片,显示文件图标和名称,与编辑器原生行为一致。
  • 附件:读取文件内容并上传,在编辑器上方的附件栏显示。
  • @ 路径:直接插入相对路径文本,如 @src/client/index.ts。
  • Alt 拖拽:按住 Alt(⌥)拖拽时,无论当前设置如何,都会以 @ 路径形式投放一次。
  • 设置项:在 Settings → General → File drag 中配置默认投放模式,配置存储在 localStorage 的 dsh-file-drag:mode 键下。
  • 错误回退:如果芯片无法投放,会自动降级为 @ 路径,不会丢失文件。

安装与启用

插件需要 DeepSeek Harness 0.2.1-rc.2 或更高版本,并且使用 desktop 配置文件(~/.dsh/profiles/desktop)。

使用安装脚本

git clone https://github.com/JiayuREN1127/dsh-file-drag.git
cd dsh-file-drag
./install.sh

install.sh 会把插件复制到 ~/.dsh/profiles/desktop/node_modules/dsh-file-drag,并在 ~/.dsh/profiles/desktop/cordis.patch.yml 中追加一行 Loader 配置,安装前会自动备份原配置文件。

手动安装

  1. 将插件目录复制到 ~/.dsh/profiles/desktop/node_modules/dsh-file-drag。
  2. 在 ~/.dsh/profiles/desktop/cordis.patch.yml 中追加:
- insert:
    - id: file-drag
      name: dsh-file-drag
  1. 完全退出应用(Cmd-Q),然后重新打开。Loader 树在启动时构建,页面刷新不足以完成首次安装。

通过市场索引安装

插件仓库发布了格式-1 市场索引,添加以下 URL 到 Settings → Plugins → Discover → Index sources:

https://raw.githubusercontent.com/JiayuREN1127/dsh-file-drag/main/market/index.json

之后可以通过索引安装和更新插件。

典型用法

  1. 打开右侧的 Files 选项卡。
  2. 按住文件或文件夹,拖拽到消息编辑器。
  3. 释放鼠标。

拖拽过程中,编辑器会显示虚线边框,提示可以投放。

投放行为示例

源行 内联芯片 附件 @ 路径
src/client/index.ts 标签为 index.ts 的芯片 已上传的附件卡片 @src/client/index.ts
文件夹 packages 标签为 packages/ 的芯片 降级为芯片 @packages/
my notes.md 标签为 my notes.md 的芯片 已上传的附件卡片 @"my notes.md"

路径遵循编辑器自己的 formatFileMention 语法:文件夹以 / 结尾,包含空格的路径会被引用。

适用场景与注意

这个插件只做一件事:让 Files 侧边栏中的文件变成可拖拽源。

  • 你在编辑消息时需要频繁引用工作区中的文件,并且习惯通过路径来引用 → 这个插件会很有用。
  • 你主要在消息中粘贴代码,或者很少打开 Files 选项卡 → 这个插件对你没有额外价值,不需要安装。

插件以当前 DSH 进程的权限运行,安装前应查看源码与许可证(MIT)。

短结尾

dsh-file-drag 通过在侧边栏文件行上启用原生拖拽,将文件路径传递给编辑器,补全了从 Files 侧边栏拖拽文件的能力。它提供内联芯片、附件和 @ 路径三种投放模式,并带有错误回退机制。

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

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

Xiaoye