🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

文件传输助手 flyhigao/dsh-file-transfer

DeepSeek Harness
flyhigao37 天前有提交已提供中文文档扫描:含敏感能力

在文件预览与文件树中直接下载、上传文件

29.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add flyhigao/dsh-file-transfer
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · ui
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/09/30·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 37 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 1 处,展示前 1 条)
  • 写入本地文件
    lib/upload-route.js:303
    const sink = createWriteStream(tempPath, { flags: 'wx', mode: 0o600 });
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 预览中下载文件
  • 文件树上传文件

给 DSH 文档预览加个下载按钮

README

由 DeepSeek 最新模型翻译生成
dsh-file-transfer DeepSeek Harness 文件传输插件:在右侧文件预览工具栏和 Files 文件树的文件夹/文件行尾添加下载与上传按钮。 功能 下载 - 按原文件名下载当前正在预览的文件。 - 通过 DSH 已鉴权、按会话隔离的 workspaceFiles Remote 读取文件;不让浏览器直接访问文件系统。 - 读取文件内容前显示确认框。文件夹下载会先显示扫描进度框,并明确告知只读取目录项和文件大小;扫描完成后再显示压缩前总大小和文件数量,用户确认后才开始 ZIP 打包。 - 压缩前总大小超过 10 GiB 时拒绝下载。若目录列表被截断或无法确认任一文件大小,也会阻止下载,避免少报总量。 - 单个文件大于 1 GiB 时,仅对扩展名判断为文本类的文件创建 ZIP 压缩;二进制/媒体文件不做重复压缩。文件夹始终打 ZIP;确认后对文本类文件抽样,预计压缩收益不足 5% 的文件会原样存储。确认框先显示压缩前大小,压缩开始后会更新为抽样估算的 ZIP 大小。 - 按 2 MiB 分段读取,并在下载过程中校验文件身份和版本。浏览器支持文件系统保存选择器时,ZIP 内容会直接流式写入目标文件,不会把整个压缩包放入内存。传输期间确认框保持打开,取消按钮会中止读取/压缩并删除未完成的目标文件。
展开完整文档(README 剩余 1 节)
dsh-file-transfer

DeepSeek Harness 文件传输插件:在右侧文件预览工具栏和 Files 文件树的文件夹/文件行尾添加下载与上传按钮。

功能

下载

- 按原文件名下载当前正在预览的文件。
- 通过 DSH 已鉴权、按会话隔离的 workspaceFiles Remote 读取文件;不让浏览器直接访问文件系统。
- 读取文件内容前显示确认框。文件夹下载会先显示扫描进度框,并明确告知只读取目录项和文件大小;扫描完成后再显示压缩前总大小和文件数量,用户确认后才开始 ZIP 打包。
- 压缩前总大小超过 10 GiB 时拒绝下载。若目录列表被截断或无法确认任一文件大小,也会阻止下载,避免少报总量。
- 单个文件大于 1 GiB 时,仅对扩展名判断为文本类的文件创建 ZIP 压缩;二进制/媒体文件不做重复压缩。文件夹始终打 ZIP;确认后对文本类文件抽样,预计压缩收益不足 5% 的文件会原样存储。确认框先显示压缩前大小,压缩开始后会更新为抽样估算的 ZIP 大小。
- 按 2 MiB 分段读取,并在下载过程中校验文件身份和版本。浏览器支持文件系统保存选择器时,ZIP 内容会直接流式写入目标文件,不会把整个压缩包放入内存。传输期间确认框保持打开,取消按钮会中止读取/压缩并删除未完成的目标文件。
- 大文件使用浏览器的流式保存选择器;不支持流式保存的浏览器拒绝超过 256 MiB 的输出,避免将数 GiB 数据缓存在内存中。
- 文件不可读、超过限制或下载中途变化时显示具体错误。

上传

- 在文件夹行的下载按钮旁增加上传按钮(📁 reports ↓ ↑),把本地文件直接上传到该文件夹。
- 弹出多选文件对话框,一次可选多个文件排队上传。只支持文件,不做递归文件夹上传。
- 开始传输前先二次确认目标路径、文件数量和总大小,并再次校验当前标签页仍停留在该文件夹所属的会话。
- 单个文件硬上限 1 GiB,超限文件在开始上传前就被拒绝。
- 分块流式直写磁盘:浏览器从磁盘读、Host 边收边写,两侧都不会把整个文件放进内存。
- 显示逐文件字节进度,支持传输中途取消;Host 会清理已落盘的临时文件,取消后不会留下残缺文件。
- 同名文件绝不覆盖:report.txt 会存为 report(1).txt,再上传则为 report(2).txt。
- 上传完成后自动刷新文件树,新文件立即出现。

