把任意 URL 下载为工作区文件,支持二进制资源
27.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add ZhijiangTang/dsh-fetch-file该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/8) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
- 写入本地文件index.js:63
await writeFile(absPath, Buffer.alloc(0), { flag: overwrite ? 'w' : 'wx' }) - 写入本地文件index.js:77
const out = createWriteStream(absPath, { flags: overwrite ? 'w' : 'wx' }) - 读取本地文件index.js:181
exists = existsSync(absPath) - 发起网络请求index.js:193
response = await fetch(args.url, { signal, redirect: 'follow' }) - 删除本地文件index.js:209
await rm(absPath, { force: true }).catch(() => {}) - 删除本地文件index.js:239
await rm(path.resolve(process.cwd(), dest), { force: true }).catch(() => {})
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- URL下载为工作区文件
- 支持二进制资源
- 流式传输
DSH 插件:把 URL 下载成工作区文件——路径围栏、流式传输、上限 200MB
README
由 DeepSeek 最新模型翻译生成dsh-fetch-file
DSH 插件:把任意 URL 下载为工作区里的文件(二进制友好,流式落盘)。纯 ESM、零依赖、无构建。
简介
download 工具接收一个 URL,跟随重定向抓取响应,流式写入工作区内的文件,返回落盘绝对路径、实际字节数、HTTP 状态码与 Content-Type。适合下载图片、压缩包、PDF、音频、安装包等二进制资源——这正是 web_fetch 不擅长、而模型常常需要的场景。
安装
dsh plugin --profile add file:./plugins/dsh-fetch-file
或发布到 npm 后:
dsh plugin --profile add dsh-fetch-file
参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
| url | string | 是 | — | 要下载的 URL(http/https),自动跟随重定向 |
| dest | string | 否 | URL 的 basename | 保存路径(相对工作区根)。
展开完整文档(README 剩余 1 节)
dsh-fetch-file
DSH 插件:把任意 URL 下载为工作区里的文件(二进制友好,流式落盘)。纯 ESM、零依赖、无构建。
简介
download 工具接收一个 URL,跟随重定向抓取响应,流式写入工作区内的文件,返回落盘绝对路径、实际字节数、HTTP 状态码与 Content-Type。适合下载图片、压缩包、PDF、音频、安装包等二进制资源——这正是 web_fetch 不擅长、而模型常常需要的场景。
安装
dsh plugin --profile add file:./plugins/dsh-fetch-file
或发布到 npm 后:
dsh plugin --profile add dsh-fetch-file
参数
| 参数 | 类型 | 必填 | 默认 | 说明 |
| url | string | 是 | — | 要下载的 URL(http/https),自动跟随重定向 |
| dest | string | 否 | URL 的 basename | 保存路径(相对工作区根)。URL 无 basename 时退化为 download- |
| overwrite | boolean | 否 | false | dest 已存在时是否覆盖;false 且已存在则返回规范错误值 |
输出(规范值)
- 成功:{ ok: true, path, absPath, sizeBytes, status, contentType }(path/absPath 均为绝对路径)
- 失败:{ ok: false, error },error 为字符串(越界/已存在)或对象({ stage: 'http'|'network'|'timeout'|'size'|'aborted'|'fs', ... })。所有失败都走规范值,不抛异常。
与 web_fetch 的区别
| | download(本插件) | web_fetch(内置) |
| 用途 | 下载为文件,落盘到工作区 | 阅读网页,返回正文文本给模型 |
| 内容 | 原始字节,二进制友好(图片/压缩包/PDF…) | 抓取后提取正文,丢弃二进制 |
| 结果 | 文件路径 + 字节数 + 状态码 | 摘要文本 |
| 上限 | maxSizeBytes(默认 200MB) | 受模型上下文/抓取策略限制 |
一句话:需要「拿回来一个文件」用 download,需要「读一篇文章」用 web_fetch。
大小限制
默认单次下载上限 200MB(MAX_SIZE_BYTES = 200 * 1024 * 1024),超限即中止并返回 { ok: false, error: { stage: 'size' } },不会留下半成品文件(失败会清理临时写入)。响应通过流式写入磁盘,不会把整个文件读进内存。抓取超时 120 秒(AbortSignal.timeout)。
安全
- 路径围栏:resolve(dest) 必须位于工作区根(exec.agent.session.header.cwd ?? process.cwd())之内,否则返回 { ok: false, error: 'dest 越出工作区' }。
- 挂载时自检:真实下载一次 https://example.com/ 到临时文件并删除,再验证越界路径被拒绝,证据行打印到日志。
License
MIT预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
ZhijiangTang/dsh-fetch-file
把任意 URL 下载为工作区文件,支持二进制资源
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,379已汉化DSH
72
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,247已汉化DSH
71.3
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 695已汉化DSH
69.8
动画花园资源检索yjl9903/AnimeGarden
動漫花園 镜像站 | 动画 BT 资源聚合站 | 动画 BT 资源开放接口
★ 1,391已汉化DSH
69.2
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 510已汉化MCP
67.9
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。