a903067276-rgb/dsh-file-upload
一个上传按钮,外加将文件拖放到对话中作为本地路径:保存到项目uploads/目录,路径文本输入到输入框中,适用于任何视觉工具。
Project Overview项目介绍
This is a discontinued community-built native plugin built exclusively for the DeepSeek Harness (DSH) web client. It adds an upload button and system-wide drag-and-drop handling for files and folders directly into DSH conversations. It registers a theme-aware upload icon in the DSH composer input bar, matches official DSH design tokens, and works with both light and dark DSH themes out of the box. It supports multi-select via the native system file picker, handles drag-and-drop of individual files and full folders, and routes content correctly based on file type and current model capabilities.
Images are automatically archived to a user-configurable local attachment directory, then added to DSH’s official draft attachment rail for transmission via the DeepSeek Files API, with automatic file_id reuse for repeated images. Non-image files, images over the size limit, and images used on models without vision support automatically fall back to archiving plus inserting the local file path into the conversation draft. The plugin automatically handles all routing and fallback logic without extra input from the user. It is useful for users that regularly add local files of any type to DSH conversations, especially before official attachment support was added to DSH core.
The plugin is licensed under the MIT license, but it is officially discontinued because DSH core 0.1.5-rc.1 and newer ship a built-in attachment system that covers its entire core functionality. The highest supported DSH version is 0.1.2, and users must remove the plugin before upgrading to DSH 0.1.5 or newer, otherwise the DSH web app will fail to boot. The host side of the plugin is written entirely in Node.js using only the node:fs module, so no external system dependencies or shell commands are required on any supported platform. The attachment library never auto-deletes files, so users must manually clean up old attachments to free disk space.
这是一个专为DeepSeek Harness(DSH)网页端开发的原生社区插件,核心功能是为DSH添加完善的文件上传、拖放支持,让用户可以直接将图片、普通文件甚至文件夹上传后插入会话对话。插件会在对话输入栏添加上传按钮,同时支持整个窗口范围的拖放操作,符合DSH原生设计规范,自动适配明暗主题。
图片会自动归档到指定的附件目录,同时添加到DSH官方的附件栏,通过DeepSeek Files API发送,重复使用相同图片会自动复用file_id。非图片文件和模型不支持视觉能力时会自动回退,仅归档后插入文件路径到草稿,整个流程由插件自动处理适配,适合需要频繁在DSH对话中添加各类本地文件的用户。
该项目采用MIT许可协议开源,当前已正式停止维护,因为DSH 0.1.5-rc.1及以上版本已内置同名核心功能。它最高支持的DSH版本是0.1.2,升级到新版DSH前必须先卸载该插件,否则会导致启动失败。插件主机端为纯Node开发,不需要额外依赖系统命令。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-file-upload(a903067276-rgb/dsh-file-upload)
仓库:https://github.com/a903067276-rgb/dsh-file-upload
本站详情页:https://www.yhbd.top/plugins/a903067276-rgb-dsh-file-upload/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 12 · 最近提交 2026-09-25 · 主语言 JavaScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- 12 stars - an early-stage project星标 12,属于早期项目
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add "github:a903067276-rgb/dsh-file-upload#main"
把 a903067276-rgb/dsh-file-upload 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-file-upload ⬆️
One upload button + drag-and-drop files straight into the conversation — a plugin for DeepSeek Harness (dsh) web.
Unofficial project: independently developed and maintained by a community member, not an official DeepSeek product.
⚠️ DISCONTINUED (2026-09-10)
dsh 0.1.5-rc.1 ships a built-in attachment system that covers this plugin's core capability (attach any file type; the model reads it on demand through its saved read-only path). This plugin is no longer maintained.
- Highest supported DSH version: 0.1.2 (last verified on 0.1.2-rc.1). No further fixes or compatibility work.
- Upgrading to dsh 0.1.5 or newer? You MUST disable/remove this plugin first — together with 0.1.5's attachment system it breaks the boot (the web app fails to start). Remove
dsh-file-uploadfromdsh.profile.bundlesin your profile'spackage.jsonbefore upgrading.- Thanks to everyone who used it. For file attachments, use the official feature (drag or paste files into the composer).
Screenshot

The upload icon button in the composer tool row (official DSH design tokens, follows dark/light theme); either the file's path is inserted into the input box, or — for supported images — the image lands in the official attachment rail (auto file_id reuse).
Features
| Action | Effect |
|---|---|
| Click upload icon | System file picker (multi-select) → smart routing → attachment rail and/or path text |
| Drag a file into the window | Images & any file type are taken over (no "unsupported" toast) → smart routing |
| Drag a folder into the window | Recursively reads the whole folder → rebuilds it under the attachment library with its original layout → only the folder path goes into the draft (contents not expanded) |
| Image (PNG/JPEG/WebP/GIF) | ① archived to the attachment directory (by-day folders) ② added to the official draft attachment rail → sent with automatic DeepSeek Files API file_id (same image reuses the id; 7-day expiry auto-reuploads) |
| Any other file | Archived to the library's files/ subfolder, <prefix> <path> text goes into the draft |
| Model without image support | Image falls back to archive + path text (never sent as an image block, no 400) |
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
ZSeven-W/dsh-ios
AnacondaKC/dsh-douyin
nexu-io/open-design
EthanYoQ/AI-Novel-Writer
fufankeji/deepseek-harness-studio