插件继续遵循 Host 现有的会话和文件系统权限,不会绕过文件授权。

截图

文件夹行同时带下载(↓)和上传(↑)两个按钮,文件行只有下载:

文件夹行上的下载与上传按钮

上传前会再次确认目标文件夹、文件数量和总大小:

上传确认框

上传过程中显示逐文件进度,可随时取消,取消会清理已落盘的临时文件:

上传进度与取消按钮

上传的鉴权方式

下载走 DSH 的 workspaceFiles Remote,它是只读的,所以上传由本插件自己的 Host 路由完成:

POST /dsh-file-transfer/upload?sessionId=&directory=&name=
content-type: application/octet-stream
body: 文件原始字节

该路由不信任浏览器传来的任何文件系统路径:

1. 请求必须同源。
2. sessionId 必须对应一个仍然存活的会话;目标目录通过该会话自己的文件系统 provider,相对会话不可变的 cwd 解析。
3. 解析结果必须落在该会话的工作区内,并且必须是一个已存在的目录。
4. 请求体上限 1 GiB,先落到目标文件夹内的隐藏临时文件。
5. 写完后用原子且不覆盖的硬链接发布最终文件:半截文件不会被看到,已存在的文件也不会被截断或覆盖。同名冲突通过追加 (n) 后缀解决。
6. 任何失败路径都会删除已落盘的临时文件。

该路由由插件的 Host 入口注册,不修改任何 DSH 核心包。

环境要求

- DSH Web 0.1.7-rc.2 或更新版本,并启用文档预览和 workspace file Remote。
- 会话工作区位于 Host 可写入的文件系统上。

安装

在 DSH 插件市场搜索 dsh-file-transfer,安装到所需 profile。安装后重启 DSH Web 服务,并在浏览器中硬刷新页面。

也可以直接从 GitHub 安装:

dsh plugin --profile web add github:flyhigao/dsh-file-transfer

本地开发安装:

dsh plugin --profile web add file:/path/to/dsh-file-transfer

使用

下载

1. 在右侧 Files 文件栏打开一个文件,使其显示在预览页中。
2. 点击预览刷新按钮旁的下载图标。
3. 浏览器会以原始文件名保存文件。点击文件夹行末的下载图标会生成 ZIP,并在压缩包内保留该文件夹作为顶层目录。

所有下载都会先显示确认框,列出压缩前大小和计划采用的处理方式。大于 1 GiB 的单文件,仅在扩展名判断为文本类时使用 ZIP 压缩;疑似二进制/媒体文件不重复压缩。文件夹始终下载为 ZIP,并以文件夹名作为 ZIP 内的顶层目录。10 GiB 限制按压缩前输入总量计算,不按 ZIP 输出大小计算。大文件需要浏览器支持流式保存到指定位置;否则超过 256 MiB 的输出会被拒绝。压缩策略基于扩展名估算,不会检查文件内容,实际压缩率可能不同。

上传

1. 在右侧 Files 文件栏把鼠标移到某个文件夹行,行尾会出现下载图标和上传图标。
2. 点击上传图标(↑)弹出文件选择框,可一次选中多个文件。
3. 在确认框中核对目标文件夹、文件数量和总大小,然后点击开始上传。
4. 上传过程中显示逐文件进度,可随时取消;Host 会删除未完成的临时文件。
5. 上传结束后文件树自动刷新;若存在同名文件,新文件会以 (n) 后缀出现。

包结构

- lib/index.js — Host 插件入口,注册上传路由。
- lib/upload-route.js — 流式、限定在工作区内的上传处理逻辑。
- client/client.js — 客户端下载操作、上传对话框和文件树行尾按钮。
- cordis.patch.yml — 将插件包加入 profile bundle。
- package.json — DSH 可安装 bundle 和客户端注入清单。

预览工具栏通过可叠加的 sidebar.right.tab.document.actions 插槽添加下载按钮。由于 DSH 0.1.7 的 Files 文件树尚无逐行操作插槽,文件/文件夹行尾按钮通过识别当前 Files 页面的 DOM 节点添加。插件不修改 DSH 核心包,但若上游更改文件树结构,可能需要适配。

开发检查

node --check lib/index.js
node --check lib/upload-route.js
node --check client/client.js
npm pack --dry-run

许可证

MIT,详见 LICENSE。
预览分享卡片长什么样 ↓flyhigao/dsh-file-transfer
分享 · DeepSeek Harness Hub
flyhigao/dsh-file-transfer

在文件预览与文件树中直接下载、上传文件

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部