粘贴任意文件转为本地路径交给 Agent 处理
37.9/100
综合分
5
GitHub 星标
168
npm 周下载
—/5
用户评分
数据截至 2026/9/22 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dsh-paste-to-pathnpm 源 · dsh-paste-to-path 的发布者账号已校验与本仓库一致
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · ui
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 44 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-paste-to-path @ 0.0.7
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/31 03:46:31
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 14 处,展示前 14 条)
- 读取本地文件index.js:149
const canonical = await realpath(requested) - 读取本地文件index.js:150
if (!(await stat(canonical)).isDirectory()) throw new Error('not a directory') - 写入本地文件index.js:159
await mkdir(directory, { recursive: true }) - 写入本地文件index.js:163
await writeFile(file, buffer, { mode: 0o600, flag: 'wx' }) - 读取本地文件index.js:248
path = await realpath(requested) - 读取本地文件index.js:249
metadata = await stat(path) - 执行外部命令固定命令index.js:306
execFile( - 读取本地文件index.js:425
const content = await readFile(attachment.path, 'utf8') - 写入本地文件index.js:430
await writeFile(attachment.path, buffer, { mode: 0o600 }) - 发起网络请求client.js:473
fetch('/paste-to-path', { method: 'POST', headers, body: buffer }).then((res) => - 发起网络请求client.js:493
return fetch('/paste-to-path/from-path', { - 发起网络请求client.js:515
return fetch('/paste-to-path/windows-clipboard', { - 发起网络请求client.js:885
return fetch('/paste-to-path/content', { - 发起网络请求client.js:1606
return fetch('/paste-to-path/config')
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-attachment@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-input-trigger@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-settings@deepseek-ai/dsh-client-ui-settings-plugins@deepseek-ai/dsh-settings@deepseek-ai/dsh-host-webserver给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 粘贴文件转本地路径
- 交给Agent处理
DeepSeek Harness 的通用路径附件坞。(已停止维护/废弃)
最近更新
在 GitHub 查看全部 →v0.0.72026-09-20
这是 dsh-paste-to-path 的最终版本。
DSH 现已提供官方通用附件管线,支持后台上传、持久化、统一附件栏、智能体可读路径和侧边栏预览。当初让 P2P 有存在必要的兼容性缺口已经补上,因此不再计划发布新版本。
· 保留内容
· 接管 DSH 原生附件——启用完整的经典路径式 P2P 工作流。
· 把长粘贴文本转成附件——长文本转换仍可单独使用。
· 把长文本阈值配置为长文本转换的从属参数。
默认使用原生附件。除非明确启用接管,文件和图片都走 DSH 官方管线。
· 最后的兼容工作
· 支持 0.1.6 使用的当前 DSH 会话模型。
· 让原生附件与经典 P2P 附件的归属互斥。
· 启用接管时,把内置文件选择器重定向到 P2P。
· 保留经典的任意文件、Host 路径、图片预览和 Windows 资源管理器回退工作流。
· 长文本转换在原生或经典管线中都能正常工作。
已通过 22 项自动化测试和 Web UI 实机检查验证。
仍在使用旧版 DSH、没有官方通用附件的用户,可以锁定 v0.0.6。
v0.0.62026-09-08
· 问题出在哪
Dock 里已经有一个附件后,再粘贴另一张图片,可能被送进 DSH 内置的图片栏。某些配置下,第二张图就发不出去了。
· 改了什么
Paste to Path 现在能识别输入区任意位置的粘贴事件,包括已有附件引用标签上的粘贴。连续粘贴会留在 Paste to Path Dock 里,继续以本地路径传给智能体。
· 验证
· 新增回归测试,覆盖首个附件之后再粘贴第二张图片的情况。
· 17 个自动化测试全部通过。
· 兼容性
本版本面向 DeepSeek Harness 0.1.2-rc.1。
v0.0.52026-09-05
· 变更内容
· 支持 DSH 0.1.2
· 支持 Lexical 编辑器和会话级 useInput 存储。
· 打开 Host 路径时改用当前已认证的 Remote API。
· 修复草稿包含多个路径引用时的插入和删除问题。
· 明确的所有权控制
新增四项设置,让 Paste to Path 与其他上传插件共存:
· capturePaste
· captureDrop
· showPicker
· showDock
禁用某一项后,会彻底注销对应的监听器或 UI 槽位。
· 路由安全与生命周期
· 所有自定义 Web 路由现在都走 DSH Connection 认证和 Host/Origin 校验。
· 路由注册由插件的 Cordis effect 持有并释放。
· 注册失败时,已部分完成的路由设置会回滚。
· 兼容性
本版本面向 DeepSeek Harness 0.1.2-rc.1。
DSH 0.1.0-rc.6 到 0.1.0-rc.8 请继续使用 dsh-paste-to-path@0.0.4。
感谢 @Fro2en12 在 #3 中详细反馈共存与生命周期问题。
数据来自仓库的 GitHub Release,可能与插件实际版本不一致。
README
由 DeepSeek 最新模型翻译生成dsh-paste-to-path
A universal attachment dock for DSH.
[!IMPORTANT]
最终版本 — v0.0.7
DSH 官方现在已经提供通用文件附件管线,P2P 最初要补齐的兼容性缺口已经消失。因此 0.0.7 是本项目的最后一个版本,不再计划后续发布。
普通文件与图片默认由 DSH Native 接管;只有明确希望使用经典路径附件流程时,才需要打开 接管 DSH 原生附件系统。长文本转附件仍可独立使用。
下文保留经典 P2P 工作方式的完整说明;这些能力会在开启接管后生效。
dsh-paste-to-path 给 DSH Web composer 增加了一个通用附件 Dock。
你可以直接粘贴、拖入或选择图片、PDF、Word、Excel、压缩包、代码、日志以及其他文件,在发送前统一查看和管理它们。
图片、PDF、压缩包等不同格式,都可以放进同一个附件 Dock。
DSH 0.1.2-rc.1 的 Web composer 提供原生图片附件链路,但 PDF、Office 文档、压缩包以及其他格式仍没有同样独立于模型能力的入口;即使是图片,在不支持图像输入的模型或 text-only adapter 下,也可能无法直接发送。
展开完整文档(README 剩余 1 节)
dsh-paste-to-path A universal attachment dock for DSH. [!IMPORTANT] 最终版本 — v0.0.7 DSH 官方现在已经提供通用文件附件管线,P2P 最初要补齐的兼容性缺口已经消失。因此 0.0.7 是本项目的最后一个版本,不再计划后续发布。 普通文件与图片默认由 DSH Native 接管;只有明确希望使用经典路径附件流程时,才需要打开 接管 DSH 原生附件系统。长文本转附件仍可独立使用。 下文保留经典 P2P 工作方式的完整说明;这些能力会在开启接管后生效。 dsh-paste-to-path 给 DSH Web composer 增加了一个通用附件 Dock。 你可以直接粘贴、拖入或选择图片、PDF、Word、Excel、压缩包、代码、日志以及其他文件,在发送前统一查看和管理它们。 图片、PDF、压缩包等不同格式,都可以放进同一个附件 Dock。 DSH 0.1.2-rc.1 的 Web composer 提供原生图片附件链路,但 PDF、Office 文档、压缩包以及其他格式仍没有同样独立于模型能力的入口;即使是图片,在不支持图像输入的模型或 text-only adapter 下,也可能无法直接发送。 dsh-paste-to-path 不去扩展模型原生的 content 类型,而是走另一条更简单的路径: 文件 ↓ DSH Host ↓ 本地路径 ↓ Agent ↓ 你自己接入的工具 图片可以交给你自己接入的 vision 工具,PDF 可以交给文档读取工具,压缩包可以用 shell 或解压工具处理。 插件负责的是附件接收、管理和路径传递;文件具体怎么读取,由你的 Agent 工具栈决定。 路径流程概览 文件先保存到 DSH Host,再把路径交给 Agent。 能做什么 通用附件 Dock 粘贴、拖入或选择文件后,输入框上方会出现对应的附件卡片。插件提供的回形针按钮接受任意格式,不进入 DSH 原生的图片专用附件栏。 每张卡片会显示文件名、大小、类型和路径,并且可以在发送前移除。 图片还支持缩略图和灯箱预览。 文件管理器剪贴板支持 只要浏览器确实提供了 File 对象,插件就会接住它,包括空文件。浏览器如果提供 file: URI 或绝对路径,并且该路径确实存在于 DSH Host,插件也可以直接把它变成附件卡片。 路径转换是事务性的:候选路径必须全部存在于 DSH Host。只要其中一个不可用,插件就会把剪贴板原文作为普通文本粘贴,不显示附件错误,也不会只转换一部分。 Windows Explorer、Finder 和 Linux 文件管理器复制非图片文件时,不同浏览器暴露的剪贴板内容并不一致。如果粘贴事件既没有文件字节,也没有可用的 Host 路径,普通网页无法从被浏览器隐藏的系统剪贴板格式中恢复文件。为处理 Issue #2,本机 Windows Host 通过直接 localhost 使用时,插件会在这一步读取 Explorer 的 FileDropList;远程连接不会访问 Host 剪贴板。其他情况下请使用插件自己的回形针按钮或拖放。 多种文件使用同一套流程 图片、PDF、Office 文档、代码、日志、压缩包以及其他二进制文件,都走同一个附件流程: 文件 → 保存到 Host → 路径引用 → Agent 不需要为每种文件类型单独设计一套模型输入协议。 长文本自动转成附件 普通文本仍然正常粘贴。 当粘贴内容超过设定阈值时,插件可以自动把它保存为 .txt 文件,而不是把几万字直接塞进输入框。 默认阈值是 8000 个字符。 发送前编辑文本文件 文本和代码附件在不超过配置的大小限制时,可以直接在 Dock 中修改。 默认上限为 1 MiB。 用系统应用打开文件 本机部署时,可以通过 DSH 已鉴权的 session.openWorkspacePath Remote API 使用系统默认程序打开附件。 安装 安装到 DSH Web profile: dsh plugin --profile web add dsh-paste-to-path 也可以直接安装 GitHub 当前分支: dsh plugin --profile web add github:Johnny-xuan/dsh-paste-to-path 安装完成后重新启动: dsh web 包内包含 dsh.bundle manifest,所需的 loader patch 会随插件一起加载。 它是怎么工作的 当你粘贴、拖入或选择文件时,插件会先接住这个文件并在 DSH Host 保存一份私有副本: /.dsh/pastes// 输入框中不会直接塞入文件内容,而是保留一个附件引用。 如果粘贴的是已经存在于 DSH Host 的绝对路径,插件会直接引用原文件,不再复制;这类路径附件不能在 Dock 中编辑原文件。 发送消息时,DSH 的 reference codec 会把这个引用展开成一段简短的路径说明: 粘贴 / 拖入文件 │ ▼ 保存到 DSH Host │ ▼ Attachment Dock 显示附件卡片 │ ▼ 发送消息 │ ▼ reference codec 生成文件路径说明 │ ▼ Agent 收到路径 │ ▼ 调用当前可用的工具读取 整个过程使用 DSH 自己提供的扩展机制: - conversation.input.dock - conversation.input.left - input-trigger reference codec - settingsScope 不需要修改 DSH 核心代码。 Agent 实际收到什么 插件不会把文件字节直接放进首次模型请求。 例如,一个 PDF 会被展开成: Document attachment: /absolute/path/to/report.pdf Read it using an appropriate tool for this file format. 图片则类似: Image attachment: /absolute/path/to/image.png Inspect it using an available image-reading method. 文本、代码、压缩包和其他格式也会生成对应的路径说明。 这些说明不会指定某一个固定工具。Agent 会根据当前会话真正可用的工具决定下一步怎么处理。 使用你自己的工具 dsh-paste-to-path 本身不提供文件解析能力。 你可以按照自己的 Agent 环境接入任意工具,例如: - 图片 → 自己配置的 read_image、vision 工具 - PDF / Word / Excel → 文档读取工具 - 扫描件 → OCR - 代码 / 日志 → shell 或文件系统工具 - ZIP / TAR → 解压工具 插件不会安装这些工具,也不会假设当前模型具备这些能力。 只要工具能够访问 DSH Host 上的文件路径,就可以读取插件保存下来的附件。 如果当前 Agent 没有适合的工具,那么文件虽然已经成功进入 Dock 并保存到 Host,Agent 仍然无法理解它的内容。 为什么使用路径 DSH 原生附件链路里,文件格式和模型能力通常绑得比较紧。 在 DSH 0.1.2-rc.1 中,原生 Web 图片入口接收: - PNG - JPEG - WebP - GIF 其他 MIME 类型不会进入同一套原生图片链路。 而通过格式检查的图片,如果最终进入一个不支持图像输入的模型或 text-only adapter,也仍然可能失败。 dsh-paste-to-path 把这两件事拆开: 把文件交给 Agent 和: 理解文件内容 插件只处理前一件事。 文件先变成 Host 上的普通文件,再由 Agent 的工具层负责第二步。 配置 0.0.7 只保留两个主要选择: | 设置 | 默认值 | 说明 | | 接管 DSH 原生附件系统 | 关闭 | 开启后,文件、图片、粘贴、拖放、选择器和附件 Dock 全部走经典 P2P;关闭后,普通附件完全交给 DSH Native。 | | 将长文本粘贴转换为附件 | 开启 | 把达到阈值的纯文本粘贴转换成 .txt 附件,可以配合任意一种附件管线使用。 | 长文本字符阈值是第二个选项的从属设置,默认值为 8000,仍可直接在插件设置页修改。 对应的 profile 默认配置为: - insert: - id: paste-to-path name: dsh-paste-to-path config: takeOverNativeAttachments: false longTextAsAttachment: true longTextThreshold: 8000 接管关闭时,P2P 不注册自己的文件选择器和 Dock,也不会拦截普通文件的粘贴与拖放。接管开启时,下文介绍的完整经典 P2P 工作流才会生效。 设置界面会跟随 DSH 的 Language 偏好,目前提供英文和简体中文;发送给 Agent 的路径说明仍保持稳定的英文协议文本。 文件存储 有 workspace 时,附件保存在: /.dsh/pastes// 没有 workspace 时回退到: $DSH_HOME/tmp-paste// 复制到插件存储目录的文件权限为: 0600 把已经存在于 Host 的路径粘贴成附件时,插件只原地引用:不会复制文件、修改其权限,也不会允许 Dock 编辑原文件。 从 Dock 中移除一个附件,只会移除当前草稿里的引用,不会删除磁盘上的文件。 这样在撤销、重新发送或重新引用附件时,原来的路径仍然有效。 隐私 通过选择、拖放或浏览器 File 对象进入的文件会上传到你自己的 DSH Host,并保存在 Host 的本地文件系统中;已经存在的 Host 路径只会被原地引用。 在经典接管模式下,插件所有 HTTP 路由都会经过 DSH 的浏览器鉴权与 Host/Origin 信任检查;附件记录按会话隔离,路由注册也由插件的 Cordis 生命周期负责回收。 插件本身不会: - 把文件直接上传给模型供应商 - 上传到第三方文件服务 - 在上传阶段解析文件内容 首次模型请求中出现的只是文件路径和一条简短说明。 如果 Agent 后续调用其他工具或外部服务处理文件,则以对应工具自己的行为和配置为准。 设计边界 dsh-paste-to-path 只负责这一段: File ↓ Attachment Dock ↓ Host filesystem ↓ Path reference 至于: Path ↓ Vision / PDF Reader / OCR / Shell / ... 属于 Agent 的工具层。 因此插件不会: - 修改或替换模型 adapter - 伪装模型具备视觉能力 - 绑定固定的 vision / OCR / document 工具 - 在传输阶段解析附件内容 - 生成 DSH 原生 image content block 兼容性 最终版本 0.0.7 面向: DeepSeek Harness >= 0.1.5-rc.1 且 < 0.2.0 该版本已在 DSH 0.1.6-alpha.2 上完成测试。仍在维护旧版 DSH、且没有官方通用文件附件能力的用户,可以固定使用 dsh-paste-to-path@0.0.6。 由于 DSH 官方已经接手并持续维护本项目最初补齐的附件架构,因此不再计划后续插件版本。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Johnny-xuan/dsh-paste-to-path
粘贴任意文件转为本地路径交给 Agent 处理
相关插件 · UI / 主题
破甲增强版JeffKeeping/dsh-purge-plus
dsh-purge 的非官方分支fork:适配 DeepSeek Harness 0.2.1-rc.2、破甲内核…
★ 387已汉化DeepSeek 客户端
71.9
无代码业务系统平台nocobase/nocobase
NocoBase 是什么
★ 24,804已汉化DSH
71.8
1Panel 服务器面板1Panel-dev/1Panel
全球 250 万+ 自托管用户共同喜爱。
★ 37,350已汉化DSH
71.5
工作状态行动态ccch1mneyyy/working-activity
作者:chimney@ccch1mneyyy。社区项目,非 DeepSeek 官方项目。
★ 664已汉化DSH
71.2
多模型配置管家farion1231/cc-switch
跨平台桌面一体化助手,支持 Claude Code、Codex、OpenCode、DeepSeek Harness 等工具,唯一官网 ccswitch.io
★ 151,506已汉化DSH
71.1
AI 矢量设计工具ZSeven-W/openpencil
全球首个 AI 原生开源矢量设计工具。
★ 7,027已汉化DSH
71.1
这是你的仓库?认领条目