my-image-drop
其他 活跃维护

my-image-drop

yangpeng-space/my-image-drop

轻量插件,支持拖拽图片上传至指定文件路径,无需复杂配置即可让纯文本模型顺利读取图片资源,操作简单易上手,新手也能快速完成适配。

0
Stars 标星
0
Forks 分支
0
Watchers 关注
0
Open Issues
JavaScript
主要语言
None
开源协议
5 KB
仓库大小
1 个月前
最后推送
一键安装扩展 / 插件指令
dsh plugin --profile web add github:yangpeng-space/my-image-drop
git clone https://github.com/yangpeng-space/my-image-drop.git
git clone git@github.com:yangpeng-space/my-image-drop.git
README.md main

my-image-drop

A DeepSeek Harness plugin that turns drag-and-drop of images into file paths in the composer, so text-only models can read them with the read tool (or a vision skill) instead of failing image admission.

How it works

  • Host half (dsh/index.js): registers a loopback route POST /my-image-drop. It accepts an image, magic-byte checks and size-caps it (25 MB), writes it as a private (0600) temp file under <tmpdir>/my-image-drop, and returns { "path": "..." }.
  • Browser half (dsh/client.js): a capture-phase drop listener (plus dragenter/dragover to enable dropping). On a drop that carries image files, it uploads each to /my-image-drop and inserts the returned path into the focused composer as plain text. It also dispatches a synthetic dragend so the composer's drop overlay dismisses.

The composer shows a file path in the input box. Send it and the model gets a path — the primary trigger for the read tool and vision skills.

Install

From the GitHub source (git install runs prepare; no build needed, the entry is committed):

dsh plugin add github:<owner>/my-image-drop

Or add the bundle to your profile:

{
  "dsh": { "profile": { "bundles": ["my-image-drop"] } }
}

Scope

This plugin handles drag-and-drop only. Paste is intentionally left to whatever else is installed (e.g. @liustack/modlens) so the two never double-handle the same event. If you run modlens' own drop patch and this plugin at the same time, both would insert a path — pick one.

Files

  • package.json — manifest; declares dsh.bundle.patch and the browser bundle (dsh.client).
  • cordis.patch.yml — host mount layer.
  • dsh/index.js — host half (route).
  • dsh/client.js — browser half (drag/drop listeners).

Testing (author)

  • node --check dsh/index.js — syntax check the host half.
  • node --check dsh/client.js — syntax check the browser half.
  • Install into a web profile, restart the desktop app, drag an image into the composer, and confirm a file path is inserted and the read tool can open it.