dsh-periscope:让 DSH Desktop 支持任意文件拖入与读取

前言

DSH(DeepSeek Harness)的设计理念是「一切皆插件」,但在 DSH Desktop 桌面客户端的原生实现中,文件上传能力仅限于图片。当需要 Agent 读取文档(如 docx、xlsx、pdf)时,官方的 Files API 仅支持 JPEG/PNG 等图片格式,无法直接发送非图片文件。dsh-periscope 通过直接修改 DSH 核心文件,补全了这一能力,支持拖入或粘贴任意文件,并让 Agent 通过路径读取来处理这些文件。

它是什么

dsh-periscope 是一个为 DSH Desktop 提供通用文件附件能力的插件。它通过修改核心的 app.asar 文件,扩展了文件类型校验与存储逻辑。项目由 lmh-2026 维护,采用 MIT 许可证。

核心功能

  1. 通用文件附件:支持拖入或粘贴任意类型的文件(包括 docx、xlsx、pdf、txt、zip 等),不再局限于图片。
  2. 文件类型图标:附件卡片会根据文件扩展名显示彩色类型方块,便于快速识别。
  3. 持久化落盘:文件保存到本地路径 ~/.dsh/attachments/v1/files/,会话历史中会保留附件块与完整的绝对路径。
  4. 核心补丁:通过注入补丁文件到 DSH 核心包中,实现文件上传逻辑的扩展。

安装与启用

本插件仅适配 Windows 平台上的 DSH Desktop 客户端,且依赖 Node.js 22+ 环境。

  1. 完全退出 DSH Desktop。
  2. 进入插件仓库目录,运行以下命令以绕过 PowerShell 执行策略限制并执行安装脚本:
Set-ExecutionPolicy -Scope Process Bypass -Force
.\install.ps1

或者通过 npm 全局安装后运行安装器:

npm install dsh-periscope
npx dsh-periscope-install

安装脚本会自动备份 app.asar,执行原位重打包,并校验安装结果。安装完成后重新打开 DSH 即可生效。

典型用法

安装完成后,在 DSH Desktop 的对话窗口中:

  1. 直接将任意文件(如 .docx 或 .pdf)拖入或粘贴到输入框。
  2. 系统会生成带类型图标的附件卡片。
  3. 发送消息后,Agent 会通过路径读取该文件,并基于文件内容进行后续处理。

适用场景与注意

  • 平台限制:仅支持 Windows + DSH Desktop 客户端形态,不支持 Web 版、CLI 或源码形态。
  • 权限要求:需要手动退出 DSH Desktop 进程才能运行安装脚本。
  • 升级维护:DSH 每次升级都会重新打包 app.asar,导致插件失效。每次升级后必须重新运行安装脚本。
  • 非官方行为:插件通过直接修改核心文件实现,属于非官方行为,请自行评估风险。

结语

dsh-periscope 解决了 DSH Desktop 在文档处理上的短板,通过路径式消费让 Agent 能够像 Codex 一样处理本地文件。对于需要在本地环境中开发或测试 Agent 的用户,这是一个必要的工具。更多细节与源码请访问项目目录页或 GitHub 仓库。

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

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

小夜