DeepSeek Harness 插件

dsh-drop-in

鎷栧叆鏂囦欢锛氳緭鍏ユ涓婃柟鏂囦欢鏍?+ 闅忔秷鎭彂閫侊紙鍚粷瀵硅矾寰勶級+ 姘旀场鏂囦欢鍗$墖銆侱rag files into the DeepSeek Harness web GUI and send them with your message (absolute paths included).(英文原文)

跳到安装方式

来源信息

GitHub 仓库
lbl61/dsh-drop-in
最近更新
2026年8月16日
分类
文档与渲染
GitHub stars
3
载体类型
plugin
目录证据
上游声明已找到 dsh.bundle
证据路径
package.json#dsh.bundle
核对版本
0.1.0-rc.8
上游核对日期
2026-08-20

该证据由上游目录提供。本站没有安装、运行或安全审核这个插件。

安装

默认先复制一段 Prompt,让 Agent 读 GitHub 仓库和源码;需要自己装时再切到命令。

复制这段 Prompt,发给 DSH、Codex 或其他 Agent,让它先读 GitHub 仓库和源码。

请先不要安装或执行任何命令。阅读这个插件的 GitHub 仓库、README 和关键源码,然后用清楚、直接的方式回答以下问题,帮助我判断它是否适合我的需求:

1. 这个插件是什么,解决什么问题;
2. 适合哪些用户和典型使用场景;
3. 安装后如何使用,并给出一个最小使用示例;
4. 有哪些已知限制,以及隐私、安全、兼容性或维护风险;
5. 给出“推荐 / 有条件推荐 / 不推荐”的明确建议和理由。

请区分仓库明确说明、根据源码推断和未知信息。证据不足时请明确说明,不要猜测或照抄 README。

GitHub:https://github.com/lbl61/dsh-drop-in
插件名:dsh-drop-in
作者:lbl61

检查来源文件

安装前先看这个插件目录里的 README 和其他文件。

文件资源管理器4 个文件
README.md来源说明 · 只读预览
README 语言

dsh-drop-in

> 🌐 中文版:README.zh.md

Drag files from your system file manager straight into the DeepSeek Harness web GUI. Files appear as a chip bar above the input box, or — with the composer focused — as a native reference bubble (file pill) embedded inline in the text you are typing; they are sent along with your message (including their absolute paths), and render as file cards inside the user bubble. The agent reads the real file paths — no upload, no content copy (plain-browser fallback copies small files into the workspace).

![Chip bar and message cards](assets/screenshots/screenshot-1.png) ![File cards in the user bubble](assets/screenshots/screenshot-2.png)

Features

  • 📎 Drag in any file/folder (images are treated as files — the official image-drop overlay no longer steals the drag)
  • 🫧 Inline file bubble: dropped/pasted files are inserted at the caret as a native reference pill (works mid-text); the pill shows TYPE name (e.g. LNK 坚果云.lnk — the type survives name clipping, full name on hover)
  • 📤 Path on send: the pill expands to a reference carrying the absolute path (@[filename](absolute-path)); the chat bubble renders it as a file card with a type badge — the agent can read the file straight from the path
  • 🔀 Messages sent while the agent is running ("interrupt-free") render the same file cards
  • 🖼️ Clipboard paste: pasting an image/file into the composer goes through the same pipeline instead of the native image-attachment rail; pasted binaries are persisted (base64) under .dsh-drops/<sessionId>/
  • 🚀 Chip bar above the input: icon + name + size + path status, removable (×), deduplicated by path
  • ✔️ Enter / Ctrl+Enter / the send button are all covered; chips clear automatically after sending
  • 🔍 A dropped_files tool lets the agent list still-unsent dropped files
  • 🖥️ Under DSH Desktop (Electron) absolute paths come from the preload bridge (webUtils.getPathForFile — the only path source in modern Electron)
  • 🌐 Fallback: in a plain browser (no preload bridge) text files are copied to the workspace .dsh-drops/

Install

dsh plugin --profile web add https://github.com/lbl61/dsh-drop-in/archive/refs/tags/v1.3.0.tar.gz

Manual (bundle) install: 1. Extract dsh-drop-in into ~/.dsh/profiles/web/node_modules/dsh-drop-in/ 2. Add "dsh-drop-in" to the dsh.profile.bundles array in ~/.dsh/profiles/web/package.json 3. Restart dsh web (DSH Desktop: quit fully and reopen, or run window.dshDesktop.restartService() in DevTools)

Usage

1. Drag files from Explorer into the chat page (or paste an image/file into the composer) 2. Composer focused → files are inserted at the caret as native reference bubbles (file pills), mid-text allowed; otherwise they appear in the chip bar above the input 3. Type your message and send (Enter / Ctrl+Enter / the send button all work; "interrupt-free" sending while the agent runs is supported too) 4. The bubble shows file cards — the agent receives the absolute path (@[name](path) or the 📎 拖入文件 block) and can read the files

How it works

  • The client half intercepts file drags in the capture phase (the official image-upload flow never steals the events), keeps a per-session chip bar (conversation.input.dock), renders user bubbles with file cards (conversation.chat.node user/steering keys), and stitches the 📎 拖入文件 block into the draft before submit (Enter, Ctrl+Enter, and the send button are all covered); with the composer focused it inserts native reference bubbles via the slash/input-insert-reference scoped event (U+FFFC occurrences rendered by the composer backdrop) and the registered inputTriggers codec serializes them to @[filename](absolute-path) on submit
  • The host half keeps the per-session file registry behind the dropped_files tool, writes fallback text copies to .dsh-drops/<sessionId>/, and persists pasted binaries via the file-copy route (base64, with an explicit workspace-write sandbox policy rooted at the session cwd)
  • Absolute paths under DSH Desktop rely on the preload bridge (see [preload-bridge.md](preload-bridge.md)): Electron ≥ 32 removed File.path

Configuration

SettingDescription
enabledMaster switch (Settings → 文件拖入). When off, drag/paste falls back to built-in behavior.

Uninstall

1. Remove dsh-drop-in from the dsh.profile.bundles array in ~/.dsh/profiles/web/package.json 2. Delete ~/.dsh/profiles/web/node_modules/dsh-drop-in/ 3. Restart dsh web

License

MIT