dsh-screenshot-paste:为 DeepSeek Harness Web GUI 提供文件粘贴板功能

在 DeepSeek Harness (DSH) Web GUI 的日常使用中,将本地文件(如截图、报告或配置)传递给智能体通常需要手动输入文件路径。直接复制粘贴文本会丢失格式,且容易出错。dsh-screenshot-paste 插件提供了截图与文件粘贴板功能,旨在解决这一操作痛点。

这是什么

该插件为 DSH Web GUI 提供截图与文件粘贴板功能。它支持通过 Ctrl+V 粘贴、拖拽或点击浏览来上传文件,并将文件以引用芯片的形式显示在输入框上方。发送消息时,插件会自动将文件路径附加在消息内容中。

  • 维护者:PdxGame
  • 定位:纯外部插件,不修改 DSH 源码,仅使用官方扩展点(UI 插槽、API 路由、agent/pre-step 事件)。
  • 许可证:MIT

核心功能

  • 多方式上传:支持 Ctrl+V 粘贴、拖拽文件、点击浏览上传(支持多文件)。
  • 文件类型丰富:支持图片、PDF、Office 文档、压缩包、音视频及文本文件。
  • 引用芯片:上传的文件以芯片形式显示在输入框上方,图片可点击预览。
  • 自动附带路径:发送消息时,消息内容会自动包含文件路径。
  • 原生目录选择:支持使用系统原生的 directoryPicker 服务选择保存目录。
  • 自动迁移:更换保存目录时,旧目录的文件会自动迁移到新目录(同名文件自动添加后缀,绝不覆盖)。
  • 引用自动清理:源文件被删除后,对应的引用芯片会自动消失,不会附带失效路径。
  • 零输入框污染与零常驻开销:不向输入框插入任何内容,不注册工具或贡献提示词,无引用时对模型请求无任何影响。
  • 安全限制:所有 API 仅限本机回环访问,文件名经过校验以防止路径穿越。

安装与启用

前置条件:已安装 DeepSeek Harness 及其 dsh 命令行工具,目标 profile 为 web。

安装命令:

dsh plugin --profile web add github:PdxGame/dsh-screenshot-paste@v0.1.1

安装完成后,需要重启 dsh web 并强制刷新浏览器(Ctrl+F5),客户端资源才会重新加载。

配置

插件开箱即用,但支持通过配置项指定保存目录。配置优先级如下:

  1. 设置项 dsh-screenshot-paste.dir(在 DSH 设置页或 ~/.dsh/settings.yaml 中配置)
  2. 环境变量 DSH_SCREENSHOT_DIR
  3. 默认值(插件目录下的 screenshots/,回退至 ~/.dsh/screenshots)

YAML 配置示例:

# ~/.dsh/settings.yaml
dsh-screenshot-paste:
  dir: "D:\\dsh-screenshots"

环境变量配置示例:

set DSH_SCREENSHOT_DIR=D:\dsh-screenshots

典型用法

  1. 打开任意会话,点击输入框工具区的 📎 按钮。
  2. 在打开的粘贴板面板中,通过 Ctrl+V 粘贴、拖拽文件或点击浏览上传文件。
  3. 文件保存后,输入框上方会显示引用芯片(图片芯片可点击预览)。
  4. 输入消息并发送,消息内容会自动附加文件路径,例如:
    [附件引用]
    <插件目录>\screenshots\shot-142314.png
  1. 点击面板底部「更改」按钮,使用原生文件夹选择框更换保存目录。更换后,旧目录文件会自动迁移,已添加的引用路径会同步更新。

注意事项

  • 视觉能力:插件不包含视觉模型,需自行配置识图能力(如安装 claude-vision-skill)。
  • 权限与安全:所有 API 仅限本机回环访问。
  • 目录清空:重装或更新插件会清空默认保存目录。
  • 文件校验:文件名经过校验,防止路径穿越攻击。
  • 许可证:MIT。

总结

dsh-screenshot-paste 通过零输入框污染和自动路径管理,解决了本地文件与智能体交互的繁琐问题。它适合需要在 DSH Web GUI 中频繁处理本地文件的场景。

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

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

小夜