前言¶
DeepSeek Harness (DSH) Web GUI 的核心设计理念是「一切皆插件」。在开发或使用 DSH 进行对话时,处理文件附件是一个常见需求。原生上传功能较为局限,且当模型不支持多模态时,图片无法直接被理解。dsh-file-attachment 插件解决了这些问题:它接管了原生的附件上传流程,支持拖拽、粘贴与点击上传,将图片与文档统一落盘,并通过 @绝对路径 引用让文本模型也能利用文件,同时为非多模态模型提供 VLM 识别能力。
核心功能¶
该插件提供了完整的文件交互管线,主要能力如下:
- 多方式上传:支持直接拖入文档或图片、使用
Ctrl+V粘贴、或点击原生的 📎 附件按钮进行多选上传。插件已接管 DSH 本体的上传按钮。 - 统一落盘管理:图片与文档统一保存到会话工作区下的
.dsh-file-attachment/目录。保存路径格式为<日期>/<清洗后文件名>,同一天内同名文件会自动追加序号。 - 输入框内联预览:上传后,输入框上方会显示内联附件条。图片以缩略图展示(点击可放大),文档显示类型图标与文件名。点击条目上的
×可移除附件条目,并同步清除输入框中对应的@引用。 - 聊天区渲染:用户消息中的
@图片路径会被渲染为可点击放大的缩略图(Lightbox 效果),@文件路径保持芯片样式。 - VLM 智能识别:当当前会话模型不支持多模态时,插件会自动调用配置好的 VLM(Vision Language Model)对图片进行识别,生成中文描述并回填到草稿区。若未配置 VLM API Key,则静默跳过识别,不影响文件落盘。
- 跨平台支持:支持 PC 浏览器与移动端浏览器。
安装与启用¶
通过官方 CLI 安装该插件:
dsh plugin --profile web add @wszhoho/dsh-file-attachment
安装完成后,重启 DSH Web GUI 即可生效。
典型用法¶
- 拖入/粘贴:将文档或图片拖入输入框,或直接从剪贴板粘贴,系统会自动落盘并在光标处插入
@引用。 - 多选上传:点击输入框左侧的 📎 按钮,在系统文件选择框中多选文档或图片,上传后自动插入引用。
- 移除附件:点击输入框内附件条目旁的
×,可移除该附件并清除输入框中对应的@路径引用。 - 文本模型使用:即使当前模型不支持看图,通过上传图片并配置 VLM,模型也能在生成回复时引用图片内容。
注意事项¶
- 不支持目录:插件不支持直接拖入整个文件夹。
- 文件大小限制:单文件超过 50MB 时会被跳过并提示。
- 路径依赖:文件保存路径基于当前会话的工作区(
session.header.cwd),确保工作区目录可写。 - VLM 配置:使用 VLM 识别功能需在设置页配置 API Key 与模型参数。
总结¶
wszhoho/dsh-file-attachment 是一个实用且专注的 DSH 插件,它规范了文件在 DSH 中的存储与引用方式。对于需要处理文档、代码或图片的 AI Agent 开发者,该插件能显著提升交互体验,降低多模态对接的门槛。