DragView:DSH 拖拽文件与安全预览插件

前言

在 DeepSeek Harness(DSH)中处理文件附件通常需要手动复制路径或依赖原生附件机制,流程较为繁琐。DragView 插件通过监听拖拽事件,将本地文件直接注入到聊天界面,并生成结构化的 Codex 风格附件卡片,支持安全预览、系统打开以及路径解析或文件复制两种模式。

插件简介

该插件由用户 anzhaohao 维护,包名为 dsh-dragview。它解决了在智能体开发场景下快速引入文件、预览非图片格式内容以及安全访问本地文件路径的需求。

核心功能

DragView 提供了以下能力:
* 拖拽交互:将本地文件拖入聊天界面,松手后根据配置决定行为。
* 卡片渲染:生成 280×64 px 的 Codex 风格附件卡片,显示文件名、大小及类型。
* 预览机制:支持 PDF、音视频、文本的安全预览(文本限制 10MB,显示前 1MB)。
* 系统打开:点击卡片或按 Enter/Space,使用系统默认应用打开 Office 文档、压缩包及未知文件。
* 路径解析:支持 Windows Everything CLI、macOS Spotlight、Linux plocate/locate 进行路径定位。
* 图片处理:图片不经过本插件,保留平台原生附件通道。

安装与配置

插件可以通过官方命令安装。

dsh plugin add dsh-dragview

安装后,需在 DSH 设置中新增 drag-file 分区进行配置。

模式与使用

插件支持两种工作模式,通过设置中的 drag-file 分区切换,重启生效。

resolve 模式(默认)

拖入文件后解析真实绝对路径,不复制原文件,适合引用工作区已有文件。

copy 模式

拖入文件后直接复制字节到工作区,适合拖入工作区外的文件,确保模型稳定读取。

操作步骤

  1. 拖拽本地文件到聊天界面。
  2. 松手时根据模式显示「复制」或「引用」提示。
  3. 在输入框附件栏查看生成的 Codex 风格卡片。
  4. 点击卡片或按 Enter/Space 进行预览或系统打开。
  5. 发送消息时,内容中会追加每行一个 @"<绝对路径>" 的文件引用。

安全与边界

插件对文件访问进行了多层安全控制:
* 不透明 ID:每次解析或复制成功后,host 生成短期、不透明的 fileId,所有后续操作均需通过该 ID 核对。
* 路径验证:写入流程逐层拒绝 symlink/junction,并在创建后重新验证,防止路径逃逸。
* 沙箱预览:文本预览响应强制 text/plain 并附加 CSP,防止主动内容执行。
* 错误提示:路径解析失败或能力校验不通过时会弹出提示,不静默。

注意事项

  • copy 模式只能写入当前 session 在 workspace registry 中权威绑定的工作区。
  • 插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。
  • 图片不经过本插件,保留平台原生附件通道。

相关链接

羽毛球分组比赛记分
小程序二维码

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

小夜