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

交付文件下载 lanyunshijian/dsh-file-download

DeepSeek 客户端
lanyunshijian45 天前有提交已提供中文文档扫描:无法判定兼容 / 相关生态

在浏览器里直接下载 Agent 交付的文件

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

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

相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/lanyunshijian/dsh-file-download.git

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/26·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 45 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
⚪ 扫描:无法判定尚无人工评估
展开查看扫描说明与证据 ↓

已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。

  • · 取源不可用(Error: github tarball HTTP 404 @ https:
  • · api.github.com
  • · repos
  • · lanyunshijian
  • · dsh-file-download
  • · tarball)
扫描于 2026/11/4(0 天前)

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

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 下载Agent交付文件

README

由 DeepSeek 最新模型翻译生成
dsh-file-download 在 DSH 的 Web 界面里直接下载 Agent 交付的文件。 为什么需要它 DSH 的 Web 界面本来只能在宿主机桌面上打开交付的文件。当宿主是一台云端服务器时,这个功能正好是最没用的——你根本没有本地文件夹可以打开。dsh-file-download 补上的就是这个缺口:改为让浏览器下载文件。 插件会列出当前会话中 Agent 通过 present 工具声明的所有文件,并把单个文件、或者全部文件打包成的一个 ZIP,交给浏览器自己的下载管理器。整个过程中文件字节不经过 JavaScript 内存,因此大文件也能直接流式下载。 使用方法 1. 把 bundle 安装进某个 profile(见下方“安装”)。 2. 在 Web 界面打开一个会话,然后刷新页面。 3. 会话标题栏会出现下载交付文件按钮,并带一个数量角标。点开后可以看到已声明的文件、文件大小与描述。 4. 点单个文件的下载,或者在有多个文件时点打包下载全部。 只有当 Agent 用 present 声明过文件时,面板里才有内容;从未声明过文件的会话会显示空状态提示。
展开完整文档(README 剩余 1 节)
dsh-file-download

在 DSH 的 Web 界面里直接下载 Agent 交付的文件。

为什么需要它

DSH 的 Web 界面本来只能在宿主机桌面上打开交付的文件。当宿主是一台云端服务器时,这个功能正好是最没用的——你根本没有本地文件夹可以打开。dsh-file-download 补上的就是这个缺口:改为让浏览器下载文件。

插件会列出当前会话中 Agent 通过 present 工具声明的所有文件,并把单个文件、或者全部文件打包成的一个 ZIP,交给浏览器自己的下载管理器。整个过程中文件字节不经过 JavaScript 内存,因此大文件也能直接流式下载。

使用方法

1. 把 bundle 安装进某个 profile(见下方“安装”)。
2. 在 Web 界面打开一个会话,然后刷新页面。
3. 会话标题栏会出现下载交付文件按钮,并带一个数量角标。点开后可以看到已声明的文件、文件大小与描述。
4. 点单个文件的下载,或者在有多个文件时点打包下载全部。

只有当 Agent 用 present 声明过文件时,面板里才有内容;从未声明过文件的会话会显示空状态提示。

安装

从 npm 安装
dsh plugin --profile web add dsh-file-download

或从本地目录安装
dsh plugin --profile web add /path/to/dsh-file-download

除 Node 内置模块外,本插件没有任何运行时依赖,因此安装不需要构建步骤,也不需要联网拉包。

路由

插件在 Connection 的 /api 认证围栏内注册三个路由,因此自动继承浏览器 Cookie 认证与 Host/Origin 信任校验。另有一个不认证的探活路由。

| 路由 | 用途 |
| GET /api/dsh-file-download.list?sessionId= | JSON 列表:声明路径、文件名、大小、描述,以及 missing 标记 |
| GET\|HEAD /api/dsh-file-download.file?sessionId=&seq=&index= | 以附件形式下载单个已声明文件 |
| GET\|HEAD /api/dsh-file-download.bundle?sessionId= | 把所有可读的已声明文件打包为一个 ZIP |
| GET /dsh-file-download/health | 部署探活:{ ok: true, plugin, version },不涉及任何会话数据 |

安全性质

- 只认坐标,不认路径。 浏览器从不发送文件系统路径,只发送 present 事件坐标(seq + index)。宿主重新读取会话日志、还原声明路径、经组合文件系统解析后再打开文件。
因此无法请求任意路径。
- 响应不泄露宿主路径。 列表只包含声明路径、文件名、大小与描述。
- 下载一律作为附件。 Content-Disposition 同时给出 ASCII 回退名与 RFC 5987 的 filename*,非 ASCII 文件名在所有浏览器都能正确落地;响应带 x-content-type-options: nosniff。
- 单文件下载不设置 Content-Length。 交付文件可能在 stat 与流式发送之间被改动,长度过期会让浏览器一直等待,因此改用分块传输。
- 压缩包条目名经过净化。 去除穿越段、绝对根与控制字符,重名自动加序号后缀。
- 零依赖。 ZIP 写入器仅基于 node:zlib,因此即使 profile 里没有装归档库也能运行。

限制

- 列表来自会话日志里的 present 声明;Agent 写过但没有声明的文件不会出现。
- 单个文件达到或超过 4 GiB、归档达到或超过 4 GiB、或条目数超过 65535 时会明确报错:本写入器不实现 Zip64。
- 下载内容与 Agent 留下的内容逐字节一致,插件不做任何转码或重新编码。

目录结构

| 路径 | 作用 |
| lib/index.js | 宿主半:路由注册、读会话日志、流式发送文件 |
| lib/zip.js | 无依赖的流式 ZIP 写入器 |
| lib/client.js | 浏览器半:标题栏控件、列表面板、下载交接 |
| cordis.patch.yml | bundle 补丁,把插件行插入 profile |
| test/host.test.mjs | 行为测试(路由、响应头、归档合法性) |
| PUBLISHING.md | 发布清单与社区提交指南 |
| CHANGELOG.md | 版本变更记录 |
| evidence/ | 本次构建的验证报告与原始日志 |
| .github/workflows/test.yml | CI:语法检查、行为测试、打包冒烟 |

许可证

MIT
预览分享卡片长什么样 ↓lanyunshijian/dsh-file-download
分享 · DeepSeek Harness Hub
lanyunshijian/dsh-file-download

在浏览器里直接下载 Agent 交付的文件

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