dsh-any-attachment:DeepSeek Harness 插件,支持 Web UI 附加任意类型文件

在 DeepSeek Harness 的使用场景中,Web UI 界面通常对文件交互支持有限。当需要让智能体读取特定文件内容时,直接引用路径往往不直观,或者需要用户手动上传下载。dsh-any-attachment 插件通过扩展 Web UI 的交互方式,解决了文件附加与引用的问题。

插件简介

这是一个由 Zenjibad 维护的 DeepSeek Harness 插件包。它允许 Web UI 用户附加任意类型的文件,并将其作为无路径的 @-mentions 插入消息草稿。代理在接收到消息后,会通过自身的工具直接读取文件,无需用户手动下载或提取。文件被存储在私有目录,不会污染工作区环境。

核心功能

  • 无路径 @-mentions:支持任意类型文件作为无路径的 @-mentions。
  • 文件浏览:在编辑器中输入 @,通过 @-list 浏览工作区文件。
  • 上传方式:支持拖放本地文件或点击 + 按钮上传。
  • 图像处理:保留内置图像管道处理图片,视觉模型可直接读取。
  • 存储位置:文件存储在私有目录($DSH_HOME/attachments-any/),而非工作区。
  • 直接读取:代理通过工具直接读取文件,无特殊发送流程。

安装与启用

通过官方命令安装插件:

dsh plugin --profile web add https://github.com/Zenjibad/dsh-any-attachment

安装完成后,重启 dsh web 服务并刷新页面即可生效。

典型用法

  1. 浏览工作区文件:在消息输入框中输入 @,界面会列出当前会话工作区的文件(递归深度限制为 4 层)。输入更多字符可进行过滤,选择文件后,一个无路径的 @name 标签会被插入到草稿中。
  2. 上传本地文件:将本地文件拖入输入框,或点击输入框中的 + 按钮。文件会被存储在私有目录,消息草稿中会出现 @<stored-name> 标签。
  3. 发送与读取:发送消息后,代理会根据标签解析出文件的精确路径(包含绝对路径),并使用工具直接读取文件内容。

适用场景与注意

  • 适用场景:需要让智能体直接访问本地文件或工作区文件,且希望避免路径暴露或手动下载的用户。
  • 限制说明:
    • 单文件最大 25MB。
    • @-list 最多显示 500 个条目,且按 / 分隔的相对路径排序。
    • 排除隐藏文件(以 . 开头)和 node_modules。
    • 文件名仅允许 basename,不允许分隔符或驱动器字母。
    • 无下载 UI,无特殊的发送流程。

总结

该插件通过在 Web UI 层面提供文件附加能力,让智能体能够直接获取文件上下文。它不依赖复杂的外部上传流程,也不将文件写入工作区,保持了环境的整洁。

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

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

小夜