前言¶
在 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 模式¶
拖入文件后直接复制字节到工作区,适合拖入工作区外的文件,确保模型稳定读取。
操作步骤¶
- 拖拽本地文件到聊天界面。
- 松手时根据模式显示「复制」或「引用」提示。
- 在输入框附件栏查看生成的 Codex 风格卡片。
- 点击卡片或按 Enter/Space 进行预览或系统打开。
- 发送消息时,内容中会追加每行一个
@"<绝对路径>"的文件引用。
安全与边界¶
插件对文件访问进行了多层安全控制:
* 不透明 ID:每次解析或复制成功后,host 生成短期、不透明的 fileId,所有后续操作均需通过该 ID 核对。
* 路径验证:写入流程逐层拒绝 symlink/junction,并在创建后重新验证,防止路径逃逸。
* 沙箱预览:文本预览响应强制 text/plain 并附加 CSP,防止主动内容执行。
* 错误提示:路径解析失败或能力校验不通过时会弹出提示,不静默。
注意事项¶
copy模式只能写入当前 session 在 workspace registry 中权威绑定的工作区。- 插件以当前 dsh 进程权限运行,安装前建议检查源码与许可证。
- 图片不经过本插件,保留平台原生附件通道。
相关链接¶
- GitHub 仓库:anzhaohao/DragView
- 插件目录:anzhaohao/DragView