dsh-postman:DeepSeek Harness 会话内文件与文件夹上传插件

在 DeepSeek Harness (DSH) 的开发或调试场景中,经常需要将本地文件、代码片段或完整的项目目录引入对话上下文。传统做法往往需要手动复制文件到工作区、粘贴路径或进行繁琐的文件管理操作。dsh-postman 旨在解决这一痛点,允许用户直接将文件与文件夹“邮”进对话,无需额外的文件系统操作。

这是一个 DeepSeek Harness 的 Web 客户端插件,由 zhousun55-byte 维护。它提供了一套文件上传管线,支持图片以消息块形式呈现、文本内容以内联代码块写入输入框,以及文件夹按目录结构落盘。

核心功能

  • 文件与图片处理:支持多选上传。图片(PNG/JPG/WebP/GIF,大小 ≤5 MiB)走 DSH 原生附件管线,作为消息块显示,模型侧由视觉桥接(如 modlens)自动转写。HEIC 等不支持或超限的图片会自动退回路径上传。文本文件的内容会以内联代码块的形式直接写入输入框草稿,模型立即可见。
  • 文件夹处理:利用 Chrome 的 webkitdirectory 属性支持整目录上传。文件会按目录结构落盘到 ~/.dsh/uploads/<时间戳>-<文件夹名>/...。文件夹内的图片(上限 12 张)同样以图片形式加入消息。二进制文件会注入路径与大小,模型可用 read 工具读取。
  • 零依赖:插件纯使用 Node 内置模块 + DSH 原生管线,无构建步骤,克隆即用。

安装与启用

把本仓库放进 Web profile 的依赖并声明插件行,dsh 会按包名在 /plugins/dsh-postman/client.js 提供浏览器半区。操作步骤如下:

  1. 在 ~/.dsh/profiles/web/package.json 中增加依赖:
    "dsh-postman": "link:/path/to/dsh-postman"
(发布后可改用版本号依赖)
  1. 在 ~/.dsh/profiles/web/cordis.patch.yml 中增加插件行:
    - insert:
        - id: ui-upload
          name: 'dsh-postman'
  1. 执行安装并重启客户端:
    pnpm --dir ~/.dsh/profiles/web install
    # 重启 dsh web(客户端改动仅需刷新页面)

典型用法

在输入框工具行左侧的 + 命令菜单里使用 /upload,该命令提供两个选项:上传文件 / 上传文件夹。工具行本身不额外占用按钮。

  • 上传文件:选择本地文件后,文本文件内容会直接写入输入框草稿,模型立即可见;图片会以消息块形式出现在对话中。
  • 上传文件夹:选择文件夹后,系统会按目录结构将文件落盘,并在草稿中注入文件清单与文本文件内容预览(合计约 2.4 万字符封顶)。

注意事项

  • 格式与大小限制:单文件上限 25 MiB。图片仅支持 PNG/JPG/WebP/GIF(≤5 MiB),HEIC 等不支持的格式或超限图片会自动退回路径上传。
  • 文件夹图片限制:文件夹内图片上限 12 张。
  • 权限与安全:目录权限为 0700,文件权限为 0600。插件以当前 dsh 进程权限运行,跨站 Origin 请求会被拒绝。
  • 文件名冲突:落盘时若文件名冲突会自动添加 -2/-3 后缀,永不覆盖。

结语

dsh-postman 通过原生管线与零依赖设计,简化了 DSH 环境下的文件交互流程。如果你需要在会话中频繁引入代码或文档,可以直接使用 /upload 命令,无需再进行文件路径的复制粘贴。

插件目录 | GitHub 仓库

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

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

小夜