a903067276-rgb/dsh-file-upload 预览 preview

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开发,不需要额外依赖系统命令。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 note1 项提示
  • 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 ⬆️

English | 简体中文

License: MIT

Awesome DSH Plugin

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-upload from dsh.profile.bundles in your profile's package.json before upgrading.
  • Thanks to everyone who used it. For file attachments, use the official feature (drag or paste files into the composer).

Screenshot

dsh-file-upload in action

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 →

← 上一个 Prev dsh-whale-pet 下一个 Next dsh-jev-tools →