前言¶
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 许可证。
核心功能¶
- 通用文件附件:支持拖入或粘贴任意类型的文件(包括 docx、xlsx、pdf、txt、zip 等),不再局限于图片。
- 文件类型图标:附件卡片会根据文件扩展名显示彩色类型方块,便于快速识别。
- 持久化落盘:文件保存到本地路径
~/.dsh/attachments/v1/files/,会话历史中会保留附件块与完整的绝对路径。 - 核心补丁:通过注入补丁文件到 DSH 核心包中,实现文件上传逻辑的扩展。
安装与启用¶
本插件仅适配 Windows 平台上的 DSH Desktop 客户端,且依赖 Node.js 22+ 环境。
- 完全退出 DSH Desktop。
- 进入插件仓库目录,运行以下命令以绕过 PowerShell 执行策略限制并执行安装脚本:
Set-ExecutionPolicy -Scope Process Bypass -Force
.\install.ps1
或者通过 npm 全局安装后运行安装器:
npm install dsh-periscope
npx dsh-periscope-install
安装脚本会自动备份 app.asar,执行原位重打包,并校验安装结果。安装完成后重新打开 DSH 即可生效。
典型用法¶
安装完成后,在 DSH Desktop 的对话窗口中:
- 直接将任意文件(如
.docx或.pdf)拖入或粘贴到输入框。 - 系统会生成带类型图标的附件卡片。
- 发送消息后,Agent 会通过路径读取该文件,并基于文件内容进行后续处理。
适用场景与注意¶
- 平台限制:仅支持 Windows + DSH Desktop 客户端形态,不支持 Web 版、CLI 或源码形态。
- 权限要求:需要手动退出 DSH Desktop 进程才能运行安装脚本。
- 升级维护:DSH 每次升级都会重新打包
app.asar,导致插件失效。每次升级后必须重新运行安装脚本。 - 非官方行为:插件通过直接修改核心文件实现,属于非官方行为,请自行评估风险。
结语¶
dsh-periscope 解决了 DSH Desktop 在文档处理上的短板,通过路径式消费让 Agent 能够像 Codex 一样处理本地文件。对于需要在本地环境中开发或测试 Agent 的用户,这是一个必要的工具。更多细节与源码请访问项目目录页或 GitHub 仓库。