DeepSeek Harness Hub
← 返回列表

LQ-1123/paste-to-workspace

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

DSH 插件:把粘贴/拖入聊天框的图片与任意文件保存为会话工作区文件。官方 bundle 插件,安装:dsh…

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/14 · 已提供中文文档

DSH 插件:把粘贴/拖入聊天框的图片与任意文件保存为会话工作区文件。官方 bundle 插件,安装:dsh plugin --profile web add github:LQ-1123/paste-to-workspace

综合分
28
GitHub 分
28
用户评分
★ Stars
2
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add LQ-1123/paste-to-workspace
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

paste-to-workspace

[Release v0.8.1]()
GitHub
License: MIT
DSH: Web Profile

把粘贴或拖入聊天框的图片与任意文件保存为会话工作区文件,发送时以
[Image: source: ] / [File: source: ] 文本注入消息——
图片由 modlens 读图,其他文件由模型按路径直接读取。输入框保持干净,预览条
与对话气泡内直接渲染缩略图 / 文件卡片。

✨ 功能一览

- 🖼️ 任意文件拖放:从 Finder / 微信 / QQ / 网页把任意类型文件拖到窗口
任意位置即保存到工作区 .dsh-paste/,进入待发预览条(纯文本/链接拖放仍走
原生行为)
- 📋 图片粘贴:Cmd/ctrl+V 粘贴截图/图片同样进入待发列表
- 🎨 类型图标渲染:图片显示缩略图;其他文件显示 RemixIcon line 图标 +
原始文件名 + 大小(PDF/Word/Excel/PPT/TXT/Markdown/压缩包/音视频/代码/
字体/电子书等 15 组),未知格式用代码图标兜底,样式随浅/深主题
- ⬇️ 点击即下载:点文件卡片唤起浏览器另存为(保留原始文件名),不再打开
预览页
- 🚀 纯文件发送:只上传文件、不输入任何文字也能发送(Enter 或发送按钮
均可),一次调用 = 一个回合,文字与文件不拆消息
- 🧵 一回合双气泡:文字留在原气泡、图片/文件卡片移到独立用户行(显示层
拆分,模型侧始终是一条消息)
- 🌓 主题适配:卡片底色/边框/文字/图标全部走宿主设计 token,深浅主题
自动切换
- ✏️ 官方提示文案改写:拖放时宿主全页提示"图片拖动到此处即可添加"自动
改写为"文件拖动到此处即可添加",限制行替换为任意文件说明
- 🧹 30 天自动清理:超期文件自动清扫(只动插件自己的 pasted- 文件)

🚀 安装

前置:已装好 DSH(dsh web 可正常运行),dsh plugin 可用(依赖 pnpm)。

从 GitHub 安装(推荐,一行命令,产物已入库无需构建):

dsh plugin --profile web add "github:LQ-1123/paste-to-workspace"
验证 bundle 已挂载
dsh --profile web --dump-config | grep paste-to-workspace

也可以本地路径(开发调试时)或 npm 包名安装:

dsh plugin --profile web add /path/to/paste-to-workspace

安装后重启 dsh web 生效:宿主在进程启动时通过 package.json 的
dsh.client 声明发现浏览器端 bundle,浏览器端无需额外配置。

禁用与重新启用

在 Profile patch 或 overlay 中把 bundle 行设为 disabled: true:

- id: paste-to-workspace
disabled: true

删除该字段或设为 false 即可重新启用。

卸载

dsh plugin --profile web remove @dsh-user/paste-to-workspace

📖 使用

重启 GUI 后:

1. 拖入任意文件(.txt / .md / .pdf / .doc / .zip …)或粘贴图片:输入框
上方出现预览条——图片为缩略图、其他文件为图标卡片(点击卡片下载、
点灰色 × 移除);
2. 发送(Enter 或发送按钮,不输入文字也可以):一次回合——有文字时
显示两个气泡(文字一条、媒体一条),纯文件只有一条;
3. 模型侧收到 [Image: source: /Users/.../.dsh-paste/pasted-.png](modlens
自动读图)或 [File: source: /Users/.../pasted-*.txt](模型按路径读取
文件内容);
4. 文件落在工作区 .dsh-paste/ 目录,历史消息里点击文件卡片可随时重新下载。

🧩 工作原理

- 浏览器侧(lib/client.js):捕获阶段拦截图片粘贴与任意文件拖放 →
POST 到宿主路由 → 路径进入旁路待发列表(草稿零改动);
conversation.input.dock 预览条渲染待发项;发送时包装 sendSession 把
路径拼成 token 追加到消息(一次调用 = 一个回合);MutationObserver 把
已发送消息里的 token 显示层替换为图片/文件卡片并拆成两个气泡;拖放期间
改写宿主"图片…"提示文案。
- 宿主侧(lib/index.js):POST /save 保存任意类型文件到
/.dsh-paste/pasted--.(扩展名取自原始
文件名,无扩展名文件按原名保存);GET /file?path=…[&meta=1] 回读文件 /
返回原始文件名与大小;DELETE /file?path=… 移除未发送文件。路径校验严格
(必须位于已知粘贴根目录内且匹配插件命名格式),跨站请求 403。

⚠️ 已知限制

- 粘贴(Cmd+V)只拦截聊天输入框内的图片;文件请用拖放
- 不支持拖入文件夹(请打包成 zip 再拖)
- 单文件上限约 24 MB(base64 后 32 MB JSON 体)
- 发送过的文件在 .dsh-paste/ 保留 30 天后自动清理,历史卡片点击下载可能
404(预期行为)
- 待发文件是全局列表:未发送前切换会话,文件会跟着下一次发送走
- 拖放提示文案改写仅作用于拖放进行时;宿主 UI 若有其他“图片”字样不在本
插件职责范围

📜 许可

MIT。文件图标来自 RemixIcon(Apache-2.0),path 数据
内嵌于客户端 bundle。

🕒 更新历史

- v0.8.1:官方拖放提示“图片”→“文件”运行时改写;限制行替换为任意文件说明
- v0.8.0:点击文件卡片直接下载(保留原始文件名);图片缩略图仍为预览
- v0.7.9:纯文件发送(空草稿占位符保持发送按钮可用,Enter/按钮均可)
- v0.7.8:移除按钮改灰色 ×、置于卡片内部,卡片加高至 48px
- v0.7.7:修复 .ts 被解析为视频的冲突(TypeScript 优先)
- v0.7.6:中性单色图标(随主题),未知格式改用代码图标兜底
- v0.7.5:改用 RemixIcon line 图标(内嵌 SVG,无网络依赖)
- v0.7.4:全格式覆盖,无扩展名文件按原名保存
- v0.7.3:图标瓦片加宽(更“胖”)
- v0.7.2:文件卡片/图标紧凑化
- v0.7.1:样式随宿主主题 token 切换
- v0.7.0:拖放支持所有文件类型 + 文件图标渲染
- v0.6.x:30 天自动清理、串行保存、流式输出、拖放接管全局化
- v0.3 ~ v0.5:输入框保持干净、缩略图预览条、一回合双气泡

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群